[pkg-db-devel] Bug#750481: Patch for updating libtool (reconf)

Mauricio Faria de Oliveira mauricfo at linux.vnet.ibm.com
Thu Jun 26 23:44:39 UTC 2014


Package: src:db5.3
Version: 5.3.28-4
Tags: patch

Hi,

Thanks for the first fix attempt.  It helped a /lot/ in understanding
how reconf should be done here.

The package still failed to build as before. After playing for a while,
I added a few changes on top of those in 5.3.28-4, and now the package
is building properly.

For the record, the first fix didn't build shares libraries because it
didn't actually modify dist/aclocal.m4, as libtoolize was not run in
dist/, and it also didn't modify files lang/sql/sqlite files, needed
for libdb5.3-sql{,-dev}.

The attached patch fixes both issues, finishing the build successfully.
I will send another e-mail with some documentation.

May you please consider incorporating it in another upload?

Thank you,

-- 
Mauricio Faria de Oliveira
IBM Linux Technology Center
-------------- next part --------------
diff -Nru db5.3-5.3.28/debian/changelog db5.3-5.3.28/debian/changelog
--- db5.3-5.3.28/debian/changelog	2014-06-23 09:36:32.000000000 -0300
+++ db5.3-5.3.28/debian/changelog	2014-06-26 20:06:49.000000000 -0300
@@ -1,3 +1,14 @@
+db5.3 (5.3.28-4.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Run libtoolize in dist/ (to actually update dist/aclocal.m4)
+  * Run libtoolize and autoconf in lang/sql/sqlite/ (to build sqlite shared libraries),
+    with autoconf performed by dist/s_config (patch: 008-autoconf-in-lang-sql-sqlite).
+  * Accordingly, update the clean and override_dh_auto_configure targets.
+  * Small fixes to the test-file/dir/exist operators and rmdir '-f' argument.
+
+ -- Mauricio Faria de Oliveira <mauricfo at linux.vnet.ibm.com>  Thu, 26 Jun 2014 19:50:04 -0300
+
 db5.3 (5.3.28-4) unstable; urgency=medium
 
   * Add fix for ppc 64K pages needed for OpenLDAP (Courtesy of Cedric Le Goater)
diff -Nru db5.3-5.3.28/debian/patches/008-autoconf-in-lang-sql-sqlite.patch db5.3-5.3.28/debian/patches/008-autoconf-in-lang-sql-sqlite.patch
--- db5.3-5.3.28/debian/patches/008-autoconf-in-lang-sql-sqlite.patch	1969-12-31 21:00:00.000000000 -0300
+++ db5.3-5.3.28/debian/patches/008-autoconf-in-lang-sql-sqlite.patch	2014-06-26 20:06:49.000000000 -0300
@@ -0,0 +1,16 @@
+Index: db5.3-5.3.28/dist/s_config
+===================================================================
+--- db5.3-5.3.28.orig/dist/s_config
++++ db5.3-5.3.28/dist/s_config
+@@ -35,3 +35,11 @@ rm -rf autom4te.cache
+ chmod 755 configure
+ 
+ chmod 755 config.guess config.sub install-sh
++
++echo "autoconf: running autoconf to build configure (lang/sql/sqlite/)"
++cp aclocal.m4 ../lang/sql/sqlite/
++cd ../lang/sql/sqlite/
++rm -f configure
++autoconf
++cd ../../../dist/
++
diff -Nru db5.3-5.3.28/debian/patches/series db5.3-5.3.28/debian/patches/series
--- db5.3-5.3.28/debian/patches/series	2014-06-23 09:36:32.000000000 -0300
+++ db5.3-5.3.28/debian/patches/series	2014-06-26 20:06:49.000000000 -0300
@@ -5,3 +5,4 @@
 006-mutex_alignment.patch
 007-link-sql-libs.patch
 mmap_extend-mode-requires-page-aligned-extends.patch
+008-autoconf-in-lang-sql-sqlite.patch
diff -Nru db5.3-5.3.28/debian/rules db5.3-5.3.28/debian/rules
--- db5.3-5.3.28/debian/rules	2014-06-23 09:36:32.000000000 -0300
+++ db5.3-5.3.28/debian/rules	2014-06-26 20:06:49.000000000 -0300
@@ -123,22 +123,32 @@
 version=$(shell expr `pwd` : '.*-\([0-9.]*\)')
 version_major=$(shell expr `pwd` : '.*-\([0-9]*\).[0-9.]*')
 
-RECONF_FILES=config.hin configure aclocal/libtool.m4 aclocal/ltoptions.m4 \
-	     aclocal/ltversion.m4 config.guess config.sub install-sh ltmain.sh
+LIBTOOL_AUX_FILES=config.guess config.sub install-sh ltmain.sh
+LIBTOOL_MACROS_FILES=libtool.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 lt~obsolete.m4
+
+RECONF_FILES=dist/config.hin \
+             dist/configure \
+             $(patsubst %,dist/%,$(LIBTOOL_AUX_FILES)) \
+             $(patsubst %,dist/aclocal/%,$(LIBTOOL_MACROS_FILES)) \
+             lang/sql/sqlite/aclocal.m4 \
+             lang/sql/sqlite/configure \
+             $(patsubst %,lang/sql/sqlite/%,$(LIBTOOL_AUX_FILES))
 
 %:
 	dh $@ --with=autotools-dev $(DH_PLUGINS)
 
 override_dh_auto_configure:
 	if [ ! -d $(CURDIR)/debian/s_config ]; then \
-	  mkdir $(CURDIR)/debian/s_config/ $(CURDIR)/debian/s_config/aclocal/; \
+	  mkdir -p $(CURDIR)/debian/s_config/dist/aclocal/ \
+	           $(CURDIR)/debian/s_config/lang/sql/sqlite/; \
 	fi
 	for f in $(RECONF_FILES); do \
-	  if [ ! $(CURDIR)/debian/s_config/$$f ]; then \
-	    mv $(CURDIR)/dist/$$f $(CURDIR)/debian/s_config/; \
+	  if [ ! -f $(CURDIR)/debian/s_config/$$f ]; then \
+	    mv $(CURDIR)/$$f $(CURDIR)/debian/s_config/`dirname $$f`; \
 	  fi; \
 	done
-	libtoolize -cfi
+	cd dist && libtoolize -cfi
+	cd lang/sql/sqlite && libtoolize -cfi
 	cd dist && ./s_config
 ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
 	JAVACFLAGS="$(JAVACFLAGS)" dh_auto_configure -Ddist -Bbuild-test -- $(CONFIGURE_SWITCHES) --enable-test
@@ -152,12 +162,17 @@
 	dh_auto_clean -Ddist -Bbuild-production
 	rm -f $(CURDIR)/debian/build_signature.txt
 	for f in $(RECONF_FILES); do \
-	  if [ -e $(CURDIR)/debian/s_config/$$f ]; then \
-	    mv $(CURDIR)/debian/s_config/$$f $(CURDIR)/dist/; \
+	  if [ -f $(CURDIR)/debian/s_config/$$f ]; then \
+	    mv $(CURDIR)/debian/s_config/$$f $(CURDIR)/`dirname $$f`; \
 	  fi; \
 	done
-	if [ -f $(CURDIR)/debian/s_config/ ]; then \
-	  rmdir -f $(CURDIR)/debian/s_config/aclocal/ $(CURDIR)/debian/s_config/; \
+	if [ -d $(CURDIR)/debian/s_config/ ]; then \
+	  rmdir $(CURDIR)/debian/s_config/dist/aclocal/ \
+	        $(CURDIR)/debian/s_config/dist/ \
+	        $(CURDIR)/debian/s_config/lang/sql/sqlite/ \
+	        $(CURDIR)/debian/s_config/lang/sql/ \
+	        $(CURDIR)/debian/s_config/lang/ \
+	        $(CURDIR)/debian/s_config/; \
 	fi
 
 override_dh_auto_test:


More information about the pkg-db-devel mailing list