On Sun, 1 Mar 2026, The Wanderer wrote:

On 2026-03-01 at 11:22, Tim Woodall wrote:

How should you construct a dsc for backports that depends on other
backports packages?

I'm not particularly familiar with this, but I do notice one thing that
may be relevant.

Build-Depends: debhelper (>= 9), libncurses-dev, automake, libtool, autoconf, 
comerr-dev (>= 2.1-1.43.3-1~bpo8+1), e2fslibs-dev (>= 1.43.3-1~bpo8+1), 
libblkid-dev, libbz2-dev, liblzo2-dev, libdevmapper-dev, libreadline-dev, 
libselinux1-dev, pkg-config, uuid-dev, zlib

E: Build-Depends dependency for dump cannot be satisfied because candidate 
version of package e2fslibs-dev can't satisfy version requirements
E: Build-Depends dependency for dump cannot be satisfied because candidate 
version of package comerr-dev can't satisfy version requirements

Is there any way to do this just from the control file without pinning?

The versions are available, just not "candidate versions"

comerr-dev:
   Installed: (none)
   Candidate: 2.1-1.42.12-2+deb8u2
   Version table:
      2.1-1.43.3-1~bpo8+1 0
         100 http://archive.debian.org/debian/ jessie-backports/main amd64 
Packages
      2.1-1.42.12-2+deb8u2 0
         500 http://archive.debian.org/debian-security/ jessie/updates/main 
amd64 Packages
      2.1-1.42.12-2+b1 0
         500 http://archive.debian.org/debian/ jessie/main amd64 Packages
e2fslibs-dev:
   Installed: (none)
   Candidate: 1.42.12-2+deb8u2
   Version table:
      1.43.3-1~bpo8+1 0
         100 http://archive.debian.org/debian/ jessie-backports/main amd64 
Packages
      1.42.12-2+deb8u2 0
         500 http://archive.debian.org/debian-security/ jessie/updates/main 
amd64 Packages
      1.42.12-2+b1 0
         500 http://archive.debian.org/debian/ jessie/main amd64 Packages

The jessie-backports entries here have a priority of 100, where the
other entries have a priority of 500.


Yes, this will work, but I don't really want to do it because if I pin backports at 500 then every single backport package will be considered for upgrading.

I've worked around this by directly installing the desired packages from jessie-backports and then the above Build-Depends with the explicit version works.

So this is a half solution, the package will fail to build (well build-dep will fail) if the relevant packages aren't up to a suitable version, but does require me to manually install them.

I've had a quick look at apt source to see if I can patch it to accept the /jessie-backports syntax. I don't think it should be too hard but my 15 minute glance didn't get me much further than an idea of where I'd need to change it but not exactly how to, nor whether it would be easy to make it install from backports similar to how apt-get install does.

This particular case, it turns out, is more complicated than I thought, e2fsprogs Pre-Depends on libext2fs2 and so it's not possible even to do
apt-get install libext2fs2/jessie-backports
due to the Pre-Depends and you have to explicitly include e2fsprogs/jessie-backports too to do the upgrade.

I didn't spot the Pre-Depends when I sent the previous emails to the list, only when I tried manually upgrading the packages did I get an error message that pointed to the problem. But even specifying absolutely everything that needs to upgrade doesn't work as it doesn't consider the backports packages.

pinning the backports repo to 500, doing the apt-get build-dep and then removing the pin might be the only solution, but that will in this case, for example, also upgrade debhelper (which shouldn't matter but isn't what I'm trying to do). Also autoconf will upgrade. Again I don't think it should matter in this case, but my goal is to only upgrade the ext2 library to test that change.

Tim.

Reply via email to