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

Re: GPL issues (Re: sources for Knoppix 4.02)

On 4 July 2006 at 09:31, Klaus Knopper wrote:
| On Mon, Jul 03, 2006 at 12:17:21PM -0700, Ryan Finnie wrote:
| > I see that often, with 2 different styles: package_1.2.3-1+b1 and
| > package_1.2.3-1.0.1, both where package_1.2.3-1 are the only sources
| > available.
| Right, I noticed this, too. Very bad to an automatic script for fetching
| sources. :-(

Let's start from first principles. A Debian package has a name matching a
regexp   package_1.2.3-1_arch.deb.  Note the two underscores delineating the
combined 'upstream-debian' version number.  There is only one hyphen, and it
separates the upstream number from the Debian number.

As a general rule, upstream numbers ought to be unchanged. Sometimes they
need to get modified to preserve sorting (and hence upgrades). 

Debian versions are normally just integers that get incremented. Known
exceptions are 

  i) 'NMUs' or non-maintainer uploads (example: package_1.2.3-1.0.1 which
      guarantees we can insert the next maintainer upload package_1.2.3-2
      which sort higher, as well as new NMUs package_1.2.3-1.0.2 etc.), and

  ii) Binary rebuilds without any maintainer script changes, example
      is package_1.2.3-1+b1 --  here typically only the required binary
      libraries on the build host changed or something.

This is all documented. 

Excpetions can arise when upstrean updates from CVS/SVN are integrated in
between releases. This leads to 'autoconf_2.59.cvs.2006.06.05-1' -- but this
should be clear as an CVS update from the 5th of June 2006 relative to the
2.59 sources.  And there should of course be a matching tarball ...
| > I came across the answer to the first in the Debian
| > documentation: +b# just means it was a manual upload from an
| > architecture porter, so package_1.2.3-1+b1 was really built from the
| > package_1.2.3-1 source package.  package_1.2.3-1.0.1 I'm not sure about,
| > but it looks like packages like that are also built against the
| > package_1.2.3-1 source.

| > Occasionally, the Source: section of a package hints to a different
| > version of a source package, like this:
| > 
| > Package: bash
| > Source: bash (2.05b-2-26)
| > Version: 2.05b-26
| What about this:
| knopper@Koffer:~$ dpkg -s e2fsprogs
| Package: e2fsprogs
| Essential: yes
| Status: install ok installed
| Priority: required
| Section: base
| Installed-Size: 1456
| Maintainer: Theodore Y. Ts'o <tytso@mit.edu>
| Architecture: i386
| Version: 1.38+1.39-WIP-2005.12.31-1
| knopper@Koffer:~$ apt-get source e2fsprogs=1.38+1.39-WIP-2005.12.31-1
| Paketlisten werden gelesen... Fertig
| Abhängigkeitsbaum wird aufgebaut... Fertig
| E: Kann Quellpaket für e2fsprogs nicht finden
| Awful, isn't it? And there is NO hint about the real name of the source
| archive. You really have to GUESS from the versions that the snapshot
| mirror provides.

You can use the 'policy' or 'madison' command with apt-cache (or wrappers as
the 'wajig' program I like). With deb-src entries in apt's sources.list, you
should see the most recent source number.

Hope this helps,  Dirk

Hell, there are no rules here - we're trying to accomplish something. 
                                                  -- Thomas A. Edison

Reply to: