Package: bind9
Version: 1:9.10.3.dfsg.P4-10.1
Severity: minor

When libjson-c-dev is installed, the ./configure step detects its presence, and 
includes libjson libraries in the LIBS variable.

This, in turn, causes debian/export.diff to fail to apply in build-udeb, as the 
LIBS variable contents differ from what that patch expected.

Rejected hunk (snip), ./lib/irs/Makefile.rej:

-LIBS =         -ldl  -L../../lib/isc -L../../lib/dns -L../../lib/isccfg 
-lcrypto -lisc -ldns -lisccfg
+LIBS =         -ldl  -L../../lib/isc -L../../lib/dns -L../../lib/isccfg 
-lcrypto -lisc-export -ldns-export -lisccfg-export

Actual line in build-udeb/lib/irs/Makefile when libjson-c-dev is present:

 LIBS =          -ldl -ljson-c  -L../../lib/isc -L../../lib/dns 
-L../../lib/isccfg -lcrypto -lisc -ldns –lisccfg

(Note the presence of -ljson-c, unexpected by the patch.)

export.diff is applied as part of running sh debian/apply-export-patch, which 
is a command run to fulfill the stamps/configure-udeb target

As I see it, there are three ways to fix this issue (at least, in the specific 
case of a single addition of libjson-c-dev to the LIBS variable):

1. Build-Conflicts, but ew.
2. add --without-libjson to the configure steps (both build and build-udeb, 
problaby)
3. (Preferred, IMO) fix apply-export-patch & export.diff not to be fragile to 
unexpected changes in the LIB variable.

I'll supply a patch for the 3rd option, but also have a patch to do the 2nd 
(which was the quickest way to get a build in my environment).

Reply via email to