[SCM] eclipse - Powerful IDE written in java - Debian package. branch, master-3.6, updated. eclipse-ppa/maverick-215-g833f4e6

Niels Thykier nthykier at alioth.debian.org
Wed May 18 14:03:06 UTC 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "eclipse - Powerful IDE written in java - Debian package.".

The branch, master-3.6 has been updated
       via  833f4e68f171c395f0724e83c604020675b95224 (commit)
       via  1573105a5334412fe8754281dc04337e9397d5bd (commit)
       via  b3e46fce37da8f279a1231eb1c399b9fc9685be5 (commit)
       via  d0947cc4dbe9046f31303dd490b8de1800e81943 (commit)
      from  1303aaed109bda5eef317459e2e8a5f495264504 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 833f4e68f171c395f0724e83c604020675b95224
Author: Niels Thykier <niels at thykier.net>
Date:   Wed May 18 15:35:51 2011 +0200

    Made eclipse binNMUable again

commit 1573105a5334412fe8754281dc04337e9397d5bd
Author: Niels Thykier <niels at thykier.net>
Date:   Tue May 17 20:49:02 2011 +0200

    Improved handling of SWT JNI
    
    It is now removed from the SWT bundle and we install the JNI
    in a predefined location with SWT being patched to look for
    it there to avoid it being extracted to $HOME.

commit b3e46fce37da8f279a1231eb1c399b9fc9685be5
Author: Niels Thykier <niels at thykier.net>
Date:   Tue May 17 16:53:32 2011 +0200

    Made eclipse-plugin-cvs an architecture all package

commit d0947cc4dbe9046f31303dd490b8de1800e81943
Author: Niels Thykier <niels at thykier.net>
Date:   Tue May 17 16:51:01 2011 +0200

    Reduced eclipse-plugin-cvs to a suggest for eclipse-jdt

-----------------------------------------------------------------------

Summary of changes:
 debian/changelog                              |    4 ++++
 debian/control                                |    7 +++----
 debian/extra/repack_jars.sh                   |   15 +++++++++++++++
 debian/patches/debian-load-internal-swt.patch |   19 +++++++++++++++++++
 debian/patches/series                         |    1 +
 debian/rules                                  |   25 ++++++++++++++++---------
 6 files changed, 58 insertions(+), 13 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 3ca15bd..fde1a34 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -22,6 +22,10 @@ eclipse (3.6.2-1) UNRELEASED; urgency=low
   * Use mh_clean to clean up after the maven-repo-helper.
   * Pulled the eclipse-platform.NEWS from the master branch and removed the
     old NEWS file.
+  * Reduced eclipse-plugins-cvs to a Suggests for eclipse-jdt.  (LP: #657286)
+  * Made eclipse-plugin-cvs an architecture all package.
+  * Made SWT load its JNI from well defined location to prevent occasional
+    extraction to ~/.eclipse.
 
   [ Andres Mejia ]
   * Numerous changes to eclipse packaging just to get eclipse building using
diff --git a/debian/control b/debian/control
index 4018ea8..0d6a7b7 100644
--- a/debian/control
+++ b/debian/control
@@ -71,13 +71,12 @@ Package: eclipse-jdt
 Architecture: any
 Depends: default-jre | java5-runtime | java6-runtime,
          eclipse-platform (= ${binary:Version}),
-         eclipse-plugin-cvs (= ${binary:Version}),
          junit (>= 3.8.2-4),
          junit4 (>= 4.7-3),
          libhamcrest-java (>= 1.1-8~),
          ${misc:Depends}
 Recommends: default-jdk | sun-java6-jdk
-Suggests: eclipse
+Suggests: eclipse, eclipse-plugin-cvs (>= ${source:Version})
 Replaces: eclipse-jdt-gcj
 Description: Eclipse Java Development Tools (JDT)
  The Eclipse Platform is an open and extensible platform for anything and yet
@@ -191,9 +190,9 @@ Description: Eclipse platform without plug-ins to develop any language (data)
  This package contains the architecture-independent data files.
 
 Package: eclipse-plugin-cvs
-Architecture: any
+Architecture: all
 Depends: default-jre | java5-runtime | java6-runtime,
-         eclipse-platform (= ${binary:Version}),
+         eclipse-platform (>= ${source:Version}),
          ${misc:Depends}
 Replaces: eclipse-cvs
 Description: Eclipse Team Integration (CVS support)
diff --git a/debian/extra/repack_jars.sh b/debian/extra/repack_jars.sh
new file mode 100755
index 0000000..1ba2837
--- /dev/null
+++ b/debian/extra/repack_jars.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+PLUGINS="$1"
+
+
+for P in "$PLUGINS"/org.eclipse.swt.gtk.*.jar ; do
+    if echo "$P" | grep -q ".source_" ; then
+	# skip source jars.
+	continue
+    fi
+    zip -d "$P" "*.so" "*.xpt"
+done
+
diff --git a/debian/patches/debian-load-internal-swt.patch b/debian/patches/debian-load-internal-swt.patch
new file mode 100644
index 0000000..43d92dc
--- /dev/null
+++ b/debian/patches/debian-load-internal-swt.patch
@@ -0,0 +1,19 @@
+Description: Make eclipse load the internal SWT from a special location.
+ This together with the removal of .so files from the bundle prevents eclipse
+ from extracting SWT to the users HOME directory.
+ .
+ This patch is Debian specific; Fedora does not seem to suffer from this problem.
+Author: Niels Thykier <niels at thykier.net>
+
+--- a/eclipse/plugins/org.eclipse.swt/Eclipse SWT PI/common_j2se/org/eclipse/swt/internal/Library.java	
++++ b/eclipse/plugins/org.eclipse.swt/Eclipse SWT PI/common_j2se/org/eclipse/swt/internal/Library.java	
+@@ -235,6 +235,9 @@ public static void loadLibrary (String name, boolean mapName) {
+ 	/* Try loading library from java library path */
+ 	if (load (libName1, message)) return;
+ 	if (mapName && load (libName2, message)) return;
++	/* Try the Debian location /usr/lib/eclipse/debian-swt/ */
++	if (load ("/usr/lib/eclipse/debian-swt" + SEPARATOR + mappedName1, message)) return;
++	if (mapName && load ("/usr/lib/eclipse/debian-swt" + SEPARATOR + mappedName2, message)) return;
+ 
+ 	/* Try loading library from the tmp directory if swt library path is not specified */
+ 	String fileName1 = mappedName1;
diff --git a/debian/patches/series b/debian/patches/series
index 24b4726..68b4809 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -16,3 +16,4 @@ use-ant-1.8.2.patch
 eclipse-build-generatedScripts.patch
 generate-metadata-and-extract-swt-libraries.patch
 bp-ant-1.8.2-support.patch
+debian-load-internal-swt.patch
diff --git a/debian/rules b/debian/rules
index b20ad90..7317d28 100755
--- a/debian/rules
+++ b/debian/rules
@@ -25,23 +25,24 @@ override_dh_auto_install:
 
 DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
 JNI_SO_PATH = debian/eclipse-rcp/usr/lib/eclipse/configuration/org.eclipse.osgi/bundles/*/1/.cp
+SWT_SO_PATH := $(CURDIR)/debian/eclipse-rcp/usr/lib/eclipse/debian-swt
 LAUNCHER_LIB = debian/eclipse-rcp/usr/lib/eclipse/plugins/org.eclipse.equinox.launcher.*/eclipse_*.so
 
 override_dh_shlibdeps:
 	dh_shlibdeps -peclipse-rcp -l$(JAVA_HOME)/jre/lib/$(DEB_HOST_ARCH_CPU) \
 		-- -dDepends \
-			$(JNI_SO_PATH)/libswt-gtk-*.so \
-			$(JNI_SO_PATH)/libswt-atk-gtk-*.so \
-			$(JNI_SO_PATH)/libswt-awt-gtk-*.so \
-			$(JNI_SO_PATH)/libswt-cairo-gtk-*.so \
-			$(JNI_SO_PATH)/libswt-pi-gtk-*.so \
-			$(JNI_SO_PATH)/libswt-xpcominit-gtk-*.so \
-			$(JNI_SO_PATH)/libswt-xulrunner-gtk-*.so \
+			$(SWT_SO_PATH)/libswt-gtk-*.so \
+			$(SWT_SO_PATH)/libswt-atk-gtk-*.so \
+			$(SWT_SO_PATH)/libswt-awt-gtk-*.so \
+			$(SWT_SO_PATH)/libswt-cairo-gtk-*.so \
+			$(SWT_SO_PATH)/libswt-pi-gtk-*.so \
+			$(SWT_SO_PATH)/libswt-xpcominit-gtk-*.so \
+			$(SWT_SO_PATH)/libswt-xulrunner-gtk-*.so \
 			$(shell find $(JNI_SO_PATH) -name '*.so' | grep -v libswt-) \
 			$(LAUNCHER_LIB) \
 		-dRecommends \
-			$(JNI_SO_PATH)/libswt-gnome-gtk-*.so \
-			$(JNI_SO_PATH)/libswt-glx-gtk-*.so
+			$(SWT_SO_PATH)/libswt-gnome-gtk-*.so \
+			$(SWT_SO_PATH)/libswt-glx-gtk-*.so
 	dh_shlibdeps --remaining-packages
 
 # This has to go in an arch package, as some of the version numbers
@@ -64,6 +65,8 @@ XULRUNNER_PATH := $(shell if test -d /usr/lib/xulrunner-$(shell $(XULRUNNER) --g
 override_dh_install:
 	# move images from /usr/lib to /usr/share
 	cd debian/tmp/usr && find lib/ -type f \( -name '*.bmp' -o -name '*.gif' -o -name '*.jpg' -o -name '*.png' \) | perl ../../../debian/extra/imagemv.pl
+	# repack some jars
+	debian/extra/repack_jars.sh debian/tmp/usr/lib/eclipse/plugins
 	# remove extra licence file
 	rm -f debian/tmp/usr/lib/eclipse/plugins/org.apache.ant_*/about_files/LICENSE.sax.txt \
 		debian/tmp/usr/lib/eclipse/epl-v10.html \
@@ -95,6 +98,9 @@ override_dh_install:
 	dh_install --list-missing
 	$(if $(wildcard debian/tmp/usr/lib/eclipse/plugins/org.eclipse.core.net.linux.*.jar),dh_install -peclipse-platform debian/tmp/usr/lib/eclipse/plugins/org.eclipse.core.net.linux.*.jar /usr/lib/eclipse/plugins)
 	$(if $(wildcard debian/tmp/usr/lib/eclipse/plugins/org.eclipse.update.core.linux*.jar),dh_install -peclipse-platform debian/tmp/usr/lib/eclipse/plugins/org.eclipse.update.core.linux*.jar /usr/lib/eclipse/plugins)
+	mkdir "$(SWT_SO_PATH)"
+	find $(JNI_SO_PATH) -name 'libswt*.so' -exec mv {} "$(SWT_SO_PATH)" \;
+	find $(JNI_SO_PATH) -depth -type d -empty -delete
 	# Check if we are doing a -B build
 	[ ! -d debian/eclipse-platform-data ] || debian/rules override_dh_install_indep
 
@@ -102,6 +108,7 @@ override_dh_install:
 override_dh_install_indep:
 	# mv arch-indep plugins from lib to share
 	cd debian/eclipse-platform-data/usr && find lib/ -type f -path '*lib/eclipse/plugins/*' | perl ../../../debian/extra/imagemv.pl
+	cd debian/eclipse-plugin-cvs/usr && find lib/ -type f -path '*lib/eclipse/*' | perl ../../../debian/extra/imagemv.pl
 	# Expose osgi jars
 	mkdir -p debian/libequinox-osgi-java/usr/share/java
 	cd debian/libequinox-osgi-java/usr/share/java && \


hooks/post-receive
-- 
eclipse - Powerful IDE written in java - Debian package.



More information about the pkg-java-commits mailing list