[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: