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]

Reply via email to