19

It's all very confusing. There are different examples out there, for e.g.:

<package-name>_<epoch>:<upstream-version>-<debian.version>-<architecture>.deb

source: debian package file names

Is section 5.6.12 Version or the Debian Policy Manual also related to the actual package filename too? Or only to the fields in the control file?

In this wiki topic about repository formats it doesn't really say anything about conventions, same in the developers best practices guide.

Maybe I'm just looking for the wrong thing, please help me and tell me where to find the Debian package name conventions. I'm especially curious where to put the Debian codename. I want to do something like this:

<package-name>_<version>.<revision>-<debiancodename>_<architecture>.deb

where <debiancodename> is just squeeze or wheezy.

5
  • The section of the policy only refers to the changes file. Just rename the deb and adjust the .changes file Oct 23, 2013 at 18:58
  • means there are no conventions about the filenames for .deb files?
    – Preexo
    Oct 25, 2013 at 14:05
  • 1
    @prexo there are but there is no formal definition. And if you want to adjust the filename just rename the deb and adjust the changes file. If you don't do an upload it would be sufficient to just rename the deb file Oct 25, 2013 at 14:52
  • thanks! yes I'm not uploading so problem is kinda solved ;) make an answer with that and maybe about how strict the conventions are and I'll accept it as an answer :)
    – Preexo
    Oct 31, 2013 at 10:14
  • debian reference seems to have changed the name structure it tells for Debian package files. Table 2.16 tells in its invalid regular expression that uppercase letters are allowed in package-name part, but Debian Policy Manual v4.5.1.0 tells that package name must be in lowercase.
    – jarno
    Feb 5, 2021 at 22:06

1 Answer 1

14

My understanding is that you want to distribute/deploy a package to multiple Debian based distributions.

In the Debian/Ubuntu world, you should not provide individual .deb file to download and install. Instead you should provide an APT repository. (in the Fedora/Red Hat/CentOS world I would make a similar advice to provide a YUM repository). Not only does is solves issue of how to name deb file, but repository is an effective way to provide newer version of your package, including bug-fix and security updates. Creating an APT repository is beyond the purpose of this page/question, just search for "how to setup an apt repository"

Now back to your question: "package naming convention":

When you generate the package with dpkg-buildpackage, the package will be named in a standard way. Quoting dpkg-name manpage:

A full package name consists of package_version_architecture.package-type as specified in the control file of the package.

package_version_architecture.package-type

The Debian Policy is the right place to know the syntax of the control files: name (for both Source and binary packages), version, architecture, package-type.

There is no provision to state the distribution, because this is not how the way thing goes.

If you need to compile the same version of a package for multiple distributions, you will change the version field (in the debian/changelog and debian/control file). Some people use the distribution name in the version field. for example openssl:

0.9.8o-4squeeze14 
1.0.1e-2+deb7u14
1.0.1k-1 

If that's what you want to do, make sure to read debian-policy about debian_revision in version.

2
  • It would seem like the 2+deb7u14 format is the most prevalent. I can't really tell, but does anyone know what the 14 in this case would refer to? Is it the 14th modification of the package's Debian release, or does it mean Debian 7.14? Looking at the fact that some packages have higher numbers than the latest minor version of Debian, makes me think it's the former. Dec 29, 2020 at 10:57
  • @steenSchutt it means that it is the 14th version since being ported to Debian (different than the version or release which are both referring to the changes since release.) Ubuntu uses the same nomenclature. I think I have my source here saved to bookmarks. If so, I will post it below.
    – Nate T
    Sep 18, 2021 at 0:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.