Source: babel Tags: patch Followup-For: Bug #723789 User: debian-powe...@lists.debian.org Usertags: ppc64el
Hello sirs. Maybe it would be more practical if it used dh_autoreconf, instead of plain autoreconf command, wouldn't it? Anyway, when you set the package to run autoreconf, the Makefile.in files are re-generated, and the patch named debian/patches/banish-rpath.patch loses its effect. So the rpath comes back and the binary looks for the .so objects which were dropped in the past. Looking at the changelog in d/changelog, I see parsifal is set to use only static libs. So, in the patch below, I include a -static flag to parsifal's LDFLAGS. That way, the package builds through to the end -- although with warnings. I also included some flags to unset bool and vector when compiling some files, because those keywords were causing conflict due to macros with the same name. It would also be interesting to fix the clean target, because it is not cleaning the build tree completely. Unfortunately I was not able to do so. In conclusion, I know this is not ideal, but here is a debdiff in which: - I included the usage of dh_autoreconf (with a debian/autoreconf file, since there are more directories to be updated by autoreconf) - There are 2 files within debian/patches. One is to use the flags -Ubool and -Uvector so there is no confusion with the gcc macros. Another is to include the flag -static to Makefile.am, so Makefile.in and subsequent autotools files can be generated without having to patch Makefile.in. Please have a look and let me know if what you think. Thanks and regards. Fernando -- System Information: Debian Release: jessie/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: ppc64el (ppc64le) Kernel: Linux 3.13-1-powerpc64le (SMP w/16 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: sysvinit (via /sbin/init)
diff -Nru babel-1.4.0.dfsg/debian/autoreconf babel-1.4.0.dfsg/debian/autoreconf --- babel-1.4.0.dfsg/debian/autoreconf 1970-01-01 00:00:00.000000000 +0000 +++ babel-1.4.0.dfsg/debian/autoreconf 2015-02-04 15:33:25.000000000 +0000 @@ -0,0 +1,2 @@ +. +runtime diff -Nru babel-1.4.0.dfsg/debian/changelog babel-1.4.0.dfsg/debian/changelog --- babel-1.4.0.dfsg/debian/changelog 2013-05-26 19:33:17.000000000 +0000 +++ babel-1.4.0.dfsg/debian/changelog 2015-02-04 16:11:53.000000000 +0000 @@ -1,3 +1,12 @@ +babel (1.4.0.dfsg-8.2ppc64el1) UNRELEASED; urgency=medium + + * d/patches/ubool-uvector.patch: this is to circumvent a problem with some + defined macros, which cause conflict with the keywords bool and vector. + * d/patches/static.patch: using flag -static within parsifal Makefile.am as + to follow changelog entry in 1.4.0.dfsg-1 to use static lib only. + + -- Fernando Seiti Furusato <ferse...@br.ibm.com> Wed, 04 Feb 2015 16:07:42 +0000 + babel (1.4.0.dfsg-8.2) unstable; urgency=low * Non-maintainer upload. diff -Nru babel-1.4.0.dfsg/debian/control babel-1.4.0.dfsg/debian/control --- babel-1.4.0.dfsg/debian/control 2013-05-26 19:29:56.000000000 +0000 +++ babel-1.4.0.dfsg/debian/control 2015-02-04 16:17:15.000000000 +0000 @@ -3,8 +3,8 @@ Priority: extra Maintainer: "Adam C. Powell, IV" <hazel...@debian.org> Standards-Version: 3.9.1 -Build-Depends: debhelper (>= 5), gfortran, libltdl-dev, libtool, - automake, autoconf, libxml2-dev, default-jdk-builddep | java-gcj-compat-dev, +Build-Depends: debhelper (>= 5), gfortran, libltdl-dev, dh-autoreconf, + libxml2-dev, default-jdk-builddep | java-gcj-compat-dev, fastjar, gcj-jdk | gjdoc, libxerces2-java, libgetopt-java, libxalan2-java, python-all-dev (>= 2.6.6-3~), python-numpy Build-Conflicts: libparsifal-dev diff -Nru babel-1.4.0.dfsg/debian/patches/series babel-1.4.0.dfsg/debian/patches/series --- babel-1.4.0.dfsg/debian/patches/series 2010-01-31 20:48:41.000000000 +0000 +++ babel-1.4.0.dfsg/debian/patches/series 2015-02-04 16:04:08.000000000 +0000 @@ -7,3 +7,5 @@ no-manuals.patch sidlx-pointer.patch sh4-support.patch +ubool-uvector.patch +static.patch diff -Nru babel-1.4.0.dfsg/debian/patches/static.patch babel-1.4.0.dfsg/debian/patches/static.patch --- babel-1.4.0.dfsg/debian/patches/static.patch 1970-01-01 00:00:00.000000000 +0000 +++ babel-1.4.0.dfsg/debian/patches/static.patch 2015-02-04 16:13:31.000000000 +0000 @@ -0,0 +1,13 @@ +This patch sets -static flag to parsifal linker since the package no longer +provides parsifal shared libs. +--- a/runtime/libparsifal/src/Makefile.am ++++ b/runtime/libparsifal/src/Makefile.am +@@ -12,7 +12,7 @@ + libparsifal_la_SOURCES = $(CSOURCES) + + ## RELEASE gets AC_SUBST'ed value from configure.ac: +-libparsifal_la_LDFLAGS = -no-undefined -release @RELEASE@ ++libparsifal_la_LDFLAGS = -no-undefined -release -static @RELEASE@ + + ## target include directory (/usr/include by default): + library_includedir=$(includedir)/libparsifal diff -Nru babel-1.4.0.dfsg/debian/patches/ubool-uvector.patch babel-1.4.0.dfsg/debian/patches/ubool-uvector.patch --- babel-1.4.0.dfsg/debian/patches/ubool-uvector.patch 1970-01-01 00:00:00.000000000 +0000 +++ babel-1.4.0.dfsg/debian/patches/ubool-uvector.patch 2015-02-04 15:32:41.000000000 +0000 @@ -0,0 +1,54 @@ +--- a/lib/sidlstubs/F03/Makefile.am ++++ b/lib/sidlstubs/F03/Makefile.am +@@ -129,21 +129,21 @@ + # Override default F03 macros since automake (as of 1.9.3) doesn't + # really allow us to override preprocessing step. + .F90.o: +- $(CPP) -traditional $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ ++ $(CPP) -traditional -Ubool -Uvector $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + -P -o $(@:.o=.tmp) -x c `test -f '$<' || echo '$(srcdir)/'`$< + sed -e 's/^#pragma.*$$//' < $(@:.o=.tmp) > $(@:.o=$(F90CPPSUFFIX)) + $(PPFCCOMPILE) -c -o $@ $(@:.o=$(F90CPPSUFFIX)) + rm -f $(@:.o=$(F90CPPSUFFIX)) $(@:.o=.tmp) + + .F90.obj: +- $(CPP) -traditional $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ ++ $(CPP) -traditional -Ubool -Uvector $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + -P -o $(@:.obj=.tmp) -x c `test -f '$<' || echo '$(srcdir)/'`$< + sed -e 's/^#pragma.*$$//' < $(@:.obj=.tmp) > $(@:.obj=$(F90CPPSUFFIX)) + $(PPFCCOMPILE) -c -o $@ $(@:.obj=$(F90CPPSUFFIX)) + rm -f $(@:.obj=$(F90CPPSUFFIX)) $(@:.obj=.tmp) + + .F90.lo: +- $(CPP) -traditional $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ ++ $(CPP) -traditional -Ubool -Uvector $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + -P -o $(@:.lo=.tmp) -x c `test -f '$<' || echo '$(srcdir)/'`$< + sed -e 's/^#pragma.*$$//' < $(@:.lo=.tmp) > $(@:.lo=$(F90CPPSUFFIX)) + $(LTPPFCCOMPILE) -c -o $@ $(@:.lo=$(F90CPPSUFFIX)) +--- a/lib/sidlstubs/F90/Makefile.am ++++ b/lib/sidlstubs/F90/Makefile.am +@@ -128,21 +128,21 @@ + # Override default F90 macros since automake (as of 1.9.3) doesn't + # really allow us to override preprocessing step. + .F90.o: +- $(CPP) -traditional $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ ++ $(CPP) -traditional -Ubool -Uvector $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + -P -o $(@:.o=.tmp) -x c `test -f '$<' || echo '$(srcdir)/'`$< + sed -e 's/^#pragma.*$$//' < $(@:.o=.tmp) > $(@:.o=$(F90CPPSUFFIX)) + $(PPFCCOMPILE) -c -o $@ $(@:.o=$(F90CPPSUFFIX)) + rm -f $(@:.o=$(F90CPPSUFFIX)) $(@:.o=.tmp) + + .F90.obj: +- $(CPP) -traditional $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ ++ $(CPP) -traditional -Ubool -Uvector $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + -P -o $(@:.obj=.tmp) -x c `test -f '$<' || echo '$(srcdir)/'`$< + sed -e 's/^#pragma.*$$//' < $(@:.obj=.tmp) > $(@:.obj=$(F90CPPSUFFIX)) + $(PPFCCOMPILE) -c -o $@ $(@:.obj=$(F90CPPSUFFIX)) + rm -f $(@:.obj=$(F90CPPSUFFIX)) $(@:.obj=.tmp) + + .F90.lo: +- $(CPP) -traditional $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ ++ $(CPP) -traditional -Ubool -Uvector $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + -P -o $(@:.lo=.tmp) -x c `test -f '$<' || echo '$(srcdir)/'`$< + sed -e 's/^#pragma.*$$//' < $(@:.lo=.tmp) > $(@:.lo=$(F90CPPSUFFIX)) + $(LTPPFCCOMPILE) -c -o $@ $(@:.lo=$(F90CPPSUFFIX)) diff -Nru babel-1.4.0.dfsg/debian/rules babel-1.4.0.dfsg/debian/rules --- babel-1.4.0.dfsg/debian/rules 2013-05-26 19:30:28.000000000 +0000 +++ babel-1.4.0.dfsg/debian/rules 2015-02-04 15:33:14.000000000 +0000 @@ -6,14 +6,7 @@ stamp-configure: dh_testdir - (cd runtime && libtoolize --force) - (cd runtime && aclocal) - (cd runtime && automake) - (cd runtime && autoconf) - libtoolize --force - aclocal - automake - autoconf + dh_autoreconf JNI_INCLUDES=-I/usr/lib/jvm/java-gcj/include \ PYTHON=python ./configure --prefix=/usr touch $@ @@ -54,6 +47,7 @@ # This is left by a quilt push/pop sequence rm -rf .pc rm -f stamp-configure stamp-build* + dh_autoreconf_clean dh_clean install: build $(PYOTHERS:%=install-python%)