Determining a .deb's intended Debian Version

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Determining a .deb's intended Debian Version

Christopher Crammond
Hello:

I was wondering if someone could provide me with some additional
information related to Debian packaging.  Specifically, I would like to
know if there is a way to determine which version of Debian that a
package belongs to?

For instance, the control file of the dpkg_1.10.28_i386.deb file looks
like this:

Package: dpkg
Version: 1.10.28
Section: base
Priority: required
Architecture: i386
Essential: yes
Pre-Depends: dselect, libc6 (>= 2.3.2.ds1-21)
Conflicts: sysvinit (<< 2.82-1), dpkg-iasearch (<< 0.11), dpkg-static, dpkg-dev (<< 1.10)
Replaces: dpkg-doc-ja, dpkg-static, manpages-de (<= 0.4-3)
Installed-Size: 5636
Origin: debian
Maintainer: Dpkg Development <[hidden email]>
Bugs: debbugs://bugs.debian.org
Description: Package maintenance system for Debian
 This package contains the programs which handle the installation and
 removal of packages on your system.
 .
 The primary interface for the dpkg suite is the `dselect' program;
 a more low-level and less user-friendly interface is available in
 the form of the `dpkg' command.
 .
 In order to unpack and build Debian source packages you will need to
 install the developers' package `dpkg-dev' as well as this one.


I can see that the origin is indeed Debian; however, is there anyway to
determine which version of Debian this is targeted for (ie. 3.0, 3.1,
etc...)?

As a comparison, RPM offers an optional field for Distribution.  While
not required, most packages to fill in this field and it provides of
means of determine the intended flavor of Linux.

Thank-you,
-- christopher

--
Christopher Crammond, Software Engineer
Open Country, Inc.
[hidden email]
650.591.8080 ext 246


--
To UNSUBSCRIBE, email to [hidden email]
with a subject of "unsubscribe". Trouble? Contact [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Determining a .deb's intended Debian Version

Russ Allbery
Christopher Crammond <[hidden email]> writes:

> I was wondering if someone could provide me with some additional
> information related to Debian packaging.  Specifically, I would like to
> know if there is a way to determine which version of Debian that a
> package belongs to?

Any version of Debian that satisfies the package dependencies.

> As a comparison, RPM offers an optional field for Distribution.  While
> not required, most packages to fill in this field and it provides of
> means of determine the intended flavor of Linux.

That's because most RPMs don't use dependencies properly, so this sort of
hack is required.

--
Russ Allbery ([hidden email])             <http://www.eyrie.org/~eagle/>


--
To UNSUBSCRIBE, email to [hidden email]
with a subject of "unsubscribe". Trouble? Contact [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Determining a .deb's intended Debian Version

Josselin Mouette
In reply to this post by Christopher Crammond
Le mercredi 09 novembre 2005 à 13:12 -0800, Christopher Crammond a
écrit :
> Hello:
>
> I was wondering if someone could provide me with some additional
> information related to Debian packaging.  Specifically, I would like to
> know if there is a way to determine which version of Debian that a
> package belongs to?
>
> For instance, the control file of the dpkg_1.10.28_i386.deb file looks
> like this:

> I can see that the origin is indeed Debian; however, is there anyway to
> determine which version of Debian this is targeted for (ie. 3.0, 3.1,
> etc...)?

Looking at the Package tracking system:
http://packages.qa.debian.org/d/dpkg.html
you can see that this version is the stable (Debian 3.1) version.

Regards,
--
 .''`.           Josselin Mouette        /\./\
: :' :           [hidden email]
`. `'                        [hidden email]
  `-  Debian GNU/Linux -- The power of freedom

signature.asc (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Determining a .deb's intended Debian Version

Daniel Ruoso
In reply to this post by Christopher Crammond
Em Qua, 2005-11-09 às 13:12 -0800, Christopher Crammond escreveu:
> I was wondering if someone could provide me with some additional
> information related to Debian packaging.  Specifically, I would like to
> know if there is a way to determine which version of Debian that a
> package belongs to?

Optionally, you can see where the dependencies for that package can be
satisfied. In general, libc6 dependancy will be sufficient.

> Pre-Depends: dselect, libc6 (>= 2.3.2.ds1-21)

on http://packages.debian.org/libc6 you'll see

stable (base): GNU C Library: Shared libraries and Timezone data
2.3.2.ds1-22: amd64 arm hppa i386 m68k mips mipsel powerpc s390 sparc

so, it's for stable.

But if it's not a package provided by debian, you probably want to
rebuild the package, unless you're sure the package was built for that
distribution.

For example, I was trying to use phonegaim (debian sources available in
linspire site). But then it needs the gizmo-project package (not
depends, but recommended) which is available only as a binary package
from the gizmo-project site.

Apparently, the package is for stable, but it's uninstallable in stable
because of other libraries which are in a older version in stable than
that used to compile the package. Unfortunally, as I couldn't get the
source for this gizmo thing, I gave up using phonegaim. But anyway,
having the sources, there is a good chance to get it working inside your
stable box. And working good.

daniel




--
To UNSUBSCRIBE, email to [hidden email]
with a subject of "unsubscribe". Trouble? Contact [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Determining a .deb's intended Debian Version

Marc 'HE' Brockschmidt
In reply to this post by Christopher Crammond
Christopher Crammond <[hidden email]> writes:
> I was wondering if someone could provide me with some additional
> information related to Debian packaging.  Specifically, I would like to
> know if there is a way to determine which version of Debian that a
> package belongs to?

No. Almost all packages in stable have been uploaded to unstable, were
migrated to testing and then were released as stable. We would have to
do new uploads for each of these transitions to keep such a field
updated.

Why do you need it, anyway?

Marc
--
BOFH #408:
Computers under water due to SYN flooding.

attachment0 (194 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Determining a .deb's intended Debian Version

Bernd Eckenfels
In reply to this post by Christopher Crammond
In article <[hidden email]> you wrote:
> I was wondering if someone could provide me with some additional
> information related to Debian packaging.  Specifically, I would like to
> know if there is a way to determine which version of Debian that a
> package belongs to?

You can check if it belongs currently to a version bymeans of the signed
package file.

http://ftp.de.debian.org/debian/dists/Debian3.1r0/Release{,.gpg}

is the release file with the associated signature, which lists the md5sums
of the package files. And the package files list the version of the packages
and the checksum of the archive file in:

http://ftp.de.debian.org/debian/dists/Debian3.1r0/main/binary-i386/Packages

Gruss
Bernd


--
To UNSUBSCRIBE, email to [hidden email]
with a subject of "unsubscribe". Trouble? Contact [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Determining a .deb's intended Debian Version

Christopher Crammond
In reply to this post by Marc 'HE' Brockschmidt
Suppose you have a repository stuffed full of binary packages, in this case Debian Packages.  If you were unlucky enough to have them in a rather un-organized fashion, I was just wondering if the package file itself would provide said information to allow me to write a program to sort them out.

-- christopher

Marc 'HE' Brockschmidt wrote:
Christopher Crammond [hidden email] writes:
  
I was wondering if someone could provide me with some additional
information related to Debian packaging.  Specifically, I would like to
know if there is a way to determine which version of Debian that a
package belongs to?
    

No. Almost all packages in stable have been uploaded to unstable, were
migrated to testing and then were released as stable. We would have to
do new uploads for each of these transitions to keep such a field
updated.

Why do you need it, anyway?

Marc
  

!DSPAM:4373032e716371204020884!

-- 
Christopher Crammond, Software Engineer
Open Country, Inc.
[hidden email]
650.591.8080 ext 246
Reply | Threaded
Open this post in threaded view
|

Re: Determining a .deb's intended Debian Version

Erik Schanze
Hi,

Christopher Crammond Christopher Crammond <[hidden email]>:
> Suppose you have a repository stuffed full of binary packages, in
> this case Debian Packages.  If you were unlucky enough to have them
> in a rather un-organized fashion, I was just wondering if the package
> file itself would provide said information to allow me to write a
> program to sort them out.
>
You are looking for apt-move.


Kindly regards,

Erik


--
 www.ErikSchanze.de *********************************************
 Bitte keine HTML-E-Mails! No HTML mails, please! Limit: 100 kB *
            COMTEC in Dresden, 09. - 11. November 2005          *
              Info: http://www.messe-comtec.de/                 *


--
To UNSUBSCRIBE, email to [hidden email]
with a subject of "unsubscribe". Trouble? Contact [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Determining a .deb's intended Debian Version

Peter Samuelson
In reply to this post by Christopher Crammond

[Christopher Crammond]
> Suppose you have a repository stuffed full of binary packages, in
> this case Debian Packages.  If you were unlucky enough to have them
> in a rather un-organized fashion, I was just wondering if the package
> file itself would provide said information to allow me to write a
> program to sort them out.

The tool you have is the Depends line in each package.  You can
retrieve this information using 'dpkg --info'.

Specifically, over half of Debian packages declare a dependency on
'libc6', usually greater than or equal to a particular version.  The
required libc6 version corresponds to distributions like so:

  libc6 (>= 2.1.something)         Debian 2.2 (potato)
  libc6 (>= 2.2.5-something)       Debian 3.0 (woody)
  libc6 (>= 2.3.2.ds1-something)   Debian 3.1 (sarge)
  libc6 (>= 2.3.5-something)       Debian etch or sid

Packages that don't depend on libc6 often depend on something else that
will give away the game, like perl.  Potato shipped with perl 5.005 or
so, woody with perl 5.6.1, sarge with perl 5.8.4, and etch currently
has perl 5.8.7.  So some perl packages will include versioned
dependencies that provide a clue.

If a package contains no dependencies that tell you what version of
Debian they're intended for, then more than likely it does not matter.
Note also that the way these dependencies are declared, usually a lower
version limit is provided but no upper limit, which means exactly what
you think it means: many if not most woody packages will install and
run correctly on sarge, and so forth.

signature.asc (196 bytes) Download Attachment