Friday 8 December 2017

Build profile for nopcre2 build in Ubuntu

(please cc me on replies, since I am not subscribed)
Hi,

Context: https://bugs.ubuntu.com/1729075

In Debian, occasionally a package needs different build-time
dependencies per target environment, due to missing packages, behavior
differences, or other reasons. Most of the time, developers don't run
into such issues, but when they do, they're able to resolve them using
arch-qualified build-depends. sbuild respects arch-qualifications so
this results in a working build on all relevant arches.

In [1] I ran into a similar issue: Ubuntu is not able to use the git
package from Debian because

- in Debian, the package uses Build-Depends to allow builds against
pcre2 and older pcre. The first alternative is pcre2, so that is
what Debian uses (good). In backports, pcre2 is not available so
it falls back to the older pcre (also good).

- Ubuntu has pcre2 but it is not part of main[2].

So Ubuntu patches the package to build against the old version of
pcre. That alone would be fine, but it results in the package in
Ubuntu falling out of date. I would like to update the package in
Debian to be usable in Ubuntu as-is to prevent that happening.

If I could use

Build-Depends: libpcre2-dev <!ubuntu> | ...fallback...

then I'd do that and be done.

https://wiki.debian.org/BuildProfileSpec#Derivative_specific_profiles
discourages this application of build profiles and says to prefer
something distribution-agnostic like "nosystemd". Fair enough: if
I could use

Build-Depends: libpcre2-dev <!nopcre2> | ...fallback...

then I'd do that and be done.

Sensible? Any downsides I'm missing?

Thanks,
Jonathan

[1] https://bugs.launchpad.net/ubuntu/+source/git/+bug/1729075
[2] https://bugs.ubuntu.com/1636666

--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel