16

Today I checked out my upgrades and saw 63 upgrades in Debian testing. Fine. I got curious because most of them are held back, so I used -V to see the versions. To my surprise, most of them where upgrading to +b1 or +b2 versions. Like a good boy I do apt-get changelog libc6 (yeah, that one is important) just to see that the changelog has no +b1 version. So, what are these versions for?

sudo apt-get -V upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages have been kept back:
   gdm3 (3.4.1-9 => 3.4.1-9+b1)
   libalgorithm-diff-xs-perl (0.04-2+b2 => 0.04-2+b3)
   libapt-pkg-perl (0.1.29 => 0.1.29+b1)
   libcairo-perl (1.103-2 => 1.103-2+b1)
   libclass-c3-xs-perl (0.13-1+b2 => 0.13-1+b3)
   libclone-perl (0.34-1 => 0.34-1+b1)
   libcrypt-blowfish-perl (2.14-1 => 2.14-1+b1)
   libcrypt-openssl-bignum-perl (0.04-4 => 0.04-4+b1)
   libcrypt-ssleay-perl (0.58-1 => 0.58-1+b1)
   libdbd-mysql-perl (4.023-1 => 4.023-1+b1)
   libdbi-perl (1.628-1 => 1.628-1+b1)
   libdigest-crc-perl (0.18-1+b1 => 0.18-1+b2)
   libdigest-md4-perl (1.9+dfsg-1 => 1.9+dfsg-1+b1)
   libfile-fcntllock-perl (0.14-2 => 0.14-2+b1)
   libfile-fnmatch-perl (0.02-1+b2 => 0.02-1+b3)
   libglib-perl (1.301-1 => 1.301-1+b1)
   libgtk2-perl (1.247-2 => 1.247-2+b1)
   libhtml-parser-perl (3.71-1 => 3.71-1+b1)
   libio-pty-perl (1.08-1+b2 => 1.08-1+b3)
   libjson-xs-perl (2.340-1 => 2.340-1+b1)
   liblist-moreutils-perl (0.33-1+b1 => 0.33-1+b2)
   liblocale-gettext-perl (1.05-7+b1 => 1.05-7+b2)
   libmath-bigint-gmp-perl (1.37-2 => 1.37-3)
   libnet-dbus-perl (1.0.0-2 => 1.0.0-2+b1)
   libnet-dns-perl (0.68-1.1 => 0.68-1.2)
   libnet-pcap-perl (0.17-1 => 0.17-1+b1)
   libnet-rawip-perl (0.25-1+b2 => 0.25-1+b3)
   libnet-ssleay-perl (1.55-1 => 1.55-1+b2)
   libpam-systemd (44-12 => 44-12+b1)
   libpango-perl (1.224-2 => 1.224-2+b1)
   libparams-util-perl (1.07-1 => 1.07-1+b1)
   libpurple0 (2.10.7-2 => 2.10.7-2+b1)
   libsocket-perl (2.011-1 => 2.011-1+b1)
   libsocket6-perl (0.23-1+b2 => 0.23-1+b3)
   libsub-name-perl (0.05-1+b2 => 0.05-1+b3)
   libsvn1 (1.6.17dfsg-4.1+b1 => 1.7.9-1+nmu4)
   libterm-readkey-perl (2.30-4+b2 => 2.30-4+b3)
   libterm-readline-gnu-perl (1.20-2+b1 => 1.20-2+b2)
   libtext-charwidth-perl (0.04-7+b1 => 0.04-7+b2)
   libtext-iconv-perl (1.7-5 => 1.7-5+b1)
   libuuid-perl (0.02-5 => 0.02-5+b1)
   libxml-libxml-perl (2.0010+dfsg-1 => 2.0010+dfsg-1+b1)
   libxml-parser-perl (2.41-1+b1 => 2.41-1+b2)
   libyaml-libyaml-perl (0.38-3 => 0.38-3+b1)
   perl (5.14.2-21 => 5.18.1-3)
   perl-base (5.14.2-21 => 5.18.1-3)
   perl-modules (5.14.2-21 => 5.18.1-3)
   perl-tk (804.031-1 => 804.031-1+b1)
   subversion (1.6.17dfsg-4.1+b1 => 1.7.9-1+nmu4)
   systemd (44-12 => 44-12+b1)
   vim (7.3.923-3 => 7.3.923-3+b1)
   vim-common (7.3.923-3 => 7.3.923-3+b1)
   vim-gtk (7.3.923-3 => 7.3.923-3+b1)
   xchat (2.8.8-7.1 => 2.8.8-7.1+b1)
   xserver-xorg-core (1.12.4-6.1 => 1.12.4-6.2+b1)
The following packages will be upgraded:
   libc-dev-bin (2.17-92 => 2.17-92+b1)
   libc6 (2.17-92 => 2.17-92+b1)
   libc6-dbg (2.17-92 => 2.17-92+b1)
   libc6-dev (2.17-92 => 2.17-92+b1)
   libc6-i686 (2.17-92 => 2.17-92+b1)
apt-cache policy libc6
libc6:
  Installed: 2.17-92
  Candidate: 2.17-92+b1
  Version table:
     2.17-92+b1 0
        500 http://ftp.us.debian.org/debian/ testing/main i386 Packages
        500 http://http.debian.net/debian/ jessie/main i386 Packages
 *** 2.17-92 0
        100 /var/lib/dpkg/status
apt-get changelog libc6
eglibc (2.17-92) unstable; urgency=low

  * kfreebsd/local-sysdeps.diff: update to revision 4839 (from glibc-bsd).

 -- Petr Salinger <[email protected]>  Wed, 31 Jul 2013 22:38:47 +0100

eglibc (2.17-91) unstable; urgency=low

  [ Petr Salinger ]
  * switch libpthread implementation on kfreebsd-* to fbtl.
    Closes: #703545. Closes: #665287. Closes: #683825. Closes: #489066.
  * split some parts of kfreebsd/local-linuxthreads29.diff
    into  kfreebsd/local-nscd-no-sockcloexec.diff and
          kfreebsd/local-linuxthreads-tlsdesc.diff
  * add kfreebsd/local-fbtl.diff and kfreebsd/local-fbtl-depends.diff
  * kfreebsd/local-sysdeps.diff: update to revision 4809 (from glibc-bsd).
    Closes: #718181. Addresses: #717032 in new binutils.
  * update testsuite-checking/expected-results-*-kfreebsd-gnu-*
    by fbtl tests that are known to fail.
(snip)

2 Answers 2

14

+bX means a binary non-maintainer upload. If you actually check the Debian changelog in the downloaded package (/usr/share/doc/package/changelog.Debian.gz or …/changelog.Debian.arch.gz) it should show up there, and explain why it was needed.

The Developer's Reference documents this in Recompilation or binary-only NMU.

To save you the download:

eglibc (2.17-92+b1) sid; urgency=low, binary-only=yes

  * Binary-only non-maintainer upload for amd64; no source changes.
  * Rebuild against libaudit1

 -- amd64 Build Daemon (binet) <[email protected]>  Wed, 31 Jul 2013 22:38:47 +0100
12
  • So I have to download them to see the changes... what a hassle! :/
    – Braiam
    Sep 9, 2013 at 22:49
  • @Braiam Yes, I believe you have to download them. Found the changelog; I'll post it in the answer for you.
    – derobert
    Sep 9, 2013 at 22:53
  • Well, I'm downloading 63, so statistics are on my side :S.
    – Braiam
    Sep 9, 2013 at 22:54
  • 1
    @Braiam turns out it goes into an architecture-specific changelog file in the binary package (makes sense, I guess). Posted it into the answer as well as the path.
    – derobert
    Sep 9, 2013 at 22:57
  • 2
    @Totor a 'binary-only upload' means only the binary changed—it was built from exactly the same source. Common reason would be (for example) to use a new version of a library.
    – derobert
    Jan 3, 2014 at 1:21
0

All that @derobert posted above is right. Here are the commands to follow this steps:

  • Download the package e.g.

    apt download <package>            # e.g. $ apt download bash
    
  • Extract

    dpkg -X <package> <extraction-dir>   # e.g $ dpkg -X bash /tmp/bash
    

    or use the ar command

    mkdir /tmp/<dir>     
    ar xv <package> --output /tmp/<dir>   # e.g. $ ar xv bash.deb --output /tmp/bash
    

    and untar the data archive:

    tar xvf /tmp/<dir>/data.tar.xz
    
  • View the Changelog

    You can view the log files in the extracted /usr/share/doc/<package>/ directory. E.g. use the zless command:

    zless /tmp/<dir>/usr/share/doc/<package>/changelog.Debian.amd64.gz
    

    This is the changelog where usual the +b builds are mentioned (for amd64 architectures).

    As an alternative you can also use the following command

    dpkg-parsechangelog -l /tmp/<dir>/usr/share/doc/<package>/changelog.Debian.amd64.gz
    

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .