OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall
Root: /v/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-src Date: 27-Aug-2007 10:29:51
Branch: HEAD Handle: 2007082709295001
Added files:
openpkg-src/java java-toolkit.sh java.spec java.txt rc.java
openpkg-src/java-gcj java-gcj.spec java-gcj.txt
openpkg-src/java-jdk15 java-jdk15.spec
Log:
provide new Java toolkit frontend and backends
Summary:
Revision Changes Path
1.1 +144 -0 openpkg-src/java-gcj/java-gcj.spec
1.1 +5 -0 openpkg-src/java-gcj/java-gcj.txt
1.1 +278 -0 openpkg-src/java-jdk15/java-jdk15.spec
1.1 +181 -0 openpkg-src/java/java-toolkit.sh
1.1 +97 -0 openpkg-src/java/java.spec
1.1 +39 -0 openpkg-src/java/java.txt
1.1 +20 -0 openpkg-src/java/rc.java
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-src/java-gcj/java-gcj.spec
============================================================================
$ cvs diff -u -r0 -r1.1 java-gcj.spec
--- /dev/null 2007-08-27 10:29:32 +0200
+++ java-gcj.spec 2007-08-27 10:29:51 +0200
@@ -0,0 +1,144 @@
+##
+## java-gcj.spec -- OpenPKG RPM Package Specification
+## Copyright (c) 2000-2007 OpenPKG Foundation e.V. <http://openpkg.net/>
+## Copyright (c) 2000-2007 Ralf S. Engelschall <http://engelschall.com/>
+##
+## Permission to use, copy, modify, and distribute this software for
+## any purpose with or without fee is hereby granted, provided that
+## the above copyright notice and this permission notice appear in all
+## copies.
+##
+## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+## SUCH DAMAGE.
+##
+
+# package information
+Name: java-gcj
+Summary: GCJ/GIJ based Java Tool Chain
+URL: http://www.openpkg.org/
+Vendor: OpenPKG Foundation e.V.
+Packager: OpenPKG Foundation e.V.
+Distribution: OpenPKG Community
+Class: EVAL
+Group: Language
+License: GPL
+Version: 1.4.2
+Release: 20070827
+
+# list of sources
+Source0: java-gcj.txt
+
+# build information
+Prefix: %{l_prefix}
+BuildRoot: %{l_buildroot}
+BuildPreReq: OpenPKG, openpkg >= 20060823
+PreReq: OpenPKG, openpkg >= 20060823
+PreReq: java
+BuildPreReq: gcc >= 4.2, gcc::with_java = yes, fastjar, gjdoc
+PreReq: gcc >= 4.2, gcc::with_java = yes, fastjar, gjdoc
+AutoReq: no
+AutoReqProv: no
+Conflicts: j2se
+
+%description
+ This is a glue package to provide a minimum Sun Java JDK/JRE like
+ command interface to the GCJ/GIJ based Java tool chain and their
+ companion tools. It is *NOT* a complete JDK/JRE, but at least
+ provides the most important tools for compiling and running non-GUI
+ Java 1.4 applications.
+
+%track
+
+%prep
+ %setup -q -T -c
+
+%build
+
+%install
+ # create installation hierarchy
+ rm -rf $RPM_BUILD_ROOT
+ %{l_shtool} mkdir -f -p -m 755 \
+ $RPM_BUILD_ROOT%{l_prefix}/libexec/java-gcj/bin \
+ $RPM_BUILD_ROOT%{l_prefix}/libexec/java-gcj/include \
+ $RPM_BUILD_ROOT%{l_prefix}/libexec/java-gcj/lib \
+ $RPM_BUILD_ROOT%{l_prefix}/libexec/java-gcj/jre/bin \
+ $RPM_BUILD_ROOT%{l_prefix}/libexec/java-gcj/jre/lib
+
+ # provide JDK replacements
+ for spec in \
+ appletviewer:gappletviewer \
+ jar:fastjar \
+ jarsigner:gjarsigner \
+ java:gij \
+ javac:ecj \
+ javadoc:gjdoc \
+ javah:gcjh \
+ keytool:gkeytool \
+ rmic:grmic \
+ rmiregistry:grmiregistry \
+ ; do
+ eval `echo "$spec" | sed -e 's/^\(.*\):\(.*\)$/dst=\1; src=\2/'`
+ %{l_shtool} mkln -s \
+ $RPM_BUILD_ROOT%{l_prefix}/bin/$src \
+ $RPM_BUILD_ROOT%{l_prefix}/libexec/java-gcj/bin/$dst
+ done
+
+ # provide JRE replacements
+ for spec in \
+ java:gij \
+ keytool:gkeytool \
+ rmic:grmic \
+ rmiregistry:grmiregistry \
+ ; do
+ eval `echo "$spec" | sed -e 's/^\(.*\):\(.*\)$/dst=\1; src=\2/'`
+ %{l_shtool} mkln -s \
+ $RPM_BUILD_ROOT%{l_prefix}/bin/$src \
+ $RPM_BUILD_ROOT%{l_prefix}/libexec/java-gcj/jre/bin/$dst
+ done
+
+ # remember particular toolkit platform identification
+ version=`(%{l_prefix}/bin/gij -version; echo "") 2>/dev/null | sed -e
'1q' | \
+ sed -e 's;^;X;' -e 's;^X.*"\([0-9][0-9.]*\)".*$;\1;' -e
's;^X.*;0.0.0;'`
+ echo "gnu-gcj-$version"
>$RPM_BUILD_ROOT%{l_prefix}/libexec/java-gcj/PLATFORM
+
+ # install a simple README document
+ %{l_shtool} install -c -m 644 \
+ %{SOURCE java-gcj.txt}
$RPM_BUILD_ROOT%{l_prefix}/libexec/java-gcj/README
+
+ # determine installation files
+ %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
+
+%files -f files
+
+%clean
+ rm -rf $RPM_BUILD_ROOT
+
+%post
+ # unconditionally (re)register
+ platform=`cat $RPM_INSTALL_ROOT/libexec/java-gcj/PLATFORM 2>/dev/null`
+ if [ ".$platform" != . ]; then
+ $RPM_INSTALL_PREFIX/bin/java-toolkit
--register="$platform:$RPM_INSTALL_PREFIX/libexec/java-gcj"
+ fi
+
+ # optionally activate if we are the only toolkit
+ if [ ".`$RPM_INSTALL_PREFIX/bin/java-toolkit --list | wc -l | awk '{
print $1; }'`" = .1 ]; then
+ $RPM_INSTALL_PREFIX/bin/java-toolkit --activate="$platform"
+ fi
+
+%preun
+ # unconditionally unregister
+ platform=`cat $RPM_INSTALL_ROOT/libexec/java-gcj/PLATFORM 2>/dev/null`
+ if [ ".$platform" != . ]; then
+ $RPM_INSTALL_PREFIX/bin/java-toolkit --unregister="$platform"
+ fi
+
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/java-gcj/java-gcj.txt
============================================================================
$ cvs diff -u -r0 -r1.1 java-gcj.txt
--- /dev/null 2007-08-27 10:29:32 +0200
+++ java-gcj.txt 2007-08-27 10:29:51 +0200
@@ -0,0 +1,5 @@
+This is a glue package to provide a minimum Sun Java JDK/JRE like
+command interface to the GCJ/GIJ based Java tool chain and their
+companion tools. It is *NOT* a complete JDK/JRE, but at least
+provides the most important tools for compiling and running non-GUI
+Java 1.4 applications.
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/java-jdk15/java-jdk15.spec
============================================================================
$ cvs diff -u -r0 -r1.1 java-jdk15.spec
--- /dev/null 2007-08-27 10:29:32 +0200
+++ java-jdk15.spec 2007-08-27 10:29:51 +0200
@@ -0,0 +1,278 @@
+##
+## java-jdk15.spec -- OpenPKG RPM Package Specification
+## Copyright (c) 2000-2007 OpenPKG Foundation e.V. <http://openpkg.net/>
+## Copyright (c) 2000-2007 Ralf S. Engelschall <http://engelschall.com/>
+##
+## Permission to use, copy, modify, and distribute this software for
+## any purpose with or without fee is hereby granted, provided that
+## the above copyright notice and this permission notice appear in all
+## copies.
+##
+## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+## SUCH DAMAGE.
+##
+
+# package versions
+%define V_base 1.5.0
+%define V_openpkg 1.5.0.12
+%define V_sundist 1_5_0_12
+%define V_sunfsys 1.5.0_12
+%define V_sunsupp 1_5_0
+%define V_bsddist 1.5.0_07-b01
+%define V_bsdfsys 1.5.0_07
+
+# package information
+Name: java-jdk15
+Summary: Java Development Kit (JDK) Standard Edition
+URL: http://java.sun.com/javase/
+Vendor: Sun Microsystems, Inc.
+Packager: OpenPKG Foundation e.V.
+Distribution: OpenPKG Community
+Class: EVAL
+Group: Language
+License: Commercial
+Version: %{V_openpkg}
+Release: 20070827
+
+# package options
+%option with_demo no
+%option with_docs no
+%option with_jce no
+
+# list of sources
+Source0: http://java.sun.com/javase/::/jdk-%{V_sundist}-linux-i586.bin
+Source1: http://java.sun.com/javase/::/jdk-%{V_sundist}-linux-amd64.bin
+Source2: http://java.sun.com/javase/::/jdk-%{V_sundist}-solaris-sparc.sh
+Source3:
http://java.sun.com/javase/::/jdk-%{V_sundist}-solaris-sparcv9.sh
+Source4: http://java.sun.com/javase/::/jdk-%{V_sundist}-solaris-i586.sh
+Source5: http://java.sun.com/javase/::/jdk-%{V_sundist}-solaris-amd64.sh
+Source6: http://java.sun.com/javase/::/jdk-%{V_sunsupp}-doc.zip
+Source7: http://java.sun.com/javase/::/jce_policy-%{V_sunsupp}.zip
+Source8:
http://www.freebsdfoundation.org/downloads/java.shtml::/diablo-caffe-freebsd6-i386-%{V_bsddist}.tar.bz2
+Source9:
http://www.freebsdfoundation.org/downloads/java.shtml::/diablo-caffe-freebsd6-amd64-%{V_bsddist}.tar.bz2
+%NoSource 0
+%NoSource 1
+%NoSource 2
+%NoSource 3
+%NoSource 4
+%NoSource 5
+%NoSource 6
+%NoSource 7
+%NoSource 8
+%NoSource 9
+
+# build information
+Prefix: %{l_prefix}
+BuildRoot: %{l_buildroot}
+BuildPreReq: OpenPKG, openpkg >= 20060823
+PreReq: OpenPKG, openpkg >= 20060823
+PreReq: java
+%if "%{with_docs}" == "yes" || "%{with_jce}" == "yes"
+BuildPreReq: infozip
+%endif
+AutoReq: no
+AutoReqProv: no
+
+%description
+ The Sun Java Standard Edition contains both the Java Development
+ Kit (JDK) and Java Runtime Environment (JRE). The premier solution
+ for rapidly developing and deploying mission-critical, enterprise
+ applications, JDK provides the essential compiler, tools,
+ runtimes, and APIs for writing, deploying, and running applets and
+ applications in the Java programming language.
+
+%track
+ prog java-jdk15 = {
+ version = %{V_sundist}
+ url = http://java.sun.com/javase/downloads/index_jdk5.jsp
+ regex = jre-(__VER__)-
+ }
+
+%prep
+ %setup -q -c java-jdk15 -T
+
+%build
+
+%install
+ rm -rf $RPM_BUILD_ROOT
+
+ # select vendor source
+ pkgfile1=""
+ pkgfile2=""
+ docsfile="%{SOURCE jdk-%{V_sunsupp}-doc.zip}"
+ cryptfile="%{SOURCE jce_policy-%{V_sunsupp}.zip}"
+ pkgdir="%{V_sunfsys}"
+ case "%{l_platform -t}" in
+ i?86-freebsd[456]* )
+ pkgfile1="%{SOURCE
diablo-caffe-freebsd6-i386-%{V_bsddist}.tar.bz2}"
+ pkgdir="diablo-jdk%{V_bsdfsys}"
+ ;;
+ amd64-freebsd[456]* )
+ pkgfile1="%{SOURCE
diablo-caffe-freebsd6-amd64-%{V_bsddist}.tar.bz2}"
+ pkgdir="diablo-jdk%{V_bsdfsys}"
+ ;;
+ i?86-linux2.[2-6]* )
+ pkgfile1="%{SOURCE jdk-%{V_sundist}-linux-i586.bin}"
+ pkgdir="jdk%{V_sunfsys}"
+ ;;
+ amd64-linux2.[2-6]* )
+ pkgfile1="%{SOURCE jdk-%{V_sundist}-linux-i586.bin}"
+ pkgfile2="%{SOURCE jdk-%{V_sundist}-linux-amd64.bin}"
+ pkgdir="jdk%{V_sunfsys}"
+ ;;
+ sun4u-sunos5.[6-9]* | sun4[uv]-sunos5.10 )
+ pkgfile1="%{SOURCE jdk-%{V_sundist}-solaris-sparc.sh}"
+ pkgfile2="%{SOURCE jdk-%{V_sundist}-solaris-sparcv9.sh}"
+ pkgdir="jdk%{V_sunfsys}"
+ ;;
+ i?86-sunos5.[6-9]* | i?86-sunos5.10 )
+ pkgfile1="%{SOURCE jdk-%{V_sundist}-solaris-i586.sh}"
+ pkgdir="jdk%{V_sunfsys}"
+ ;;
+ amd64-sunos5.[6-9]* | amd64-sunos5.10 )
+ pkgfile1="%{SOURCE jdk-%{V_sundist}-solaris-i586.sh}"
+ pkgfile2="%{SOURCE jdk-%{V_sundist}-solaris-amd64.sh}"
+ pkgdir="jdk%{V_sunfsys}"
+ ;;
+ esac
+ if [ ".$pkgfile1" = . ]; then
+ echo "Sorry, unsupported architecture '%{l_platform -t}'" 1>&2
+ exit 1
+ fi
+
+ # create installation tree
+ %{l_shtool} mkdir -f -p -m 755 \
+ $RPM_BUILD_ROOT%{l_prefix}/bin \
+ $RPM_BUILD_ROOT%{l_prefix}/cgi \
+ $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
+ $RPM_BUILD_ROOT%{l_prefix}/libexec/java-jdk15 \
+ $RPM_BUILD_ROOT%{l_prefix}/man/man1
+
+ # unpack vendor distribution
+ ( umask 022
+ cd $RPM_BUILD_ROOT%{l_prefix}/libexec
+ HOME=$RPM_BUILD_ROOT%{l_prefix}/libexec/java-jdk15
+ case "%{l_platform -t}" in
+ i?86-freebsd[456]* )
+ %{l_bzip2} -d -c $pkgfile1 | %{l_tar} xf -
+ touch COPYING
+ ;;
+ amd64-freebsd[456]* )
+ %{l_bzip2} -d -c $pkgfile1 | %{l_tar} xf -
+ touch COPYING
+ ;;
+ i?86-linux2.[2-6]* | i?86-freebsd[456]* )
+ echo "yes" | sh $pkgfile1 >COPYING.32
+ ;;
+ amd64-linux2.[2-6]* )
+ echo "yes" | sh $pkgfile1 >COPYING.32
+ echo "yes" | sh $pkgfile2 >COPYING.64
+ ;;
+ sun4u-sunos5.[6-9]* | sun4[uv]-sunos5.10 )
+ echo "yes" | sh $pkgfile1 >COPYING.32 && \
+ echo "yes" | sh $pkgfile2 >COPYING.64
+ ;;
+ i?86-sunos5.[6-9]* | i?86-sunos5.10 )
+ echo "yes" | sh $pkgfile1 >COPYING.32
+ ;;
+ amd64-sunos5.[6-9]* | amd64-sunos5.10 )
+ echo "yes" | sh $pkgfile1 >COPYING.32
+ echo "yes" | sh $pkgfile2 >COPYING.64
+ ;;
+ * ) false
+ ;;
+ esac
+ if [ $? != 0 ]; then
+ echo "ERROR: unpacking failed" 1>&2
+ exit 1
+ fi
+ mv $pkgdir/* java-jdk15/
+ mv COPYING.* java-jdk15/
+ rmdir $pkgdir
+ ) || exit $?
+
+ # fix vendor distribution
+ ( cd $RPM_BUILD_ROOT%{l_prefix}/libexec/java-jdk15/bin
+ find . -type f -print | xargs chmod u+w
+ cd $RPM_BUILD_ROOT%{l_prefix}/libexec/java-jdk15/jre/bin
+ find . -type f -print | xargs chmod u+w
+ case "%{l_platform -t}" in
+ sun4u-sunos5.[6-9]* | sun4[uv]-sunos5.10 )
+ cd $RPM_BUILD_ROOT%{l_prefix}/libexec/java-jdk15/bin/sparcv9
+ find . -type f -print | xargs chmod u+w
+ cd
$RPM_BUILD_ROOT%{l_prefix}/libexec/java-jdk15/jre/bin/sparcv9
+ find . -type f -print | xargs chmod u+w
+ ;;
+ esac
+ ) || exit $?
+
+ # remove GNOME and other irrelevant files
+ rm -rf $RPM_BUILD_ROOT%{l_prefix}/libexec/java-jdk15/.gnome
+ rm -rf $RPM_BUILD_ROOT%{l_prefix}/libexec/java-jdk15/.icons
+
+ # conditionally remove demo
+%if "%{with_demo}" == "no"
+ rm -rf $RPM_BUILD_ROOT%{l_prefix}/libexec/java-jdk15/demo 2>/dev/null ||
true
+%endif
+
+ # conditionally install docs
+%if "%{with_docs}" == "yes"
+ unzip -q $docsfile
+ mv docs $RPM_BUILD_ROOT%{l_prefix}/libexec/java-jdk15/
+%endif
+
+ # install Java Cryptography Extension (JCE) Unlimited Strength
Jurisdiction Policy
+ # under confirmation of the US Export Administration Regulations (EAR)
+%if "%{with_jce}" == "yes"
+ unzip -q $cryptfile
+ cp jce/COPYRIGHT.html
$RPM_BUILD_ROOT%{l_prefix}/libexec/java-jdk15/JCE_COPYRIGHT.html
+ cp jce/README.txt
$RPM_BUILD_ROOT%{l_prefix}/libexec/java-jdk15/JCE_README.txt
+ cp -f jce/US_export_policy.jar
$RPM_BUILD_ROOT%{l_prefix}/libexec/java-jdk15/jre/lib/security/
+ cp -f jce/local_policy.jar
$RPM_BUILD_ROOT%{l_prefix}/libexec/java-jdk15/jre/lib/security/
+%endif
+
+ # provide RMI CGI
+ ( cd $RPM_BUILD_ROOT%{l_prefix}/cgi
+ ln -s ../libexec/java-jdk15/jdk%{V_sunfsys}/bin/java-rmi.cgi
java-rmi.cgi
+ ) || exit $?
+
+ # remember particular toolkit platform identification
+ echo "sun-jdk-%{V_base}"
>$RPM_BUILD_ROOT%{l_prefix}/libexec/java-jdk15/PLATFORM
+
+ # determine installation files
+ %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
+
+%files -f files
+
+%clean
+ rm -rf $RPM_BUILD_ROOT
+
+%post
+ # unconditionally (re)register
+ platform=`cat $RPM_INSTALL_PREFIX/libexec/java-jdk15/PLATFORM
2>/dev/null`
+ if [ ".$platform" != . ]; then
+ $RPM_INSTALL_PREFIX/bin/java-toolkit
--register="$platform:$RPM_INSTALL_PREFIX/libexec/java-jdk15"
+ fi
+
+ # optionally activate if we are the only toolkit
+ if [ ".`$RPM_INSTALL_PREFIX/bin/java-toolkit --list | wc -l | awk '{
print $1; }'`" = .1 ]; then
+ $RPM_INSTALL_PREFIX/bin/java-toolkit --activate="$platform"
+ fi
+
+%preun
+ # unconditionally unregister
+ platform=`cat $RPM_INSTALL_PREFIX/libexec/java-jdk15/PLATFORM
2>/dev/null`
+ if [ ".$platform" != . ]; then
+ $RPM_INSTALL_PREFIX/bin/java-toolkit --unregister="$platform"
+ fi
+
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/java/java-toolkit.sh
============================================================================
$ cvs diff -u -r0 -r1.1 java-toolkit.sh
--- /dev/null 2007-08-27 10:29:32 +0200
+++ java-toolkit.sh 2007-08-27 10:29:50 +0200
@@ -0,0 +1,181 @@
+#!/bin/sh
+##
+## java-toolkit.sh -- Java toolkit frontend
+## Copyright (c) 2007 Ralf S. Engelschall <[EMAIL PROTECTED]>
+##
+
+# make sure variables are exported
+export JAVA_PLATFORM
+export JAVA_HOME
+
+# determine requested platform and location
+determine_variables () {
+ if [ ".$JAVA_PLATFORM" = . ] && [ ".$JAVA_HOME" = . ]; then
+ # use default platform
+ entry=`grep '^\+ ' @l_prefix@/etc/java/toolkits`
+ if [ ".$entry" != . ]; then
+ JAVA_PLATFORM=`echo ".$entry" | awk '{ print $2; }'`
+ JAVA_HOME=`echo ".$entry" | awk '{ print $3; }'`
+ fi
+ elif [ ".$JAVA_PLATFORM" = . ] && [ ".$JAVA_HOME" != . ]; then
+ # use user supplied platform
+ if [ ".`(grep 'Sun Microsystems' $JAVA_HOME/COPYRIGHT) 2>/dev/null`"
!= . ]; then
+ if [ -f "$JAVA_HOME/bin/javac" ]; then
+ JAVA_PLATFORM="sun-jdk"
+ else
+ JAVA_PLATFORM="sun-jre"
+ fi
+ elif [ ".`(grep 'GCJ' $JAVA_HOME/README) 2>/dev/null`" != . ]; then
+ JAVA_PLATFORM="gnu-gcj"
+ else
+ JAVA_PLATFORM="unknown-unknown"
+ fi
+ version=`($JAVA_HOME/bin/java -version; echo "") 2>/dev/null | sed
-e '1q' | \
+ sed -e 's;^;X;' -e 's;^X.*"\([0-9][0-9.]*\)".*$;\1;' -e
's;^X.*;0.0.0;'`
+ JAVA_PLATFORM="$JAVA_PLATFORM-$version"
+ elif [ ".$JAVA_PLATFORM" != . ] && [ ".$JAVA_HOME" = . ]; then
+ # use installed platform
+ entry=`grep "^[-+] $JAVA_PLATFORM" @l_prefix@/etc/java/toolkits`
+ if [ ".$entry" != . ]; then
+ JAVA_PLATFORM=`echo ".$entry" | awk '{ print $2; }'`
+ JAVA_HOME=`echo ".$entry" | awk '{ print $3; }'`
+ fi
+ elif [ ".$JAVA_PLATFORM" != . ] && [ ".$JAVA_HOME" != . ]; then
+ # use user supplied platform
+ :
+ fi
+}
+
+# management functionality
+do_manage () {
+ if [ $# -eq 0 ]; then
+ echo "USAGE: $0 [-e|--env] [-l|--list]
[--register=<platform>:<home>] [--unregister=<platform>]
[--activate=<platform>] [--deactivate=<platform>]"
+ exit 0
+ fi
+ case "$1" in
+ -e | --env )
+ determine_variables
+ echo "JAVA_PLATFORM=\"$JAVA_PLATFORM\"; export JAVA_PLATFORM"
+ echo "JAVA_HOME=\"$JAVA_HOME\"; export JAVA_HOME"
+ ;;
+ -l | --list )
+ awk '{ printf("%s %-15s %s\n", $1, $2, $3); }'
<@l_prefix@/etc/java/toolkits
+ ;;
+ --register=* )
+ eval `echo "$1" | sed -e
's%^--register=\(.*\):\(.*\)$%_platform="\1"; _home="\2"%'`
+ ( egrep -v "^[-+] $_platform" @l_prefix@/etc/java/toolkits
+ echo "- $_platform $_home"
+ ) >@l_prefix@/etc/java/toolkits.new
+ if [ ".`(cat @l_prefix@/etc/java/toolkits.new) 2>/dev/null`" !=
. ]; then
+ cp @l_prefix@/etc/java/toolkits.new
@l_prefix@/etc/java/toolkits
+ rm -f @l_prefix@/etc/java/toolkits.new
+ fi
+ ;;
+ --unregister=* )
+ eval `echo "$1" | sed -e
's%^--unregister=\(.*\)$%_platform="\1"%'`
+ ( egrep -v "^[-+] $_platform" @l_prefix@/etc/java/toolkits
+ ) >@l_prefix@/etc/java/toolkits.new
+ if [ -f @l_prefix@/etc/java/toolkits.new ]; then
+ cp @l_prefix@/etc/java/toolkits.new
@l_prefix@/etc/java/toolkits
+ rm -f @l_prefix@/etc/java/toolkits.new
+ fi
+ ;;
+ --activate=* )
+ eval `echo "$1" | sed -e 's%^--activate=\(.*\)$%_platform="\1"%'`
+ sed -e "s%^[-+] \(.*\)%- \1%" \
+ -e "s%^[-+] \($_platform \)%+ \1%" \
+ <@l_prefix@/etc/java/toolkits \
+ >@l_prefix@/etc/java/toolkits.new
+ if [ ".`(cat @l_prefix@/etc/java/toolkits.new) 2>/dev/null`" !=
. ]; then
+ cp @l_prefix@/etc/java/toolkits.new
@l_prefix@/etc/java/toolkits
+ rm -f @l_prefix@/etc/java/toolkits.new
+ fi
+ ;;
+ --deactivate=* )
+ eval `echo "$1" | sed -e
's%^--deactivate=\(.*\)$%_platform="\1"%'`
+ sed -e "s%^[-+] \($_platform \)%- \1%" \
+ <@l_prefix@/etc/java/toolkits \
+ >@l_prefix@/etc/java/toolkits.new
+ if [ ".`(cat @l_prefix@/etc/java/toolkits.new) 2>/dev/null`" !=
. ]; then
+ cp @l_prefix@/etc/java/toolkits.new
@l_prefix@/etc/java/toolkits
+ rm -f @l_prefix@/etc/java/toolkits.new
+ fi
+ ;;
+ esac
+}
+
+# execution functionality
+do_execute () {
+ # allow explicit platform selection on the command-line
+ case "$1:$2" in
+ -V*:* )
+ JAVA_PLATFORM=`echo "X$1" | sed -e 's;^X-V;;'`
+ shift
+ ;;
+ -V:* )
+ JAVA_PLATFORM="$2"
+ shift; shift
+ ;;
+ --platform=*:* )
+ JAVA_PLATFORM=`echo "X$1" | sed -e 's;^X--platform=;;'`
+ shift
+ ;;
+ --platform:* )
+ JAVA_PLATFORM="$2"
+ shift; shift
+ ;;
+ esac
+
+ # determine requested platform and location
+ determine_variables
+
+ # sanity check platform and location
+ if [ ".$JAVA_PLATFORM" = . ]; then
+ if [ ".`(cat @l_prefix@/etc/java/toolkits) 2>/dev/null`" = . ]; then
+ echo "$0:ERROR: still no backend toolkits registered" 1>&2
+ else
+ echo "$0:ERROR: unable to determine JAVA_PLATFORM" 1>&2
+ fi
+ exit 1
+ fi
+ if [ ".$JAVA_HOME" = . ]; then
+ if [ ".`(cat @l_prefix@/etc/java/toolkits) 2>/dev/null`" = . ]; then
+ echo "$0:ERROR: still no backend toolkits registered" 1>&2
+ else
+ echo "$0:ERROR: unable to determine JAVA_HOME" 1>&2
+ fi
+ exit 1
+ fi
+ case "$JAVA_PLATFORM" in
+ *-*-[0-9]* )
+ ;;
+ * )
+ echo "$0:ERROR: invalid JAVA_PLATFORM: \"$JAVA_PLATFORM\"" 1>&2
+ exit 1
+ ;;
+ esac
+ if [ ! -d $JAVA_HOME ]; then
+ echo "$0:ERROR: invalid JAVA_HOME: \"$JAVA_HOME\"" 1>&2
+ exit 1
+ fi
+
+ # pass-through execution to requested tool of particular platform
+ if [ -x $JAVA_HOME/bin/$tool ]; then
+ exec $JAVA_HOME/bin/$tool ${1+"$@"}
+ echo "$0:ERROR: tool \"$JAVA_HOME/bin/$tool\" failed to execute" 1>&2
+ exit 1
+ else
+ echo "$0:ERROR: tool \"$tool\" not provided by platform
\"$JAVA_PLATFORM\" under \"$JAVA_HOME\"" 1>&2
+ exit 1
+ fi
+}
+
+# determine requested tool
+tool=`echo "$0" | sed -e 's;^.*/\([^/]*\);\1;'`
+
+# dispatch according to requested tool
+case "$tool" in
+ java-toolkit ) do_manage "$@" ;;
+ * ) do_execute "$@" ;;
+esac
+
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/java/java.spec
============================================================================
$ cvs diff -u -r0 -r1.1 java.spec
--- /dev/null 2007-08-27 10:29:32 +0200
+++ java.spec 2007-08-27 10:29:50 +0200
@@ -0,0 +1,97 @@
+##
+## java.spec -- OpenPKG RPM Package Specification
+## Copyright (c) 2000-2007 OpenPKG Foundation e.V. <http://openpkg.net/>
+## Copyright (c) 2000-2007 Ralf S. Engelschall <http://engelschall.com/>
+##
+## Permission to use, copy, modify, and distribute this software for
+## any purpose with or without fee is hereby granted, provided that
+## the above copyright notice and this permission notice appear in all
+## copies.
+##
+## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+## SUCH DAMAGE.
+##
+
+# package information
+Name: java
+Summary: Java Tool Chain Frontend
+URL: http://www.openpkg.org/
+Vendor: OpenPKG Foundation e.V.
+Packager: OpenPKG Foundation e.V.
+Distribution: OpenPKG Community
+Class: EVAL
+Group: Language
+License: OpenPKG
+Version: 0
+Release: 20070827
+
+# list of sources
+Source0: java-toolkit.sh
+Source1: java.txt
+Source2: rc.java
+
+# build information
+Prefix: %{l_prefix}
+BuildRoot: %{l_buildroot}
+BuildPreReq: OpenPKG, openpkg >= 20060823
+PreReq: OpenPKG, openpkg >= 20060823
+AutoReq: no
+AutoReqProv: no
+
+%description
+ This is the frontend package for the Java tool chain. It provides
+ wrapper commands for the backend implementations.
+
+%track
+
+%prep
+ %setup -q -T -c
+
+%build
+
+%install
+ rm -rf $RPM_BUILD_ROOT
+ %{l_shtool} mkdir -f -p -m 755 \
+ $RPM_BUILD_ROOT%{l_prefix}/bin \
+ $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
+ $RPM_BUILD_ROOT%{l_prefix}/etc/java
+ %{l_shtool} install -c -m 755 %{l_value -s -a} \
+ %{SOURCE java-toolkit.sh} $RPM_BUILD_ROOT%{l_prefix}/bin/java-toolkit
+ for tool in `egrep '^[+] ' %{SOURCE java.txt} | awk '{ print $2; }'`; do
+ %{l_shtool} mkln -s \
+ $RPM_BUILD_ROOT%{l_prefix}/bin/java-toolkit \
+ $RPM_BUILD_ROOT%{l_prefix}/bin/$tool
+ done
+ %{l_shtool} install -c -m 755 %{l_value -s -a} \
+ %{SOURCE rc.java} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
+ cp /dev/null $RPM_BUILD_ROOT%{l_prefix}/etc/java/toolkits
+ %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
+ %{l_files_std} \
+ '%config %{l_prefix}/etc/java/toolkits'
+
+%files -f files
+
+%clean
+ rm -rf $RPM_BUILD_ROOT
+
+%preun
+ if [ $1 -eq 0 ]; then
+ if [ ".`$RPM_INSTALL_PREFIX/bin/java-toolkit --list`" != . ]; then
+ echo "ERROR: there are still backend toolkit(s) registered." 1>&2
+ echo "ERROR: please unregister them first with the commands:"
1>&2
+ echo "ERROR: \"$RPM_INSTALL_PREFIX/bin/java-toolkit --list\""
1>&2
+ echo "ERROR: \"$RPM_INSTALL_PREFIX/bin/java-toolkit
--unregister=<platform>\"" 1>&2
+ exit 1
+ fi
+ fi
+
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/java/java.txt
============================================================================
$ cvs diff -u -r0 -r1.1 java.txt
--- /dev/null 2007-08-27 10:29:32 +0200
+++ java.txt 2007-08-27 10:29:50 +0200
@@ -0,0 +1,39 @@
+- ControlPanel # jdk15 - (looks strange)
+- HtmlConverter # jdk15 - (looks strange)
++ appletviewer # jdk15 gcj
+- apt # jdk15 - (file conflict with "apt")
++ extcheck # jdk15 -
++ idlj # jdk15 -
++ jar # jdk15 gcj
++ jarsigner # jdk15 gcj
++ java # jdk15 gcj
+- java-rmi.cgi # jdk15 - (looks strange)
++ javac # jdk15 gcj
++ javadoc # jdk15 gcj
++ javah # jdk15 gcj
++ javap # jdk15 -
++ javaws # jdk15 -
++ jconsole # jdk15 -
++ jdb # jdk15 -
++ jinfo # jdk15 -
++ jmap # jdk15 -
++ jps # jdk15 -
++ jsadebugd # jdk15 -
++ jstack # jdk15 -
++ jstat # jdk15 -
++ jstatd # jdk15 -
++ keytool # jdk15 gcj
+- kinit # jdk15 - (file conflict with "kerberos")
+- klist # jdk15 - (file conflict with "kerberos")
+- ktab # jdk15 - (file conflict with "kerberos")
++ native2ascii # jdk15 -
++ orbd # jdk15 -
+- pack200 # jdk15 - (looks strange)
++ policytool # jdk15 -
++ rmic # jdk15 gcj
++ rmid # jdk15 -
++ rmiregistry # jdk15 gcj
++ serialver # jdk15 -
++ servertool # jdk15 -
++ tnameserv # jdk15 -
+- unpack200 # jdk15 - (looks strange)
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/java/rc.java
============================================================================
$ cvs diff -u -r0 -r1.1 rc.java
--- /dev/null 2007-08-27 10:29:32 +0200
+++ rc.java 2007-08-27 10:29:50 +0200
@@ -0,0 +1,20 @@
[EMAIL PROTECTED]@/bin/openpkg rc
+##
+## rc.java -- Run-Commands
+##
+
+%config
+ java_enable="$openpkg_rc_def"
+
+%status -u root -o
+ java_usable="unknown"
+ java_active="no"
+ @l_prefix@/bin/java -version >/dev/null 2>&1 && java_usable="yes"
+ echo "java_enable=\"$java_enable\""
+ echo "java_usable=\"$java_usable\""
+ echo "java_active=\"$java_active\""
+
+%env
+ rcService java enable yes || exit 0
+ eval [EMAIL PROTECTED]@/bin/java-toolchain --env`
+
@@ .
______________________________________________________________________
OpenPKG http://openpkg.org
CVS Repository Commit List [email protected]