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

Bug#693970: tpu: libitext-java/2.1.7-3+deb7u1



Package: release.debian.org
Severity: normal
User: release.debian.org@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 <niels@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-maintainers@lists.alioth.debian.org>
 Uploaders: Adriaan Peeters <apeeters@lashout.net>, Torsten Werner <twerner@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

Reply to: