Re: Updating isc-dhcp udeb to dynamically link bind (was: Bug#762762: nmu fixing bind issues)
On Sun, Oct 5, 2014 at 7:02 PM, Cyril Brulebois wrote:
> Michael Gilbert <mgilbert@debian.org> (2014-10-05):
>> Dear hurd and kfreebsd porters. I plan to upload the attached patch,
>> which along with the previous upload introduces a bind udeb, which
>> will be dynamically linked by the dhcp udeb. Please let me know if
>> this looks ok.
>
> NAK.
>
>> +bind9 (1:9.9.5.dfsg-4.2) unstable; urgency=low
>> +
>> + * Non-maintainer upload.
>> + * Disable parallel build. Closes: #762766
>
> If parallel building worked before you changed things, you get to fix
> the issues rather than working around them. bind9 is a pain to build,
> so having to deal with a forced -j1 is a nasty regression.
It's a rarely used path through the build system (--enable-exportlib),
so it's sort of unsurprising that there was a lurking issue.
Anyway, in the meantime I fixed the problem. Thanks for the prodding.
>> + * Set -fno-delete-null-pointer-checks. Closes: #750760
>> + * Fix dependencies for libbind-export-udeb. Closes: #762762
>
> This udeb doesn't make any sense to me.
>
> $ cat ./debian/libbind-export-udeb/DEBIAN/shlibs
> libdns-export 100 libbind-export-udeb
> libirs-export 91 libbind-export-udeb
> libisc-export 95 libbind-export-udeb
> libisccfg-export 90 libbind-export-udeb
>
> The udeb is unversioned. ABI is going to be broken as usual in later
> uploads, meaning the udeb shipping these shared objects will break
> reverse dependencies:
> /usr/lib/libisccfg-export.so.90.1.0
> /usr/lib/libdns-export.so.100.2.2
> /usr/lib/libirs-export.so.91.0.0
> /usr/lib/libisc-export.so.95.5.0
> /usr/lib/libdns-export.so.100 -> libdns-export.so.100.2.2
> /usr/lib/libisccfg-export.so.90 -> libisccfg-export.so.90.1.0
> /usr/lib/libirs-export.so.91 -> libirs-export.so.91.0.0
> /usr/lib/libisc-export.so.95 -> libisc-export.so.95.5.0
>
> I really fail to see how you could possibly imagine anything could work.
I was trying to avoid an explosion in the number of udebs, but I get
your point now that won't work. I've split up the udebs now so things
can be properly versioned.
> Since we're late in the D-I release cycle, since we're late in the
> release cycle in general (window for transitions closed past month),
> since there was no coordination whatsoever, and since there is
> apparently no well thought through plan, I think I'll oppose isc-dhcp's
> using such a udeb.
Maybe I've addressed your concerns, maybe not, but please consider the
revised changes attached.
Best wishes,
Mike
diff -u bind9-9.9.5.dfsg/debian/changelog bind9-9.9.5.dfsg/debian/changelog
--- bind9-9.9.5.dfsg/debian/changelog
+++ bind9-9.9.5.dfsg/debian/changelog
@@ -1,3 +1,13 @@
+bind9 (1:9.9.5.dfsg-4.2) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Fix intermittent parallel build failure. Closes: #762766
+ * Set -fno-delete-null-pointer-checks. Closes: #750760
+ * Use separate packages for the udebs. Closes: #762762
+ * Don't install configuration files to /usr. Closes: #762948
+
+ -- Michael Gilbert <mgilbert@debian.org> Mon, 06 Oct 2014 01:23:57 +0000
+
bind9 (1:9.9.5.dfsg-4.1) unstable; urgency=low
* Non-maintainer upload.
diff -u bind9-9.9.5.dfsg/debian/control bind9-9.9.5.dfsg/debian/control
--- bind9-9.9.5.dfsg/debian/control
+++ bind9-9.9.5.dfsg/debian/control
@@ -182,15 +182,6 @@
.
This package delivers development files for the exported BIND libraries.
-Package: libbind-export-udeb
-Section: debian-installer
-Architecture: any
-Priority: extra
-Depends: ${shlibs:Depends}
-XC-Package-Type: udeb
-Description: Exported BIND libraries for debian-installer
- libbind-export-udeb is a minimal bind package used by the debian-installer.
-
Package: libdns-export100
Section: libs
Architecture: any
@@ -200,6 +191,13 @@
.
This package delivers the exported libdns shared library.
+Package: libdns-export100-udeb
+Section: debian-installer
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+XC-Package-Type: udeb
+Description: Exported DNS library for debian-installer
+
Package: libisc-export95
Section: libs
Architecture: any
@@ -209,6 +207,13 @@
.
This package delivers the exported libisc shared library.
+Package: libisc-export95-udeb
+Section: debian-installer
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+XC-Package-Type: udeb
+Description: Exported ISC library for debian-installer
+
Package: libisccfg-export90
Section: libs
Architecture: any
@@ -218,6 +223,13 @@
.
This package delivers the exported libisccfg shared library.
+Package: libisccfg-export90-udeb
+Section: debian-installer
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+XC-Package-Type: udeb
+Description: Exported ISC CFG library for debian-installer
+
Package: libirs-export91
Section: libs
Architecture: any
@@ -228,0 +241,7 @@
+
+Package: libirs-export91-udeb
+Section: debian-installer
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+XC-Package-Type: udeb
+Description: Exported IRS library for debian-installer
diff -u bind9-9.9.5.dfsg/debian/rules bind9-9.9.5.dfsg/debian/rules
--- bind9-9.9.5.dfsg/debian/rules
+++ bind9-9.9.5.dfsg/debian/rules
@@ -28,7 +28,7 @@
export MAKEFLAGS += -j$(NUMJOBS)
endif
-export CFLAGS=-fno-strict-aliasing -DDIG_SIGCHASE $(DEBUG) $(OPT)
+export CFLAGS=-fno-strict-aliasing -fno-delete-null-pointer-checks -DDIG_SIGCHASE $(DEBUG) $(OPT)
ifeq ($(DEB_HOST_ARCH_OS),kfreebsd)
EXTRA_FEATURES=--disable-linux-caps --disable-threads
@@ -126,6 +126,7 @@
dh_installdirs
$(MAKE) -C export install DESTDIR=`pwd`/debian/bind9
$(MAKE) install DESTDIR=`pwd`/debian/bind9
+ rm -rf debian/bind9/usr/etc
rm -f debian/bind9/usr/lib/*.la
install -c -o bin -g bin -m 444 debian/db.0 ${ETCBIND}/db.0
install -c -o bin -g bin -m 444 debian/db.0 ${ETCBIND}/db.255
@@ -200,6 +201,10 @@
dh_compress -a
dh_fixperms -a
dh_makeshlibs -a
+ dh_makeshlibs -plibirs-export91 --add-udeb=libirs-export91-udeb
+ dh_makeshlibs -plibisc-export95 --add-udeb=libisc-export95-udeb
+ dh_makeshlibs -plibdns-export100 --add-udeb=libdns-export100-udeb
+ dh_makeshlibs -plibisccfg-export90 --add-udeb=libisccfg-export90-udeb
dh_installdeb -a
dh_shlibdeps -a
for i in $$(sed -n '/^Package:/s/^.* //p' debian/control); do cat debian/vars.in >> debian/$$i.substvars; done
diff -u bind9-9.9.5.dfsg/lib/export/isc/Makefile.in bind9-9.9.5.dfsg/lib/export/isc/Makefile.in
--- bind9-9.9.5.dfsg/lib/export/isc/Makefile.in
+++ bind9-9.9.5.dfsg/lib/export/isc/Makefile.in
@@ -38,7 +38,7 @@
APIOBJS = app_api.@O@ mem_api.@O@ socket_api.@O@ \
task_api.@O@ timer_api.@O@
-ISCDRIVEROBJS = mem.@O@ unix/socket.@O@ task.@O@ timer.@O@ lib.@O@ \
+ISCDRIVEROBJS = mem.@O@ task.@O@ timer.@O@ lib.@O@ \
heap.@O@ #timer module depends on this
UNIXOBJS = @ISC_ISCIPV6_O@ \
only in patch2:
unchanged:
--- bind9-9.9.5.dfsg.orig/debian/libdns-export100-udeb.install
+++ bind9-9.9.5.dfsg/debian/libdns-export100-udeb.install
@@ -0,0 +1 @@
+usr/lib/libdns-export*.so.*
only in patch2:
unchanged:
--- bind9-9.9.5.dfsg.orig/debian/libirs-export91-udeb.install
+++ bind9-9.9.5.dfsg/debian/libirs-export91-udeb.install
@@ -0,0 +1 @@
+usr/lib/libirs-export*.so.*
only in patch2:
unchanged:
--- bind9-9.9.5.dfsg.orig/debian/libisc-export95-udeb.install
+++ bind9-9.9.5.dfsg/debian/libisc-export95-udeb.install
@@ -0,0 +1 @@
+usr/lib/libisc-export*.so.*
only in patch2:
unchanged:
--- bind9-9.9.5.dfsg.orig/debian/libisccfg-export90-udeb.install
+++ bind9-9.9.5.dfsg/debian/libisccfg-export90-udeb.install
@@ -0,0 +1 @@
+usr/lib/libisccfg-export*.so.*
Reply to: