There seem to be more and more packages that are dumping programs into /usr/bin or elsewhere and givning them names with end in .pl, .sh, .py, .tcl. etc. I hadn't realized exactly how many there were until I looked through a ls /usr/bin/*.* on my system, and found almost a dozen, like these: /usr/bin/abw2html.pl /usr/bin/bbkeysconf.pl /usr/bin/cm2rem.tcl /usr/bin/collateindex.pl /usr/bin/dpkg-checkdeps.rb /usr/bin/dpkg.rb [ possibly a special case ] /usr/bin/i2e.sh [ somewhat of a special case ] /usr/bin/ttfadmin.sh /usr/bin/wkdemenu.pl I'll bet that most of these are things that were included in an upstream tarball as examples or one-use scripts or what have you and were not really expected to be slapped into /usr/bin. Just look at the number of similarly named programs in the examples directory -- which is fine of course. It's fine too that the maintainers of these packages chose to put the programs in /usr/bin, but I think they should take the time to make them look like regular unix programs, by removing the extensions when they do. I have filed bug reports on most of the above, and on various other programs like these in the past. I think that this is a bad path for us to be going down, for some obvious reasons: - What if the implementation languages changes? - Why should a user care what the implementation language is? - It looks unprofessional and flies in the face of unix tradition. - It's harder to type. (See also bug #189304.) There may already be enough packages doing this, or enough special cases (like i2e.sh, which complements an i2e program but could still stand to be renamed, or dpkg.rb which I don't really know why is in /usr/bin, but obviously cannot be called just dpkg) so that policy cannot outright prohibit the practice, but I feel it should discourage it, and the vast body of scripts in PATH in Debian do not use this naming strategy after all. I suggest something like this be added to section 11.4: When scripts are installed into /usr/bin or other directories in the PATH, the program name should not include an extension such as .sh or .pl that denotes the scripting language currently used to implement it. There may be rare exceptions to this rule, and this does not apply to scripts in /usr/share or to example scripts in /usr/share/doc/*/examples. -- see shy jo
Attachment:
pgpAqrhRwkrrd.pgp
Description: PGP signature