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

Re: policy on binary/package naming convention



On 13-Jan-2006, Michael Gilbert wrote:
> Is there (or should there be) a Debian policy on binary file naming?

Since most executables in Debian packages have existing users from
before the Debian package existed, I can't see any sense in such a
policy unless it says "wherever possible, preserve the existing
upstream filename of executables".

> For example, today I installed the "linhdd" package.

Named to conform with package naming policy (all lower-case).

> To invoke the program, I typed "$ linhdd".  However, I received a
> "command not found" message.  So, I did "$ apt-file search linhdd"
> and found that the binary is actually entitled "linHDD".

No doubt the identical name of the upstream executable file. Existing
users would expect that executable name, and would be rather annoyed
by the Debian package if it installed the file with a different name.

> This happens often enough when installing new packages that it has
> become a nuisance (package linuxdcpp binary is dcpp, etc.).
> 
> This is bad in terms of usability/discoverability.

It would indeed be nice if all upstream developers named user
executables sensibly; however, no Debian policy can enforce that, and
in absence of such an effect, I think preserving the existing name
where possible is the only sensible course.

> I (and I assume most users) expect the binary to be of the same name
> and case as the package name.

The 'mercurial' package has a primary executable of 'hg', and none
called 'mercurial'. All its users expect this, and write documentation
and scripts and other interfaces based on this expectation. How would
your proposed executable naming policy affect this?

> I know how to discover the correct binary, but I would suspect that
> many users do not know apt-file exists; let alone how to use it.
> 
> Man pages often suffer from the same issue.  I install package foo,
> and to learn about it, I type man foo, but there is no man page on
> foo.

To learn about the *package*, you look in the package documentation
directory, /usr/share/doc/foo/.

I would concur with having, for example, a "manifest" in the
documentation directory, telling users about significant files they
have now installed.

> Would a policy that requires binary and man page adherence to the
> package name be feasible and desirable?
> 
> I know that there are multi-binary packages, but usually one can be
> considered the primary (and hence conform to the package name).

For reasons given above, I disagree. Only when it's not possible to
keep the upstream executable name should it be renamed.

-- 
 \        "It is the responsibility of intellectuals to tell the truth |
  `\                                and expose lies."  -- Noam Chomsky |
_o__)                                                                  |
Ben Finney <ben@benfinney.id.au>

Attachment: signature.asc
Description: Digital signature


Reply to: