[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: underscores



First I want to thank you for giving my the opportunity to speak on this
subject :-)
>From the discussion so far I will point out that there are two very good
ideas. There are also two ideas which exemplify the problems of
concistancy. For the sake of argument label them:

A:	package-name_1.2.3-1_i386.deb
B:	package_name-1.2.3_1-i386.deb
C:	package_name_1_2_3_1_i386.deb
D:	package-name-1.2.3-1-i386.deb

Now, for those of you who find anything at all attractive in C or D, let
me just say that I have only included them as examples of what a failure
to comply with either A or B would look like. More on that later.

A and B are not identical, and though they may appear to have some symmetry
about them, they impose different solutions to the same problem.

Typical problem: Find the package file for PackageName on PackagePath and
distinguish between man and manpage, or between libc5 and libc5-dev.

Convention A would provoke a line like:

ls $(PackagePath)/$(PackageName)_*.deb

While the solution for Convention B might look like:

ls $(PackagePath)/$(PackageName)*.deb |grep -s $(PackageName)

My only preference to B over A has to do with the "natural" word
separation characters. "_" is not normally used to separate strings into
words, while "-" and others are, therefore, using "_" within words to hold
phrases together is more natural to the default parsing rules for programs
like grep, awk, and others. I do not have the strong conviction for B over
A that I do for concistancy in either solution.
Rules C and D are examples of the parsing difficulties imposed if neither
A nor B are enforced absolutely. Whether rule A or rule B are imposed the
archive maintainer will need to be able to impose the naming rules. The
only thing missing that could make this imposition automated is the
ability of dpkg to replace the control file within an existing package
after extracting and verifying/correcting the package name and probably
the depends and conflicts name lists as well. Making this correction
capability a part of dpkg-name would allow the package maintainer to make
one pass over the existing archive to bring all packages in line, and
verify each new addition/upgrade to the archive with the same technique.
The reason I express this in such detail is, that this requirement for
verification/correction whether convention A or convention B are used
removes the major objection to version B. Convention B imposes no
particular hardship on maintainers as it will not be imparative that they
make these changes. Verification also removes the roadblock of a
maintainer who objects to making these changes. 
My major point is then: Which ever of the available "good choices" are
implemented they need to be implemented *completely* and enforced
uniformly across the distribution or there will only be chaos as a result.

Thanks for your time,

Dwarf

------------                                          --------------

aka   Dale Scheetz                   Phone:   1 (904) 877-0257
      Flexible Software              Fax:     NONE 
      Black Creek Critters           e-mail:  dwarf@polaris.net

------------ If you don't see what you want, just ask --------------


Reply to: