Package: libdoxia-java
Version: 1.1.4-1
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu precise ubuntu-patch

Dear Maintainer,

We've identified a few issues with rebuilding doxia in Ubuntu precise.

Since buildds are fairly restrictive and do not allow downloading data from
the Internet, doxia at least fails building when it goes looking for the jar
files for version 1.1.4 from the central maven repository; when building
documentation.

It also appears that libjaxen-java is now required globally at build-time,
as requested for jdom, via plexus-component-metadata.

Furthermore, I've run into smaller problems when trying to fix the issues
above; and have had to slightly adjust doxia-modules and doxia-book
dependencies (specified in their .pom files).

I ran test locally with sbuild, disconnecting all network access once it
got all the build-deps installed.

See the following build logs from the Ubuntu buildds for further details:
- Missing jaxen: 
https://launchpadlibrarian.net/85417405/buildlog_ubuntu-precise-i386.doxia_1.1.4-1_FAILEDTOBUILD.txt.gz
- Download attempts: 
https://launchpadlibrarian.net/85601926/buildlog_ubuntu-precise-i386.doxia_1.1.4-1ubuntu1_FAILEDTOBUILD.txt.gz

I realize the changes I have applied might not be the most efficient; but they
appear to properly resolve the issue and allow building in "offline" chroot both
for Debian unstable and Ubuntu precise.

Kind regards,

/ Matt


-- System Information:
Debian Release: wheezy/sid
  APT prefers precise-updates
  APT policy: (500, 'precise-updates'), (500, 'precise-security'), (500, 
'precise'), (100, 'precise-backports')
Architecture: amd64 (x86_64)

Kernel: Linux 3.1.0-2-generic (SMP w/4 CPU cores)
Locale: LANG=fr_CA.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libdoxia-java depends on:
ii  libplexus-containers-java  1.0~beta3.0.7-5
ii  libplexus-i18n-java        1.0-beta-10-3  
ii  libplexus-utils-java       1:1.5.15-4     
ii  libxerces2-java            2.11.0-2ubuntu1

Versions of packages libdoxia-java recommends:
ii  fop                            1:1.0.dfsg2-3ubuntu1
ii  libcommons-configuration-java  1.7-1               
ii  libcommons-httpclient-java     3.1-10              
ii  libitext1-java                 1.4-4               
ii  libjaxp1.3-java                1.3.05-1ubuntu1     
ii  liblog4j1.2-java               1.2.16-2            

Versions of packages libdoxia-java suggests:
pn  libdoxia-java-doc  <none>

-- no debconf information
diff -Nru doxia-1.1.4/debian/changelog doxia-1.1.4/debian/changelog
--- doxia-1.1.4/debian/changelog	2011-09-10 18:58:15.000000000 -0400
+++ doxia-1.1.4/debian/changelog	2011-11-23 16:14:47.000000000 -0500
@@ -1,3 +1,18 @@
+doxia (1.1.4-2) unstable; urgency=low
+
+  * debian/rules: import the jar files we just built if we're bootstrapping
+    with an old version of doxia, to make sure we have all the necessary new
+    symbols.
+  * debian/patches/0008-doxia-logging-deps.patch: adjust dependencies for
+    doxia-modules and doxia-book, which should require doxia-logging-api in
+    their pom files.
+  * debian/maven.properties: force maven to work offline, since we can't rely
+    on downloading anything in buildds.
+  * debian/control: add libjaxen-java (required by jdom/plexus) and
+    libmaven-install-plugin-java (needed to import jar files to the local repo).
+
+ -- Mathieu Trudel-Lapierre <mathieu...@ubuntu.com>  Wed, 23 Nov 2011 14:55:50 -0500
+
 doxia (1.1.4-1) unstable; urgency=low
 
   [Gabriele Giacone]
diff -Nru doxia-1.1.4/debian/control doxia-1.1.4/debian/control
--- doxia-1.1.4/debian/control	2011-09-09 18:28:03.000000000 -0400
+++ doxia-1.1.4/debian/control	2011-11-23 14:49:18.000000000 -0500
@@ -11,7 +11,7 @@
  libplexus-i18n-java, libplexus-utils-java, libxerces2-java, junit, libxerces2-java,  
  default-jdk-doc, libcommons-configuration-java-doc, liblog4j1.2-java-doc,  
  libmaven2-core-java-doc, libplexus-containers-java-doc, libplexus-utils-java-doc,  
- libmaven-javadoc-plugin-java 
+ libmaven-javadoc-plugin-java, libjaxen-java, libmaven-install-plugin-java
 Standards-Version: 3.9.2
 Vcs-Svn: svn://svn.debian.org/svn/pkg-java/trunk/doxia
 Vcs-Browser: http://svn.debian.org/wsvn/pkg-java/trunk/doxia
diff -Nru doxia-1.1.4/debian/maven.properties doxia-1.1.4/debian/maven.properties
--- doxia-1.1.4/debian/maven.properties	2011-09-09 18:28:03.000000000 -0400
+++ doxia-1.1.4/debian/maven.properties	2011-11-23 14:49:18.000000000 -0500
@@ -2,4 +2,5 @@
 # For example:
 
 maven.test.skip=true
+maven.settings.offline=true
 
diff -Nru doxia-1.1.4/debian/patches/0008-doxia-logging-deps.patch doxia-1.1.4/debian/patches/0008-doxia-logging-deps.patch
--- doxia-1.1.4/debian/patches/0008-doxia-logging-deps.patch	1969-12-31 19:00:00.000000000 -0500
+++ doxia-1.1.4/debian/patches/0008-doxia-logging-deps.patch	2011-11-23 13:03:42.000000000 -0500
@@ -0,0 +1,38 @@
+From: Mathieu Trudel-Lapierre <mathieu.trudel-lapie...@canonical.com>
+Subject: Add doxia-logging-api to dependencies for doxia-modules and doxia-book
+Last-Update: 2011-11-23
+
+It appears to be required at least for building documentation, otherwise the
+build fails as it tries to resolve org.apache.maven.doxia.logging.LogEnabled,
+among other symbols provided by doxia-logging-api.
+
+Index: doxia/doxia-modules/pom.xml
+===================================================================
+--- doxia.orig/doxia-modules/pom.xml	2011-11-21 16:55:11.277656324 -0500
++++ doxia/doxia-modules/pom.xml	2011-11-23 10:58:55.255900098 -0500
+@@ -50,6 +50,10 @@
+   <dependencies>
+     <dependency>
+       <groupId>org.apache.maven.doxia</groupId>
++      <artifactId>doxia-logging-api</artifactId>
++    </dependency>
++    <dependency>
++      <groupId>org.apache.maven.doxia</groupId>
+       <artifactId>doxia-core</artifactId>
+     </dependency>
+     <dependency>
+Index: doxia/doxia-book/pom.xml
+===================================================================
+--- doxia.orig/doxia-book/pom.xml	2011-11-21 16:55:15.685656130 -0500
++++ doxia/doxia-book/pom.xml	2011-11-23 11:03:28.119915934 -0500
+@@ -37,6 +37,10 @@
+     <!-- doxia core -->
+     <dependency>
+       <groupId>org.apache.maven.doxia</groupId>
++      <artifactId>doxia-logging-api</artifactId>
++    </dependency>
++    <dependency>
++      <groupId>org.apache.maven.doxia</groupId>
+       <artifactId>doxia-core</artifactId>
+     </dependency>
+     <dependency>
diff -Nru doxia-1.1.4/debian/patches/series doxia-1.1.4/debian/patches/series
--- doxia-1.1.4/debian/patches/series	2011-09-09 18:28:03.000000000 -0400
+++ doxia-1.1.4/debian/patches/series	2011-11-23 16:10:09.000000000 -0500
@@ -5,3 +5,4 @@
 0005-don-t-build-doxia-maven-plugin.patch
 0006-specificy-source-and-target-version.patch
 0007-disable-plexus-javadoc.patch
+0008-doxia-logging-deps.patch
diff -Nru doxia-1.1.4/debian/rules doxia-1.1.4/debian/rules
--- doxia-1.1.4/debian/rules	2011-09-09 18:28:03.000000000 -0400
+++ doxia-1.1.4/debian/rules	2011-11-23 15:38:01.000000000 -0500
@@ -8,3 +8,32 @@
 
 get-orig-source:
 	uscan --download-version $(DEB_UPSTREAM_VERSION) --force-download --rename
+
+IMPORT_BINARY_JARS = \
+	if \
+		! find $(CURDIR)/debian/maven-repo/org/apache/maven/doxia \
+			-name "$(DEB_UPSTREAM_VERSION)" | \
+				grep -q -c doxia; \
+	then \
+		echo "Copying just-built binary jars into local maven repository."; \
+		for jar in `find $(CURDIR)/doxia-* -name "*.jar" -print`; \
+		do \
+			artifact=$$(basename $$(dirname $$(echo $$jar | sed "s/\/target//"))); \
+			echo "--- $$artifact ---"; \
+			mvn install:install-file \
+				-DgroupId=org.apache.maven.doxia \
+				-DartifactId=$$artifact \
+				-Dversion=$(DEB_UPSTREAM_VERSION) \
+				-Dmaven.repo.local=$(CURDIR)/debian/maven-repo \
+				-Dpackaging=jar -Dfile=$$jar; \
+		done; \
+	else \
+		echo "We already have the latest version JAR files in the local maven repo."; \
+	fi
+
+binary-jars:
+	$(call IMPORT_BINARY_JARS);
+	touch $@
+
+after-mvn-build:: binary-jars
+

Reply via email to