Bug#632183: bouncycastle: Package does not deploy maven artifacts

James Page james.page at ubuntu.com
Thu Jun 30 10:39:40 UTC 2011


Package: bouncycastle
Version: 1.44+dfsg-2
Severity: normal
Tags: patch
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu oneiric ubuntu-patch



*** /tmp/tmpC7BqQ4
In Ubuntu, the attached patch was applied to achieve the following:

  * Deployment of Maven artifacts:
    - debian/rules: retrieve source POM's and install
    - debian/control: Build-depend on maven-repo-helper
    - debian/poms/*: versioned POM's from repo1.maven.org
    - debian/lib[bcprov|bcmail|bcpg|bctsp].poms; POM lists
      for deployment to maven-repo
    - debian/maven.rules: Transform rules for POM deployment

This places jar + maven pom metadata files into /usr/share/maven-repo.

Thanks for considering the patch.


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

Kernel: Linux 2.6.38-8-generic (SMP w/8 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
-------------- next part --------------
=== modified file 'debian/changelog'

=== modified file 'debian/control'
--- debian/control	2010-06-03 15:51:05 +0000
+++ debian/control	2011-06-29 15:42:28 +0000
@@ -4,7 +4,8 @@
 Maintainer: Ubuntu Developers <ubuntu-devel-discuss at lists.ubuntu.com>
 XSBC-Original-Maintainer: Debian Java Maintainers <pkg-java-maintainers at lists.alioth.debian.org>
 Uploaders: Matthias Klose <doko at ubuntu.com>, Michael Koch <konqueror at gmx.de>
-Build-Depends: cdbs (>= 0.4.27), debhelper (>= 7), ant, default-jdk-builddep, quilt, libgnumail-java, junit, ant-optional
+Build-Depends: cdbs (>= 0.4.27), debhelper (>= 7), ant, default-jdk-builddep, quilt, libgnumail-java, 
+ junit, ant-optional, maven-repo-helper
 Standards-Version: 3.8.3
 Vcs-Svn: svn://svn.debian.org/svn/pkg-java/trunk/bouncycastle
 Vcs-Browser: http://svn.debian.org/wsvn/pkg-java/trunk/bouncycastle

=== added file 'debian/libbcmail-java.poms'
--- debian/libbcmail-java.poms	1970-01-01 00:00:00 +0000
+++ debian/libbcmail-java.poms	2011-03-10 15:12:30 +0000
@@ -0,0 +1 @@
+debian/poms/bcmail.pom

=== added file 'debian/libbcpg-java.poms'
--- debian/libbcpg-java.poms	1970-01-01 00:00:00 +0000
+++ debian/libbcpg-java.poms	2011-03-10 15:12:39 +0000
@@ -0,0 +1 @@
+debian/poms/bcpg.pom

=== added file 'debian/libbcprov-java.poms'
--- debian/libbcprov-java.poms	1970-01-01 00:00:00 +0000
+++ debian/libbcprov-java.poms	2011-03-10 15:11:29 +0000
@@ -0,0 +1 @@
+debian/poms/bcprov.pom

=== added file 'debian/libbctsp-java.poms'
--- debian/libbctsp-java.poms	1970-01-01 00:00:00 +0000
+++ debian/libbctsp-java.poms	2011-03-10 15:12:51 +0000
@@ -0,0 +1 @@
+debian/poms/bctsp.pom

=== added file 'debian/maven.rules'
--- debian/maven.rules	1970-01-01 00:00:00 +0000
+++ debian/maven.rules	2011-06-29 16:29:57 +0000
@@ -0,0 +1,5 @@
+# Strip out -jdk14 as Ubuntu/Debian does not build multiple versions
+org.bouncycastle s/bcmail-jdk14/bcmail/ * s/.*/debian/ * *
+org.bouncycastle s/bcprov-jdk14/bcprov/ * s/.*/debian/ * *
+org.bouncycastle s/bctsp-jdk14/bctsp/ * s/.*/debian/ * *
+org.bouncycastle s/bcpg-jdk14/bcpg/ * s/.*/debian/ * *

=== added directory 'debian/poms'
=== added file 'debian/poms/bcmail.pom'
--- debian/poms/bcmail.pom	1970-01-01 00:00:00 +0000
+++ debian/poms/bcmail.pom	2009-10-06 22:33:52 +0000
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.bouncycastle</groupId>
+  <artifactId>bcmail-jdk14</artifactId>
+  <packaging>jar</packaging>
+  <name>Bouncy Castle CMS and S/MIME API</name>
+  <version>1.44</version>
+  <description>The Bouncy Castle Java CMS and S/MIME APIs for handling the CMS and S/MIME protocols. This jar contains CMS and S/MIME APIs for JDK 1.4. The APIs can be used in conjunction with a JCE/JCA provider such as the one provided with the Bouncy Castle Cryptography APIs. If the S/MIME API is used, the JavaMail API and the Java activation framework will also be needed.</description>
+  <url>http://www.bouncycastle.org/java.html</url>
+  <licenses>
+    <license>
+      <name>Bouncy Castle Licence</name>
+      <url>http://www.bouncycastle.org/licence.html</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <scm>
+    <url>http://www.bouncycastle.org/viewcvs/viewcvs.cgi/java</url>
+  </scm>
+  <dependencies>
+    <dependency>
+      <groupId>org.bouncycastle</groupId>
+      <artifactId>bcprov-jdk14</artifactId>
+      <version>1.44</version>
+      <type>jar</type>
+    </dependency>
+  </dependencies>
+</project>

=== added file 'debian/poms/bcpg.pom'
--- debian/poms/bcpg.pom	1970-01-01 00:00:00 +0000
+++ debian/poms/bcpg.pom	2009-10-06 22:34:47 +0000
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.bouncycastle</groupId>
+  <artifactId>bcpg-jdk14</artifactId>
+  <packaging>jar</packaging>
+  <name>Bouncy Castle OpenPGP API</name>
+  <version>1.44</version>
+  <description>The Bouncy Castle Java API for handling the OpenPGP protocol. This jar contains the OpenPGP API for JDK 1.4. The APIs can be used in conjunction with a JCE/JCA provider such as the one provided with the Bouncy Castle Cryptography APIs.</description>
+  <url>http://www.bouncycastle.org/java.html</url>
+  <licenses>
+    <license>
+      <name>Bouncy Castle Licence</name>
+      <url>http://www.bouncycastle.org/licence.html</url>
+      <distribution>repo</distribution>
+    </license>
+    <license>
+      <name>Apache Software License, Version 1.1</name>
+      <url>http://www.apache.org/licenses/LICENSE-1.1</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <scm>
+    <url>http://www.bouncycastle.org/viewcvs/viewcvs.cgi/java</url>
+  </scm>
+  <dependencies>
+    <dependency>
+      <groupId>org.bouncycastle</groupId>
+      <artifactId>bcprov-jdk14</artifactId>
+      <version>1.44</version>
+      <type>jar</type>
+    </dependency>
+  </dependencies>
+</project>

=== added file 'debian/poms/bcprov.pom'
--- debian/poms/bcprov.pom	1970-01-01 00:00:00 +0000
+++ debian/poms/bcprov.pom	2009-10-06 22:33:19 +0000
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.bouncycastle</groupId>
+  <artifactId>bcprov-jdk14</artifactId>
+  <packaging>jar</packaging>
+  <name>Bouncy Castle Provider</name>
+  <version>1.44</version>
+  <description>The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.4.</description>
+  <url>http://www.bouncycastle.org/java.html</url>
+  <licenses>
+    <license>
+      <name>Bouncy Castle Licence</name>
+      <url>http://www.bouncycastle.org/licence.html</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <scm>
+    <url>http://www.bouncycastle.org/viewcvs/viewcvs.cgi/java</url>
+  </scm>
+</project>

=== added file 'debian/poms/bctsp.pom'
--- debian/poms/bctsp.pom	1970-01-01 00:00:00 +0000
+++ debian/poms/bctsp.pom	2009-10-06 22:34:15 +0000
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.bouncycastle</groupId>
+  <artifactId>bctsp-jdk14</artifactId>
+  <packaging>jar</packaging>
+  <name>Bouncy Castle OpenPGP API</name>
+  <version>1.44</version>
+  <description>The Bouncy Castle Java API for handling the Time Stamp Protocol (TSP). This jar contains the TSP API for JDK 1.4. The APIs can be used in conjunction with a JCE/JCA provider such as the one provided with the Bouncy Castle Cryptography APIs.</description>
+  <url>http://www.bouncycastle.org/java.html</url>
+  <licenses>
+    <license>
+      <name>Bouncy Castle Licence</name>
+      <url>http://www.bouncycastle.org/licence.html</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <scm>
+    <url>http://www.bouncycastle.org/viewcvs/viewcvs.cgi/java</url>
+  </scm>
+  <dependencies>
+    <dependency>
+      <groupId>org.bouncycastle</groupId>
+      <artifactId>bcprov-jdk14</artifactId>
+      <version>1.44</version>
+      <type>jar</type>
+    </dependency>
+    <dependency>
+      <groupId>org.bouncycastle</groupId>
+      <artifactId>bcmail-jdk14</artifactId>
+      <version>1.44</version>
+      <type>jar</type>
+    </dependency>
+  </dependencies>
+</project>

=== modified file 'debian/rules'
--- debian/rules	2009-04-10 08:10:02 +0000
+++ debian/rules	2011-06-29 15:52:22 +0000
@@ -34,7 +34,8 @@
 
 # bcprov
 binary-install/libbcprov-java:: build/libbcprov-java
-	install -m 644 $(builddir)/jars/bcprov-jdk14-*.jar debian/libbcprov-java/usr/share/java/bcprov.jar
+	mh_installpoms -plibbcprov-java
+	mh_installjar -plibbcprov-java -l debian/poms/bcprov.pom $(builddir)/jars/bcprov-jdk14-*.jar
 	ln -sf ../bcprov.jar debian/libbcprov-java/usr/share/java/gcj-endorsed/bcprov.jar
 	touch debian/libbcprov-java/etc/java/security/security.d/2000-org.bouncycastle.jce.provider.BouncyCastleProvider
 binary-install/libbcprov-java-doc::
@@ -42,19 +43,22 @@
 
 # bcmail
 binary-install/libbcmail-java:: build/libbcmail-java
-	install -m 644 $(builddir)/jars/bcmail-jdk14-*.jar debian/libbcmail-java/usr/share/java/bcmail.jar
+	mh_installpoms -plibbcmail-java
+	mh_installjar -plibbcmail-java -l debian/poms/bcmail.pom $(builddir)/jars/bcmail-jdk14-*.jar
 binary-install/libbcmail-java-doc::
 	mv -i $(builddir)/javadoc/bcmail debian/libbcmail-java-doc/usr/share/doc/libbcmail-java-doc/api
 
 # bcpg
 binary-install/libbcpg-java:: build/libbcpg-java
-	install -m 644 $(builddir)/jars/bcpg-jdk14-*.jar debian/libbcpg-java/usr/share/java/bcpg.jar
+	mh_installpoms -plibbcpg-java
+	mh_installjar -plibbcpg-java -l debian/poms/bcpg.pom $(builddir)/jars/bcpg-jdk14-*.jar
 binary-install/libbcpg-java-doc::
 	mv -i $(builddir)/javadoc/bcpg debian/libbcpg-java-doc/usr/share/doc/libbcpg-java-doc/api
 
 # bctsp
 binary-install/libbctsp-java:: build/libbctsp-java
-	install -m 644 $(builddir)/jars/bctsp-jdk14-*.jar debian/libbctsp-java/usr/share/java/bctsp.jar
+	mh_installpoms -plibbctsp-java
+	mh_installjar -plibbctsp-java -l debian/poms/bctsp.pom $(builddir)/jars/bctsp-jdk14-*.jar
 binary-install/libbctsp-java-doc::
 	mv -i $(builddir)/javadoc/bctsp debian/libbctsp-java-doc/usr/share/doc/libbctsp-java-doc/api
 
@@ -90,3 +94,14 @@
 ifeq ($(with_native),yes)
 	dh_nativejava -plibbctsp-java-gcj
 endif
+
+POMS=bcprov bcpg bcmail bctsp
+UPSTREAM_VERSION=$(shell dpkg-parsechangelog | sed -rne 's,^Version: ([^-]+).*,\1,p' | sed 's/\+dfsg//')
+
+get-orig-pom:
+	mkdir -p debian/poms
+	for pom in $(POMS); do \
+		wget -O debian/poms/$${pom}.pom -U NoAgent-1.0 \
+			http://repo1.maven.org/maven2/org/bouncycastle/$${pom}-jdk14/$(UPSTREAM_VERSION)/$${pom}-jdk14-$(UPSTREAM_VERSION).pom ; \
+	done ;
+



More information about the pkg-java-maintainers mailing list