Bug#264137: ibm-jdk-1.4 support for java-package-0.20

Rico Schiekel Rico Schiekel <fire@logix-tt.com>, 264137@bugs.debian.org
Fri Mar 4 07:14:03 2005


This is a multi-part MIME message sent by reportbug.

--===============0413153870==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Package: java-package
Version: 0.20
Followup-For: Bug #264137


I done some updates to the patch and fix some little bugs. these shell
scripts in /usr/bin are needed, cause of a bug in ibm's jre's and
jdk's.

I also add support for ibm jre's and add following jdk/jre versions to
the detection:
   - 1.3.1  x86, ppc, s390
   - 1.4.1  ppc, s390
   - 1.4.2  x86, x86_64, ppc, ppc64, s390, s390x

I tested it with jdk+jre 1.4.2 for x86 and jdk+jre 1.3.1 for x86. it
also should work with the other plattforms. it would be nice, if
someone could test this.

greetings,
rico

-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.11-madwifi-fire
Locale: LANG=de_DE, LC_CTYPE=de_DE (charmap=ISO-8859-1)

Versions of packages java-package depends on:
ii  coreutils                     5.2.1-2    The GNU core utilities
ii  debhelper                     4.2.31     helper programs for debian/rules
ii  fakeroot                      1.2.2      Gives a fake root environment

-- no debconf information

--===============0413153870==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="ibm_jdk_jre.diff"

diff -r -u -N java-package-0.20.old/debian/rules java-package-0.20/debian/rules
--- java-package-0.20.old/debian/rules	2005-01-25 00:54:51.000000000 +0100
+++ java-package-0.20/debian/rules	2005-03-03 12:20:40.000000000 +0100
@@ -26,7 +26,7 @@
 
 	install -m 755 make-jpkg.out $(B)/usr/bin/make-jpkg
 	cp lib/*.sh $(B)/usr/share/java-package/
-	for dir in $(wildcard blackdown-j2*) $(wildcard sun-j2*); do \
+	for dir in $(wildcard blackdown-j2*) $(wildcard sun-j2*) $(wildcard ibm-j2*); do \
 		cp -a $$dir $(B)/usr/share/java-package/; \
 	done
 	find $(B) -type d -name CVS | xargs -r rm -r
diff -r -u -N java-package-0.20.old/ibm-j2re1.3/install java-package-0.20/ibm-j2re1.3/install
--- java-package-0.20.old/ibm-j2re1.3/install	1970-01-01 01:00:00.000000000 +0100
+++ java-package-0.20/ibm-j2re1.3/install	2005-03-04 13:24:58.000000000 +0100
@@ -0,0 +1,27 @@
+suffix=j2re1.3-ibm
+j2se_base="/usr/lib/$suffix"
+priority=313
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+    exit 0
+fi
+
+# alternative <program>
+function program_alternative() {
+    local program="$1"
+    cat >/usr/bin/$program-$suffix <<EOF
+#! /bin/sh
+exec $j2se_base/jre/bin/$program \${1+"\$@"}
+EOF
+    chmod 755 /usr/bin/$program-$suffix
+    update-alternatives \
+        --install "/usr/bin/$program" "$program" \
+        "/usr/bin/$program-$suffix" "$priority"
+}
+
+program_alternative java
+program_alternative javaw
+program_alternative rmid
+program_alternative rmiregistry
+
+# no plugin available ...
diff -r -u -N java-package-0.20.old/ibm-j2re1.3/remove java-package-0.20/ibm-j2re1.3/remove
--- java-package-0.20.old/ibm-j2re1.3/remove	1970-01-01 01:00:00.000000000 +0100
+++ java-package-0.20/ibm-j2re1.3/remove	2005-03-04 13:32:29.000000000 +0100
@@ -0,0 +1,19 @@
+suffix=j2re1.3-ibm
+j2se_base="/usr/lib/$suffix"
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+    exit 0
+fi
+
+# alternative <program>
+function program_alternative() {
+    local program="$1"
+    update-alternatives \
+        --remove "$program" "/usr/bin/$program-$suffix"
+    rm "/usr/bin/$program-$suffix"
+}
+
+program_alternative java
+program_alternative javaw
+program_alternative rmid
+program_alternative rmiregistry
diff -r -u -N java-package-0.20.old/ibm-j2re1.4/install java-package-0.20/ibm-j2re1.4/install
--- java-package-0.20.old/ibm-j2re1.4/install	1970-01-01 01:00:00.000000000 +0100
+++ java-package-0.20/ibm-j2re1.4/install	2005-03-04 13:25:07.000000000 +0100
@@ -0,0 +1,27 @@
+suffix=j2re1.4-ibm
+j2se_base="/usr/lib/$suffix"
+priority=314
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+    exit 0
+fi
+
+# alternative <program>
+function program_alternative() {
+    local program="$1"
+    cat >/usr/bin/$program-$suffix <<EOF
+#! /bin/sh
+exec $j2se_base/jre/bin/$program \${1+"\$@"}
+EOF
+    chmod 755 /usr/bin/$program-$suffix
+    update-alternatives \
+        --install "/usr/bin/$program" "$program" \
+        "/usr/bin/$program-$suffix" "$priority"
+}
+
+program_alternative java
+program_alternative javaw
+program_alternative rmid
+program_alternative rmiregistry
+
+# no plugin available ...
diff -r -u -N java-package-0.20.old/ibm-j2re1.4/remove java-package-0.20/ibm-j2re1.4/remove
--- java-package-0.20.old/ibm-j2re1.4/remove	1970-01-01 01:00:00.000000000 +0100
+++ java-package-0.20/ibm-j2re1.4/remove	2005-03-04 13:32:16.000000000 +0100
@@ -0,0 +1,19 @@
+suffix=j2re1.4-ibm
+j2se_base="/usr/lib/$suffix"
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+    exit 0
+fi
+
+# alternative <program>
+function program_alternative() {
+    local program="$1"
+    update-alternatives \
+        --remove "$program" "/usr/bin/$program-$suffix"
+    rm "/usr/bin/$program-$suffix"
+}
+
+program_alternative java
+program_alternative javaw
+program_alternative rmid
+program_alternative rmiregistry
diff -r -u -N java-package-0.20.old/ibm-j2sdk1.3/install java-package-0.20/ibm-j2sdk1.3/install
--- java-package-0.20.old/ibm-j2sdk1.3/install	1970-01-01 01:00:00.000000000 +0100
+++ java-package-0.20/ibm-j2sdk1.3/install	2005-03-04 13:24:38.000000000 +0100
@@ -0,0 +1,36 @@
+suffix=j2sdk1.3-ibm
+j2se_base="/usr/lib/$suffix"
+priority=313
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+    exit 0
+fi
+
+# alternative <program>
+function program_alternative() {
+    local program="$1"
+    cat >/usr/bin/$program-$suffix <<EOF
+#! /bin/sh
+exec $j2se_base/bin/$program \${1+"\$@"}
+EOF
+    chmod 755 /usr/bin/$program-$suffix
+    update-alternatives \
+        --install "/usr/bin/$program" "$program" \
+        "/usr/bin/$program-$suffix" "$priority"
+}
+
+program_alternative appletviewer
+program_alternative idlj
+program_alternative jar
+program_alternative java
+program_alternative javac
+program_alternative javadoc
+program_alternative javah
+program_alternative javap
+program_alternative jdb
+program_alternative rmic
+program_alternative rmid
+program_alternative rmiregistry
+program_alternative serialver
+
+# no plugin available ...
diff -r -u -N java-package-0.20.old/ibm-j2sdk1.3/remove java-package-0.20/ibm-j2sdk1.3/remove
--- java-package-0.20.old/ibm-j2sdk1.3/remove	1970-01-01 01:00:00.000000000 +0100
+++ java-package-0.20/ibm-j2sdk1.3/remove	2005-03-04 13:31:59.000000000 +0100
@@ -0,0 +1,29 @@
+suffix=j2sdk1.3-ibm
+j2se_base="/usr/lib/$suffix"
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+    exit 0
+fi
+
+# alternative <program>
+function program_alternative() {
+    local program="$1"
+    update-alternatives \
+        --remove "$program" "/usr/bin/$program-$suffix"
+    rm "/usr/bin/$program-$suffix"
+}
+
+program_alternative appletviewer
+program_alternative idlj
+program_alternative jar
+program_alternative java
+program_alternative javac
+program_alternative javadoc
+program_alternative javah
+program_alternative javap
+program_alternative jdb
+program_alternative rmic
+program_alternative rmid
+program_alternative rmiregistry
+program_alternative serialver
+
diff -r -u -N java-package-0.20.old/ibm-j2sdk1.4/install java-package-0.20/ibm-j2sdk1.4/install
--- java-package-0.20.old/ibm-j2sdk1.4/install	1970-01-01 01:00:00.000000000 +0100
+++ java-package-0.20/ibm-j2sdk1.4/install	2005-03-04 13:22:59.000000000 +0100
@@ -0,0 +1,37 @@
+suffix=j2sdk1.4-ibm
+j2se_base="/usr/lib/$suffix"
+priority=314
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+    exit 0
+fi
+
+# alternative <program>
+function program_alternative() {
+    local program="$1"
+    cat >/usr/bin/$program-$suffix <<EOF
+#! /bin/sh
+exec $j2se_base/bin/$program \${1+"\$@"}
+EOF
+    chmod 755 /usr/bin/$program-$suffix
+    update-alternatives \
+        --install "/usr/bin/$program" "$program" \
+        "/usr/bin/$program-$suffix" "$priority"
+}
+
+
+program_alternative appletviewer
+program_alternative idlj
+program_alternative jar
+program_alternative java
+program_alternative javac
+program_alternative javadoc
+program_alternative javah
+program_alternative javap
+program_alternative jdb
+program_alternative rmic
+program_alternative rmid
+program_alternative rmiregistry
+program_alternative serialver
+
+# no plugin available ...
diff -r -u -N java-package-0.20.old/ibm-j2sdk1.4/remove java-package-0.20/ibm-j2sdk1.4/remove
--- java-package-0.20.old/ibm-j2sdk1.4/remove	1970-01-01 01:00:00.000000000 +0100
+++ java-package-0.20/ibm-j2sdk1.4/remove	2005-03-04 13:28:23.000000000 +0100
@@ -0,0 +1,29 @@
+suffix=j2sdk1.4-ibm
+j2se_base="/usr/lib/$suffix"
+
+if [ ! -e "$j2se_base/debian/info" ]; then
+    exit 0
+fi
+
+# alternative <program>
+function program_alternative() {
+    local program="$1"
+    update-alternatives \
+        --remove "$program" "/usr/bin/$program-$suffix"
+    rm "/usr/bin/$program-$suffix"
+}
+
+program_alternative appletviewer
+program_alternative idlj
+program_alternative jar
+program_alternative java
+program_alternative javac
+program_alternative javadoc
+program_alternative javah
+program_alternative javap
+program_alternative jdb
+program_alternative rmic
+program_alternative rmid
+program_alternative rmiregistry
+program_alternative serialver
+
diff -r -u -N java-package-0.20.old/lib/common.sh java-package-0.20/lib/common.sh
--- java-package-0.20.old/lib/common.sh	2005-02-08 15:13:52.000000000 +0100
+++ java-package-0.20/lib/common.sh	2005-03-03 18:15:23.000000000 +0100
@@ -69,8 +69,20 @@
     mkdir "$extract_dir"
     cd "$extract_dir"
     echo
-    
-    if ! sh "$archive_path"; then
+
+    local extract_cmd
+    case "$archive_path" in
+	*.tar)
+	    extract_cmd="tar xf";;
+	*.tar.bz2)
+	    extract_cmd="tar --bzip2 -xf";;
+	*.tgz|*.tar.gz)
+	    extract_cmd="tar xfz";;
+	*)
+	    extract_cmd=sh
+    esac
+
+    if ! $extract_cmd "$archive_path"; then
 	cat << EOF
 
 WARNING: The package installation script exited with an error
diff -r -u -N java-package-0.20.old/lib/ibm-j2re.sh java-package-0.20/lib/ibm-j2re.sh
--- java-package-0.20.old/lib/ibm-j2re.sh	1970-01-01 01:00:00.000000000 +0100
+++ java-package-0.20/lib/ibm-j2re.sh	2005-03-04 11:12:32.000000000 +0100
@@ -0,0 +1,80 @@
+# Detect product
+function ibm_j2re_detect() {
+    local found=
+    case "$archive_name" in
+    "IBMJava2-JRE-142.tgz")
+	    j2se_version=1.4.2
+	    j2se_expected_min_size=37
+	    found=true
+	    ;;
+    "IBMJava2-JRE-142.ppc64.tgz")
+	    j2se_version=1.4.2
+	    j2se_expected_min_size=37
+	    found=true
+	    ;;
+    "IBMJava2-JRE-142.s390.tgz")
+	    j2se_version=1.4.2
+	    j2se_expected_min_size=34
+	    found=true
+	    ;;
+    "IBMJava2-JRE-142.s390x.tgz")
+	    j2se_version=1.4.2
+	    j2se_expected_min_size=34
+	    found=true
+	    ;;
+    "IBMJava2-JRE-142.ppc.tgz")
+	    j2se_version=1.4.2
+	    j2se_expected_min_size=40
+	    found=true
+	    ;;
+    "IBMJava2-JRE-AMD64-142.x86_64.tgz")
+	    j2se_version=1.4.2
+	    j2se_expected_min_size=37
+	    found=true
+	    ;;
+    "IBMJava2-JRE-141.ppc.tgz")
+	    j2se_version=1.4.1
+	    j2se_expected_min_size=37
+	    found=true
+	    ;;
+    "IBMJava2-JRE-141.s390.tgz")
+	    j2se_version=1.4.1
+	    j2se_expected_min_size=31
+	    found=true
+	    ;;
+    "IBMJava2-JRE-131.tgz")
+	    j2se_version=1.3.1
+	    j2se_expected_min_size=20
+	    found=true
+	    ;;
+    "IBMJava2-JRE-131.ppc.tgz")
+	    j2se_version=1.3.1
+	    j2se_expected_min_size=20
+	    found=true
+	    ;;
+    "IBMJava2-JRE-131.s390.tgz")
+	    j2se_version=1.3.1
+	    j2se_expected_min_size=20
+	    found=true
+	    ;;
+    esac
+    if [[ -n "$found" ]]; then
+	cat << EOF
+
+Detected product:
+    Java(TM) Runtime Environment (J2RE)
+    Standard Edition, Version $j2se_version
+    IBM Corporation
+EOF
+	if read_yn "Is this correct [Y/n]: "; then
+	    j2se_found=true
+	    j2se_release="${j2se_version:0:3}"
+	    j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 ))
+	    j2se_vendor="ibm"
+	    j2se_title="Java(TM) 2 RE, Standard Edition, IBM Corporation"
+	    j2re_run
+ 	fi
+    fi
+}
+
+j2se_detect_ibm_j2re=ibm_j2re_detect
diff -r -u -N java-package-0.20.old/lib/ibm-j2sdk.sh java-package-0.20/lib/ibm-j2sdk.sh
--- java-package-0.20.old/lib/ibm-j2sdk.sh	1970-01-01 01:00:00.000000000 +0100
+++ java-package-0.20/lib/ibm-j2sdk.sh	2005-03-04 11:13:41.000000000 +0100
@@ -0,0 +1,80 @@
+# Detect product
+function ibm_j2sdk_detect() {
+    local found=
+    case "$archive_name" in
+    "IBMJava2-SDK-142.tgz")
+	    j2se_version=1.4.2
+	    j2se_expected_min_size=55
+	    found=true
+	    ;;
+    "IBMJava2-SDK-142.ppc64.tgz")
+	    j2se_version=1.4.2
+	    j2se_expected_min_size=55
+	    found=true
+	    ;;
+    "IBMJava2-SDK-142.s390.tgz")
+	    j2se_version=1.4.2
+	    j2se_expected_min_size=52
+	    found=true
+	    ;;
+    "IBMJava2-SDK-142.s390x.tgz")
+	    j2se_version=1.4.2
+	    j2se_expected_min_size=52
+	    found=true
+	    ;;
+    "IBMJava2-SDK-142.ppc.tgz")
+	    j2se_version=1.4.2
+	    j2se_expected_min_size=58
+	    found=true
+	    ;;
+    "IBMJava2-SDK-AMD64-142.x86_64.tgz")
+	    j2se_version=1.4.2
+	    j2se_expected_min_size=52
+	    found=true
+	    ;;
+    "IBMJava2-SDK-141.ppc.tgz")
+	    j2se_version=1.4.1
+	    j2se_expected_min_size=52
+	    found=true
+	    ;;
+    "IBMJava2-SDK-141.s390.tgz")
+	    j2se_version=1.4.1
+	    j2se_expected_min_size=51
+	    found=true
+	    ;;
+    "IBMJava2-SDK-131.tgz")
+	    j2se_version=1.3.1
+	    j2se_expected_min_size=20
+	    found=true
+	    ;;
+    "IBMJava2-SDK-131.ppc.tgz")
+	    j2se_version=1.3.1
+	    j2se_expected_min_size=20
+	    found=true
+	    ;;
+    "IBMJava2-SDK-131.s390.tgz")
+	    j2se_version=1.3.1
+	    j2se_expected_min_size=20
+	    found=true
+	    ;;
+    esac
+    if [[ -n "$found" ]]; then
+	cat << EOF
+
+Detected product:
+    Java(TM) Software Development Kit (J2SDK)
+    Standard Edition, Version $j2se_version
+    IBM Corporation
+EOF
+	if read_yn "Is this correct [Y/n]: "; then
+	    j2se_found=true
+	    j2se_release="${j2se_version:0:3}"
+	    j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 ))
+	    j2se_vendor="ibm"
+	    j2se_title="Java(TM) 2 SDK, Standard Edition, IBM Corporation"
+	    j2sdk_run
+	fi
+    fi
+}
+
+j2se_detect_ibm_j2sdk=ibm_j2sdk_detect

--===============0413153870==--