Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: tpu
Hi, A user reported an issue with libitext-java in testing (#687692). In short, the problem was an ABI issue in bouncycastle. The diff between bouncycastle/1.44 and bouncycastle/1.46 is far to large to sanely review and libitext-java is the only package which has any (reported) issues caused by the ABI change. Therefore, simply rebuilding libitext-java in testing (with an upper bound on its dependency) should suffice for this particular problem. Unfortunately, it turns out that libitext-java declares no dependnecies relations (except libitext-java-gcj) in testing at all, which is obvously wrong. In sid, I have taken the liberty of properly fixing this by using javahelper to compute the proper dependency relations automatically (as that version cannot migrate to testing anyway being built against the bouncycastle in sid). The question is then, should I backport the changes for auto-generating the dependencies and insert the upper bound on the bouncycastle dependency -OR- should I simply manually hardcode all the missing dependencies in the tpu upload? I have attached the debdiff between libitext-java in sid and testing to give you an idea of the changes involved. In case you are wondering about the explicit version'ed dependencies in the diff, it is because the tools involved are not able to properly give version bounds on the dependencies[0]. ~Niels [0] Sadly, Java packages do not have a shlibs/symbols system (nor the "rename package on ABI breakage"-proceedure).
Base version: libitext-java_2.1.7-3 from testing Target version: libitext-java_2.1.7-4 from unstable No hints in place. changelog | 11 +++++++++++ control | 11 ++++++----- rules | 21 ++++++++++++--------- 3 files changed, 29 insertions(+), 14 deletions(-) gpgv: keyblock resource `/home/nthykier/.gnupg/trustedkeys.gpg': file open error gpgv: Signature made 2012-04-18T20:11:23 UTC using RSA key ID 974B3E96 gpgv: Can't check signature: public key not found dpkg-source: warning: failed to verify signature on /tmp/tmpOCU1uZ/libitext-java_2.1.7-3.dsc gpgv: keyblock resource `/home/nthykier/.gnupg/trustedkeys.gpg': file open error gpgv: Signature made 2012-09-15T09:09:08 UTC using RSA key ID 7D806442 gpgv: Can't check signature: public key not found dpkg-source: warning: failed to verify signature on /tmp/tmpOCU1uZ/libitext-java_2.1.7-4.dsc diff -Nru libitext-java-2.1.7/debian/changelog libitext-java-2.1.7/debian/changelog --- libitext-java-2.1.7/debian/changelog 2012-04-18 19:47:02.000000000 +0000 +++ libitext-java-2.1.7/debian/changelog 2012-09-15 09:02:39.000000000 +0000 @@ -1,3 +1,14 @@ +libitext-java (2.1.7-4) unstable; urgency=low + + * Team upload. + * Add missing the Class-Path for the java packages. + - Use javahelper to set the classpath. + - Use javahelper to compute dependencies. + * Add versioned (Build-)Dependency on libbcprov-java due to + #687694. + + -- Niels Thykier <ni...@thykier.net> Sat, 15 Sep 2012 11:02:37 +0200 + libitext-java (2.1.7-3) unstable; urgency=low [ Miguel Landaeta ] diff -Nru libitext-java-2.1.7/debian/control libitext-java-2.1.7/debian/control --- libitext-java-2.1.7/debian/control 2012-04-18 15:08:25.000000000 +0000 +++ libitext-java-2.1.7/debian/control 2012-09-15 08:58:02.000000000 +0000 @@ -3,8 +3,9 @@ Priority: optional Maintainer: Debian Java Maintainers <pkg-java-maintain...@lists.alioth.debian.org> Uploaders: Adriaan Peeters <apeet...@lashout.net>, Torsten Werner <twer...@debian.org> -Build-Depends: debhelper (>= 9), cdbs, default-jdk, ant, libbcprov-java, - libbcmail-java, libbctsp-java, libdom4j-java, libpdfrenderer-java, gcj-native-helper +Build-Depends: debhelper (>= 9), cdbs, default-jdk, ant, libbcprov-java (>= 1.46), + libbcmail-java, libbctsp-java, libdom4j-java, libpdfrenderer-java, gcj-native-helper, + javahelper (>= 0.43) Standards-Version: 3.9.3 Homepage: http://www.lowagie.com/iText/ Vcs-Svn: svn://svn.debian.org/svn/pkg-java/trunk/libitext-java @@ -12,7 +13,7 @@ Package: libitext-java Architecture: all -Depends: ${misc:Depends} +Depends: ${misc:Depends}, libbcprov-java (>= 1.46), ${java:Depends} Suggests: libitext-java-gcj Description: Java Library to create and manipulate PDF on the fly iText is a library that allows you to generate PDF files on the fly. @@ -37,14 +38,14 @@ Package: libitext-rtf-java Architecture: all -Depends: libitext-java (= ${binary:Version}), ${misc:Depends} +Depends: libitext-java (= ${binary:Version}), ${misc:Depends}, ${java:Depends} Description: Java Library to create and manipulate RTF files on the fly iText RTF is a library that allows you to generate RTF files on the fly in a similar fashion to iText itself. Package: libitext-rups-java Architecture: all -Depends: libitext-java (= ${binary:Version}), ${misc:Depends} +Depends: libitext-java (= ${binary:Version}), ${misc:Depends}, ${java:Depends} Description: graphical tool for Reading and Updating PDF Syntax (RUPS) iText RUPS provides a GUI for visualizing PDF files and investigating their internal structure. diff -Nru libitext-java-2.1.7/debian/rules libitext-java-2.1.7/debian/rules --- libitext-java-2.1.7/debian/rules 2012-04-18 15:08:25.000000000 +0000 +++ libitext-java-2.1.7/debian/rules 2012-09-15 08:59:49.000000000 +0000 @@ -9,7 +9,9 @@ DEB_ANT_CLEAN_TARGET := DEB_ANT_BUILDFILE := src/build.xml DEB_JARS := bcprov bcmail bctsp dom4j pdfrenderer -CLASS_PATH := /usr/share/java/itext.jar +CORE_CLASS_PATH := /usr/share/java/bcprov.jar /usr/share/java/bcmail.jar /usr/share/java/bctsp.jar +RTF_CLASS_PATH := /usr/share/java/itext.jar /usr/share/java/pdfrenderer.jar /usr/share/java/dom4j.jar +RUPS_CLASS_PATH := /usr/share/java/itext.jar include /usr/share/gcj/debian_defaults ifneq (,$(filter $(DEB_HOST_ARCH), $(gcj_native_archs))) @@ -26,27 +28,28 @@ install/lib$(LIBRARY_PACKAGE)-java:: dh_installdirs -plib$(LIBRARY_PACKAGE)-java usr/share/java + # Add Class-Path + jh_manifest -c "$(CORE_CLASS_PATH)" lib/iText.jar install -m 644 lib/iText.jar debian/lib$(LIBRARY_PACKAGE)-java/usr/share/java/$(LIBRARY_PACKAGE)-$(DEB_UPSTREAM_VERSION).jar dh_link -plib$(LIBRARY_PACKAGE)-java usr/share/java/$(LIBRARY_PACKAGE)-$(DEB_UPSTREAM_VERSION).jar usr/share/java/$(LIBRARY_PACKAGE).jar + jh_depends -plib$(LIBRARY_PACKAGE)-java install/lib$(LIBRARY_PACKAGE)-rtf-java:: dh_installdirs -plib$(LIBRARY_PACKAGE)-rtf-java usr/share/java - # repack with Class-Path - cd lib && \ - jar=iText-rtf.jar ; \ - file=META-INF/MANIFEST.MF ; \ - jar -xf $$jar && \ - sed -i '/^[ \r\t]*$$/d' $$file && \ - /bin/echo -e "Class-Path: $(CLASS_PATH)\r" >> $$file && \ - jar -cfm $$jar $$file com + # Add Class-Path + jh_manifest -c "$(RTF_CLASS_PATH)" lib/iText-rtf.jar # install install -m 644 lib/iText-rtf.jar debian/lib$(LIBRARY_PACKAGE)-rtf-java/usr/share/java/$(LIBRARY_PACKAGE)-rtf-$(DEB_UPSTREAM_VERSION).jar dh_link -plib$(LIBRARY_PACKAGE)-rtf-java usr/share/java/$(LIBRARY_PACKAGE)-rtf-$(DEB_UPSTREAM_VERSION).jar usr/share/java/$(LIBRARY_PACKAGE)-rtf.jar + jh_depends -plib$(LIBRARY_PACKAGE)-rtf-java install/lib$(LIBRARY_PACKAGE)-rups-java:: dh_installdirs -plib$(LIBRARY_PACKAGE)-rups-java usr/share/java + # Add Class-Path + jh_manifest -c "$(RUPS_CLASS_PATH)" lib/iText-rups.jar install -m 644 lib/iText-rups.jar debian/lib$(LIBRARY_PACKAGE)-rups-java/usr/share/java/$(LIBRARY_PACKAGE)-rups-$(DEB_UPSTREAM_VERSION).jar dh_link -plib$(LIBRARY_PACKAGE)-rups-java usr/share/java/$(LIBRARY_PACKAGE)-rups-$(DEB_UPSTREAM_VERSION).jar usr/share/java/$(LIBRARY_PACKAGE)-rups.jar + jh_depends -plib$(LIBRARY_PACKAGE)-rups-java ifeq ($(with_gcj_native),yes) install/libitext-java-gcj:: install/libitext-java Hints needed: unblock libitext-java/2.1.7-4