[clug] apt naming convention

Chris Smart chris at kororaa.org
Mon Jan 8 07:14:13 GMT 2007

Hi Michael, Hi Rob, thanks for the replies.

> Chris,
>   the *-common packages contain common files for the variants of the
> package.
>   Generally you dont really select the *common packages directly, they
> just get
>   selected to fill dependencies. For example vim-gtk is what you might
> want, it
>   will pull in whatever common packages are needed.
Thanks Michael. So generally just stick to the main package name, and if
there are versions I can choose (like apache). I think generally I work it
out ok, it just seemed a little strange to me at first. There were some
things I had a hard time knowing what to install.. I think it was sasl.

> There's some conventions, and there's some stuff left to maintainer
> aesthetics.


> libblahx is the shared library libblah soversion x. If blah ends in
> a digit (or a +) then it's -x. And if there's a reason to support
> parallel API versions, that might be libblax-API-x, but it may not
> be. (The -dev package _will_ show the API version if neccessary).
> A quick survey suggests blah-lib is usually not providing shared
> libraries for system use, but are language-specific libraries for
> non-C languages (eg. guile-1.x-lib, ocaml-libs)
Ok :)

> blah-bin will usually be the binary components of a program, and
> blah-data or blah-common will be the non-binary (ie. non-arch specific)
> components that live in /usr/share and can therefore safely be shared
> across architectures (eg reducing archive duplication, or letting you
> have one NFS-shared /usr/share for a whole network of Debian boxes in
> theory)
Ahh ok, that's a good idea :)

> package-2 and package2 (except in the case of lib* where the style is
> dictated) are maintainer-aesthetics, and usually only occur when there's
> a reason for an earlier version to co-exist with the newer version.
> A lot of the above are because dpkg (as opposed to RPM, I understand?)
> absolutely forbids multiple versions of a package with the same name
> being installed simultaneously.
OK, that makes sense then.

> The only -new packages that came to hand quickly were amavisd-new, and
> that's the actual upstream name (Out of amavis, amavis-perl, amavisd,
> amavis-ng and amavisd-new, only this one seems to have survived [1]),
> and template-new, which is actually known as 'new' upstream, and so it's
> the "template-" that'll confuse the person looking for it by name in
> this case. ^_^
Ok, this was one of the packages I was installing :)

>> Some others make sense to me like postfix-mysql and postfix-ldap,
>> apf-client and apf-server, but in general the naming convention seems
>> strange to me. There is apache-common, apache2-common and
>> apache2.2-common
>> and I'm confused.
> That one's easy. Those're the common files for Apache 1.3, Apache 2.0
> and Apache 2.2.
Yeah, I guessed they were different versions but just plucked it out as an
example of there being so many.
> They basically provide a package modules can depend on to say "I
> implement this ABI". This allows apt to hold back upgrading your
> apache from 2.0 to 2.2 until all the modules you have installed
> can upgrade simultaneously, preventing partial-upgrade breakages.
I see.. so that means a full 2.2 is on the way then, at some stage..
although the repository is frozen, maybe.

> Of course, you can either force the partial upgrade by removing
> the not-updated modules, or you don't get any updates until the
> whole shebang (at least as far as your installation goes) has
> updated. This is the dreaded "transition" that Debian suffers
> a few of fairly soon after each stable release.
Ok, I think I gotcha :)

> Sorry for the length of reply, I've had my head buried in Debian
> RC-bug hunting all evening.
No, thanks I appreciate it. I'm used to a Gentoo world where we don't have
this kind of issue because I can specify any version I want and it's
always the same package name (and then USE flags let me build in support
for whatever I want, such as mysql or ldap etc), but I'm getting there :)

Thanks a bunch!


More information about the linux mailing list