How should you construct a dsc for backports that depends on other backports packages?
In particular, I'm trying to build something on Jessie. I can build it no problem but something isn't quite working the way I expect and I think I need
to use jessie-backports for e2fsprogs.
(If there's a right way to do this that doesn't work on Jessie then that's what I'm looking for, I _can_ solve this problem on Jessie, I just want to learn how it's supposed to work)
My build-Depends is: (This works fine but pulls in the non-backported version
of a couple of libraries.)
Build-Depends: debhelper (>= 9), libncurses-dev, automake, libtool, autoconf,
comerr-dev, e2fslibs-dev, libblkid-dev, libbz2-dev, liblzo2-dev, libdevmapper-dev, libreadline-dev, libselinux1-dev, pkg-config, uuid-dev, zlib
I've tried both:
Build-Depends: debhelper (>= 9), libncurses-dev, automake, libtool, autoconf,
comerr-dev/jessie-backports, e2fslibs-dev/jessie-backports, libblkid-dev, libbz2-dev, liblzo2-dev, libdevmapper-dev, libreadline-dev, libselinux1-dev, pkg-config, uuid-dev, zlib
dpkg-source: error: error occurred while parsing Build-Depends
And setting the version on one or both of the packages:
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
I'm setting up a test to try this on bookworm-backports to see if one of the above works there and this is just due to really old dpkg-source but I thought I'd send the above first to ask...
How should you construct a dsc for backports that depends on otherI'm not particularly familiar with this, but I do notice one thing that
backports packages?
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, zlibThe jessie-backports entries here have a priority of 100, where the
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
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.
On 2026-03-01 at 11:22, Tim Woodall wrote:
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
I've had a quick look at apt source to see if I can patch it to accept
the /jessie-backports syntax.
On 02/03/2026 5:16 am, Tim Woodall wrote:
On 2026-03-01 at 11:22, Tim Woodall wrote:
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
I've had a quick look at apt source to see if I can patch it to accept the >> /jessie-backports syntax.
I do not think it is a bright idea. I expect that pinning specific packages instead of the whole backports repository should work.
Stuff related to specific distributions or code names should be minimized in source packages since it increases maintenance burden.
If I want to build a trixie-backports package, and that must depend on another package in backports, then being able to specify:
dependency/trixie-backports
with or without a version and have apt build-dep install from backports, seems less of a burden than just specifying the version and forcing the person building the package to work out what to do to build it.
If I want to build a trixie-backports package, and that must depend on
another package in backports, then being able to specify:
dependency/trixie-backports
with or without a version and have apt build-dep install from backports,
seems less of a burden than just specifying the version and forcing the
person building the package to work out what to do to build it.
Presumably you say "must depend on another package in backports" because you've discovered that the version of that other package in Trixie is
too old, and that version in backports is not. Along the way, you have
most likely seen both version numbers, so "work out what to do to build
it" doesn't seem like it would be much trouble.
IOW, I must be missing something.
I'm surprised this isn't an existing use case so it's more likely I just don't know the right magic to make it work.
| Sysop: | Jacob Catayoc |
|---|---|
| Location: | Pasay City, Metro Manila, Philippines |
| Users: | 5 |
| Nodes: | 4 (0 / 4) |
| Uptime: | 119:49:31 |
| Calls: | 125 |
| Calls today: | 125 |
| Files: | 489 |
| D/L today: |
859 files (365M bytes) |
| Messages: | 76,568 |
| Posted today: | 26 |