On Tue, Aug 19, 2008 at 03:04:40AM +0100, peter green wrote:
> It would be an issue if building with sun java6 though 
> [...]
> I didn't just "try to" hand select them, I tested all the sun based
> jre's in debian

that's what I meant by not scalable: your solution is valid at this
particular point in time only, and that is why it is not very
appealing to me. OTOH...

> Yeah, completely ignoring the users JRE preferences is an easy fix,
> I dunno if that is considered acceptable or not
> [...]
> So if you want functionality that is not provided by every JRE
> you need to either lock to one JRE or use a selection script like the  
> one I wrote

... my solution is indeed more restrictive as to what JRE a Debian
lambda user (that doesn't build his own package) can run azureus with.


> (this is something that should probablly be centralised but that is  
> something to
> be considered post-lenny)
> [...]
> And even if it didn't provide it depending on a JRE does not provide
> any gaurantee that the JRE you depend on will be the JRE the
> user/system select as default.

I indeed do not see any obvious policy about that, and I certainly
will not argue that the solution I chose to implement in this NMU
should be applied to all the Debian packages that require a JRE to
run.

Anyway, I'm sure Shaun now has enough datapoints to decide what sort
of solution he'd like to implement. I've removed all my past NMU
uploads from DELAYED/7, and uploaded a single -3.1 that regroups all
the fixes needed for my solution to the problem. The debdiff attached
to this email represents those changes.

Cheers,

--Seb
reverted:
--- azureus-3.1.1.0/debian/bin/azureus
+++ azureus-3.1.1.0.orig/debian/bin/azureus
@@ -1,7 +0,0 @@
-#!/bin/sh
-JAVA='java -Xmx1024M'
-. /usr/share/java-config/libswt-3.4-java
-exec $JAVA -Djava.library.path=/usr/lib/jni:/usr/lib \
-       -classpath /usr/share/java/Azureus2.jar:$JARS \
-       -Dazureus.install.path="$HOME/.azureus" \
-       org.gudy.azureus2.ui.common.Main "$@"
diff -u azureus-3.1.1.0/debian/rules azureus-3.1.1.0/debian/rules
--- azureus-3.1.1.0/debian/rules
+++ azureus-3.1.1.0/debian/rules
@@ -1,8 +1,16 @@
 #!/usr/bin/make -f
 
+SUBSTVARS := debian/azureus.substvars
+BIN_FILE := debian/bin/azureus
+BIN_TEMPLATE := $(BIN_FILE).template
+
 build: dist/Azureus2.jar
 
 dist/Azureus2.jar:
+       dpkg -S `readlink -f $$(which java)` | perl -pe 
's|(.+):.+|jre:Depends=$$1|' > $(SUBSTVARS)
+       perl -i -pe 's/-headless//' $(SUBSTVARS)
+       perl -pe "s|%JAVA%|`readlink -f $$(which java)`|" $(BIN_TEMPLATE) > 
$(BIN_FILE)
+
        mkdir -p build/libs
        ln -s \
                /usr/share/java/commons-cli.jar \
@@ -20,11 +28,10 @@
 
 clean:
        dh_clean
-       rm -rf build/libs
+       rm -rf build/libs $(SUBSTVARS) $(BIN_FILE)
        ant clean
 
 binary-indep: build
-       dh_clean -k
        dh_install -i
        dh_installchangelogs -i
        dh_installdocs -i
@@ -33,30 +40,13 @@
        dh_compress -i
        dh_desktop -i
        dh_fixperms -i
+       dh_lintian -i
        dh_installdeb -i
        dh_gencontrol -i
        dh_md5sums -i
        dh_builddeb -i
 
-include /usr/share/gcj/debian_defaults
-
-binary-arch: build
-       dh_clean -k 
-       dh_install -a
-       dh_installchangelogs -a
-       dh_installdocs -a
-ifneq (,$(filter $(DEB_HOST_ARCH), $(gcj_native_archs)))
-       dh_install -i
-       dh_nativejava -a
-endif
-       dh_compress -a
-       dh_fixperms -a
-       dh_strip -a
-       dh_installdeb -a
-       dh_shlibdeps -a
-       dh_gencontrol -a
-       dh_md5sums -a
-       dh_builddeb -a
+binary-arch:
 
 binary: binary-indep binary-arch
 
diff -u azureus-3.1.1.0/debian/control azureus-3.1.1.0/debian/control
--- azureus-3.1.1.0/debian/control
+++ azureus-3.1.1.0/debian/control
@@ -2,17 +2,16 @@
 Section: net
 Priority: optional
 Maintainer: Shaun Jackman <[EMAIL PROTECTED]>
-Build-Depends: default-jdk-builddep | java2-compiler, ant,
- libcommons-cli-java, liblog4j1.2-java, libswt-gtk-3.4-java,
- fastjar, junit, debhelper (>> 5)
+Build-Depends: openjdk-6-jdk | java2-jdk, ant, debhelper (>= 6.0.7~)
+Build-Depends-Indep: libcommons-cli-java, liblog4j1.2-java,
+ libswt-gtk-3.4-java, fastjar, junit
 Standards-Version: 3.8.0.1
 
 Package: azureus
 Architecture: all
-Depends: java-gcj-compat | java-virtual-machine,
- java-gcj-compat | java2-runtime, libcommons-cli-java,
- liblog4j1.2-java, libswt-gtk-3.4-java
-Suggests: vuze, azureus-gcj
+Depends: ${jre:Depends}, libcommons-cli-java, liblog4j1.2-java,
+ libswt-gtk-3.4-java
+Suggests: vuze
 Description: BitTorrent client
  BitTorrent is a peer-to-peer file distribution tool.
  .
@@ -21,13 +20,6 @@
  access to numerous pieces of information about your torrents. Azureus
  now features an embedded tracker easily set up and ready to use.
 
-Package: azureus-gcj
-Architecture: any
-Depends: azureus (>= ${source:Version}), azureus (<< ${source:Version}.1~),
- ${misc:Depends}, ${shlibs:Depends}
-Description: native binary of Azureus
- This package contains a native binary of Azureus built using GCJ.
-
 Package: vuze
 Architecture: all
 Depends: azureus, libswt-cairo-gtk-3.4-jni, libswt-gnome-gtk-3.4-jni,
diff -u azureus-3.1.1.0/debian/changelog azureus-3.1.1.0/debian/changelog
--- azureus-3.1.1.0/debian/changelog
+++ azureus-3.1.1.0/debian/changelog
@@ -1,3 +1,15 @@
+azureus (3.1.1.0-3.1) unstable; urgency=low
+
+  * Tentative NMU.
+  * Build with openjdk-6-jdk by default (but allow for user rebuilds
+    using any JDK), and remove azureus-gcj altogether (Closes: #495514).
+  * Add a lintian override to signify that java and ant are indeed needed
+    as Build-Depends-Indep even though we do not build any arch-dependent
+    binary packages.
+  * In /usr/bin/azureus, enforce use of the JRE specified in Depends:.
+  
+ -- Sebastien Delafond <[EMAIL PROTECTED]>  Mon, 18 Aug 2008 19:36:05 -0700
+
 azureus (3.1.1.0-3) unstable; urgency=medium
 
   * Remove the four non-latin characters in DateParserRegex.java.
only in patch2:
unchanged:
--- azureus-3.1.1.0.orig/debian/source.lintian-overrides
+++ azureus-3.1.1.0/debian/source.lintian-overrides
@@ -0,0 +1,2 @@
+# java and ant are required to run clean
+azureus source: build-depends-without-arch-dep
only in patch2:
unchanged:
--- azureus-3.1.1.0.orig/debian/bin/azureus.template
+++ azureus-3.1.1.0/debian/bin/azureus.template
@@ -0,0 +1,7 @@
+#!/bin/sh
+JAVA='%JAVA% -Xmx1024M'
+. /usr/share/java-config/libswt-3.4-java
+exec $JAVA -Djava.library.path=/usr/lib/jni:/usr/lib \
+       -classpath /usr/share/java/Azureus2.jar:$JARS \
+       -Dazureus.install.path="$HOME/.azureus" \
+       org.gudy.azureus2.ui.common.Main "$@"

Reply via email to