java-init: initial import
This commit is contained in:
parent
1f5c95c86d
commit
c3c375f9ac
167
java-init/.footprint
Normal file
167
java-init/.footprint
Normal file
@ -0,0 +1,167 @@
|
||||
drwxr-xr-x root/root opt/
|
||||
drwxr-xr-x root/root opt/java-init/
|
||||
drwxr-xr-x root/root opt/java-init/bin/
|
||||
lrwxrwxrwx root/root opt/java-init/bin/ant -> ../lib/ant/bin/ant
|
||||
-rwxr-xr-x root/root opt/java-init/bin/ecj
|
||||
-rwxr-xr-x root/root opt/java-init/bin/gappletviewer
|
||||
-rwxr-xr-x root/root opt/java-init/bin/gjar
|
||||
-rwxr-xr-x root/root opt/java-init/bin/gjarsigner
|
||||
-rwxr-xr-x root/root opt/java-init/bin/gjavah
|
||||
-rwxr-xr-x root/root opt/java-init/bin/gkeytool
|
||||
-rwxr-xr-x root/root opt/java-init/bin/gnative2ascii
|
||||
-rwxr-xr-x root/root opt/java-init/bin/gorbd
|
||||
-rwxr-xr-x root/root opt/java-init/bin/grmic
|
||||
-rwxr-xr-x root/root opt/java-init/bin/grmid
|
||||
-rwxr-xr-x root/root opt/java-init/bin/grmiregistry
|
||||
-rwxr-xr-x root/root opt/java-init/bin/gserialver
|
||||
-rwxr-xr-x root/root opt/java-init/bin/gtnameserv
|
||||
-rwxr-xr-x root/root opt/java-init/bin/jamvm
|
||||
-rwxr-xr-x root/root opt/java-init/bin/jamvm.bin
|
||||
lrwxrwxrwx root/root opt/java-init/bin/jar -> gjar
|
||||
lrwxrwxrwx root/root opt/java-init/bin/jarsigner -> gjarsigner
|
||||
lrwxrwxrwx root/root opt/java-init/bin/java -> jamvm
|
||||
lrwxrwxrwx root/root opt/java-init/bin/javac -> ecj
|
||||
lrwxrwxrwx root/root opt/java-init/bin/javah -> gjavah
|
||||
lrwxrwxrwx root/root opt/java-init/bin/keytool -> gkeytool
|
||||
lrwxrwxrwx root/root opt/java-init/bin/native2ascii -> gnative2ascii
|
||||
lrwxrwxrwx root/root opt/java-init/bin/orbd -> gorbd
|
||||
lrwxrwxrwx root/root opt/java-init/bin/rmic -> grmic
|
||||
lrwxrwxrwx root/root opt/java-init/bin/rmid -> grmid
|
||||
lrwxrwxrwx root/root opt/java-init/bin/rmiregistry -> grmiregistry
|
||||
lrwxrwxrwx root/root opt/java-init/bin/serialver -> gserialver
|
||||
lrwxrwxrwx root/root opt/java-init/bin/tnameserv -> gtnameserv
|
||||
drwxr-xr-x root/root opt/java-init/include/
|
||||
-rw-r--r-- root/root opt/java-init/include/jawt.h
|
||||
-rw-r--r-- root/root opt/java-init/include/jawt_md.h
|
||||
-rw-r--r-- root/root opt/java-init/include/jni.h
|
||||
-rw-r--r-- root/root opt/java-init/include/jni_md.h
|
||||
lrwxrwxrwx root/root opt/java-init/jre -> .
|
||||
drwxr-xr-x root/root opt/java-init/lib/
|
||||
drwxr-xr-x root/root opt/java-init/lib/ant/
|
||||
drwxr-xr-x root/root opt/java-init/lib/ant/bin/
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/bin/ant
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/bin/ant.bat
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/bin/ant.cmd
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/bin/antRun
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/bin/antRun.bat
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/bin/antRun.pl
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/bin/antenv.cmd
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/bin/complete-ant-cmd.pl
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/bin/envset.cmd
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/bin/lcp.bat
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/bin/runant.pl
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/bin/runant.py
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/bin/runrc.cmd
|
||||
drwxr-xr-x root/root opt/java-init/lib/ant/etc/
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/etc/ant-bootstrap.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/etc/changelog.xsl
|
||||
drwxr-xr-x root/root opt/java-init/lib/ant/etc/checkstyle/
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/etc/checkstyle/checkstyle-frames.xsl
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/etc/checkstyle/checkstyle-text.xsl
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/etc/checkstyle/checkstyle-xdoc.xsl
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/etc/coverage-frames.xsl
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/etc/jdepend-frames.xsl
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/etc/jdepend.xsl
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/etc/junit-frames-xalan1.xsl
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/etc/junit-frames.xsl
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/etc/junit-noframes.xsl
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/etc/log.xsl
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/etc/maudit-frames.xsl
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/etc/mmetrics-frames.xsl
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/etc/tagdiff.xsl
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/fetch.xml
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/get-m2.xml
|
||||
drwxr-xr-x root/root opt/java-init/lib/ant/lib/
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-antlr.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-antlr.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-apache-bcel.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-apache-bcel.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-apache-bsf.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-apache-bsf.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-apache-log4j.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-apache-log4j.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-apache-oro.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-apache-oro.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-apache-regexp.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-apache-regexp.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-apache-resolver.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-apache-resolver.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-apache-xalan2.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-apache-xalan2.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-commons-logging.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-commons-logging.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-commons-net.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-commons-net.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-jai.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-jai.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-javamail.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-javamail.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-jdepend.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-jdepend.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-jmf.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-jmf.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-jsch.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-jsch.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-junit.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-junit.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-junit4.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-junit4.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-launcher.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-launcher.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-netrexx.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-netrexx.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-parent.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-swing.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-swing.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant-testutil.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant.jar
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/ant.pom
|
||||
-rwxr-xr-x root/root opt/java-init/lib/ant/lib/libraries.properties
|
||||
drwxr-xr-x root/root opt/java-init/lib/classpath/
|
||||
-rwxr-xr-x root/root opt/java-init/lib/classpath/libjavaio.la
|
||||
lrwxrwxrwx root/root opt/java-init/lib/classpath/libjavaio.so -> libjavaio.so.0.0.0
|
||||
lrwxrwxrwx root/root opt/java-init/lib/classpath/libjavaio.so.0 -> libjavaio.so.0.0.0
|
||||
-rwxr-xr-x root/root opt/java-init/lib/classpath/libjavaio.so.0.0.0
|
||||
-rwxr-xr-x root/root opt/java-init/lib/classpath/libjavalang.la
|
||||
lrwxrwxrwx root/root opt/java-init/lib/classpath/libjavalang.so -> libjavalang.so.0.0.0
|
||||
lrwxrwxrwx root/root opt/java-init/lib/classpath/libjavalang.so.0 -> libjavalang.so.0.0.0
|
||||
-rwxr-xr-x root/root opt/java-init/lib/classpath/libjavalang.so.0.0.0
|
||||
-rwxr-xr-x root/root opt/java-init/lib/classpath/libjavalangmanagement.la
|
||||
lrwxrwxrwx root/root opt/java-init/lib/classpath/libjavalangmanagement.so -> libjavalangmanagement.so.0.0.0
|
||||
lrwxrwxrwx root/root opt/java-init/lib/classpath/libjavalangmanagement.so.0 -> libjavalangmanagement.so.0.0.0
|
||||
-rwxr-xr-x root/root opt/java-init/lib/classpath/libjavalangmanagement.so.0.0.0
|
||||
-rwxr-xr-x root/root opt/java-init/lib/classpath/libjavalangreflect.la
|
||||
lrwxrwxrwx root/root opt/java-init/lib/classpath/libjavalangreflect.so -> libjavalangreflect.so.0.0.0
|
||||
lrwxrwxrwx root/root opt/java-init/lib/classpath/libjavalangreflect.so.0 -> libjavalangreflect.so.0.0.0
|
||||
-rwxr-xr-x root/root opt/java-init/lib/classpath/libjavalangreflect.so.0.0.0
|
||||
-rwxr-xr-x root/root opt/java-init/lib/classpath/libjavamath.la
|
||||
-rwxr-xr-x root/root opt/java-init/lib/classpath/libjavamath.so
|
||||
-rwxr-xr-x root/root opt/java-init/lib/classpath/libjavanet.la
|
||||
lrwxrwxrwx root/root opt/java-init/lib/classpath/libjavanet.so -> libjavanet.so.0.0.0
|
||||
lrwxrwxrwx root/root opt/java-init/lib/classpath/libjavanet.so.0 -> libjavanet.so.0.0.0
|
||||
-rwxr-xr-x root/root opt/java-init/lib/classpath/libjavanet.so.0.0.0
|
||||
-rwxr-xr-x root/root opt/java-init/lib/classpath/libjavanio.la
|
||||
lrwxrwxrwx root/root opt/java-init/lib/classpath/libjavanio.so -> libjavanio.so.0.0.0
|
||||
lrwxrwxrwx root/root opt/java-init/lib/classpath/libjavanio.so.0 -> libjavanio.so.0.0.0
|
||||
-rwxr-xr-x root/root opt/java-init/lib/classpath/libjavanio.so.0.0.0
|
||||
-rwxr-xr-x root/root opt/java-init/lib/classpath/libjavautil.la
|
||||
lrwxrwxrwx root/root opt/java-init/lib/classpath/libjavautil.so -> libjavautil.so.0.0.0
|
||||
lrwxrwxrwx root/root opt/java-init/lib/classpath/libjavautil.so.0 -> libjavautil.so.0.0.0
|
||||
-rwxr-xr-x root/root opt/java-init/lib/classpath/libjavautil.so.0.0.0
|
||||
-rwxr-xr-x root/root opt/java-init/lib/libjvm.la
|
||||
lrwxrwxrwx root/root opt/java-init/lib/libjvm.so -> libjvm.so.0.0.0
|
||||
lrwxrwxrwx root/root opt/java-init/lib/libjvm.so.0 -> libjvm.so.0.0.0
|
||||
-rwxr-xr-x root/root opt/java-init/lib/libjvm.so.0.0.0
|
||||
-rw-r--r-- root/root opt/java-init/lib/logging.properties
|
||||
lrwxrwxrwx root/root opt/java-init/lib/rt.jar -> ../share/classpath/glibj.zip
|
||||
drwxr-xr-x root/root opt/java-init/lib/security/
|
||||
-rw-r--r-- root/root opt/java-init/lib/security/classpath.security
|
||||
lrwxrwxrwx root/root opt/java-init/lib/tools.jar -> ../share/classpath/tools.zip
|
||||
drwxr-xr-x root/root opt/java-init/share/
|
||||
drwxr-xr-x root/root opt/java-init/share/classpath/
|
||||
-rw-r--r-- root/root opt/java-init/share/classpath/glibj.zip
|
||||
-rw-r--r-- root/root opt/java-init/share/classpath/tools.zip
|
||||
drwxr-xr-x root/root opt/java-init/share/jamvm/
|
||||
-rw-r--r-- root/root opt/java-init/share/jamvm/classes.zip
|
||||
drwxr-xr-x root/root opt/java-init/share/java/
|
||||
-rwxr-xr-x root/root opt/java-init/share/java/ecj.jar
|
11
java-init/.md5sum
Normal file
11
java-init/.md5sum
Normal file
@ -0,0 +1,11 @@
|
||||
c474fa9d0c35a24037c23b6e476862c1 apache-ant-1.8.4-src.tar.bz2
|
||||
9d99f1052febb87da3b6714244bfd751 build.xml
|
||||
ffa9e9cac31c5acbf0ea9eff9efa923d classpath-0.93.tar.gz
|
||||
0ae1571249172acd82488724a3b8acb4 classpath-0.99.tar.gz
|
||||
f9d7b548658c84231b00fada8d4b4f1b ecjsrc.zip
|
||||
d2d264d343d4d0e1575832cc1023c3bf fastjar-0.98.tar.gz
|
||||
5c852dec3df6e7bba98a95f3e9a16d27 fastjar-jartool.c_rev1.62.patch
|
||||
33f19f624a2f7751e23181ed2da72cbb fix-update-mode.diff
|
||||
5a82751b50391eb092c906ce64f3b6bf jamvm-1.5.1.tar.gz
|
||||
a6e3321ef4b3cfb4afc20bd75452e11e jamvm-2.0.0.tar.gz
|
||||
cda958c7fef6b43b803e1d1ef9afcb85 jikes-1.22.tar.bz2
|
225
java-init/Pkgfile
Normal file
225
java-init/Pkgfile
Normal file
@ -0,0 +1,225 @@
|
||||
# Description: Initial Java bootstrap
|
||||
# URL: https://stygian.me/java-bootstrap/
|
||||
# Maintainer: John Vogel, jvogel4 at stny dot rr dot com
|
||||
# Depends on: libffi unzip zip
|
||||
|
||||
name=java-init
|
||||
version=20180530
|
||||
ant_vers=1.8.4
|
||||
cp1_vers=0.93
|
||||
cp2_vers=0.99
|
||||
ecj_vers=3.2.2-200702121330
|
||||
fastjar_vers=0.98
|
||||
jamvm1_vers=1.5.1
|
||||
jamvm2_vers=2.0.0
|
||||
jikes_vers=1.22
|
||||
release=1
|
||||
source=(https://ftp.gnu.org/gnu/classpath/classpath-$cp1_vers.tar.gz
|
||||
https://ftp.gnu.org/gnu/classpath/classpath-$cp2_vers.tar.gz
|
||||
http://sourceforge.net/projects/jamvm/files/jamvm/JamVM%20$jamvm1_vers/jamvm-$jamvm1_vers.tar.gz
|
||||
http://sourceforge.net/projects/jamvm/files/jamvm/JamVM%20$jamvm2_vers/jamvm-$jamvm2_vers.tar.gz
|
||||
http://archive.apache.org/dist/ant/source/apache-ant-$ant_vers-src.tar.bz2
|
||||
http://archive.eclipse.org/eclipse/downloads/drops/R-$ecj_vers/ecjsrc.zip
|
||||
http://download.savannah.nongnu.org/releases/fastjar/fastjar-$fastjar_vers.tar.gz
|
||||
https://sourceforge.net/projects/jikes/files/Jikes/$jikes_vers/jikes-$jikes_vers.tar.bz2
|
||||
fastjar-jartool.c_rev1.62.patch
|
||||
fix-update-mode.diff
|
||||
build.xml)
|
||||
|
||||
unpack_source() {
|
||||
for file in ${source[@]}; do
|
||||
case ${file##*/} in
|
||||
apache-ant-$ant_vers-src.tar.bz2|\
|
||||
classpath-$cp1_vers.tar.gz|\
|
||||
classpath-$cp2_vers.tar.gz|\
|
||||
fastjar-$fastjar_vers.tar.gz|\
|
||||
jamvm-$jamvm1_vers.tar.gz|\
|
||||
jamvm-$jamvm2_vers.tar.gz|\
|
||||
jikes-$jikes_vers.tar.bz2)
|
||||
bsdtar -p -o -C $SRC -xf $(get_filename $file) ;;
|
||||
*)
|
||||
cp $(get_filename $file) $SRC ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
build() {
|
||||
find $SRC ! -type l -a \( -perm /go+w -o ! -perm /u+rw \) \
|
||||
-exec chmod go-w,u+w,a+r {} \;
|
||||
|
||||
mkdir -p $SRC/$name/{bin,lib,share/java}
|
||||
|
||||
cd $SRC/fastjar-$fastjar_vers
|
||||
patch -i $SRC/fastjar-jartool.c_rev1.62.patch
|
||||
patch -i $SRC/fix-update-mode.diff
|
||||
./configure --prefix=$SRC/$name
|
||||
make
|
||||
make install
|
||||
rm -r $SRC/$name/share/{info,man}
|
||||
|
||||
# Shutting off fp-emulation stopped jikes from segfaulting.
|
||||
# We need the source15 to build new enough classpath and to build openjdk6 later.
|
||||
cd $SRC/jikes-$jikes_vers
|
||||
./configure \
|
||||
--prefix=$SRC/$name \
|
||||
--disable-fp-emulation \
|
||||
--enable-source15
|
||||
make
|
||||
make install
|
||||
rm -r $SRC/$name/{man,share/doc}
|
||||
|
||||
OLD_PATH=$PATH
|
||||
export JAVA_HOME=$SRC/$name
|
||||
export PATH=$JAVA_HOME/bin:$PATH
|
||||
mkdir -p $SRC/tmp
|
||||
export HOME=$SRC/tmp
|
||||
|
||||
cd $SRC/classpath-$cp1_vers
|
||||
|
||||
./configure \
|
||||
--prefix=$SRC/$name \
|
||||
--disable-alsa \
|
||||
--disable-dssi \
|
||||
--disable-examples \
|
||||
--disable-gtk-peer \
|
||||
--disable-gconf-peer \
|
||||
--disable-plugin \
|
||||
--disable-Werror \
|
||||
--without-gjdoc
|
||||
make
|
||||
make install
|
||||
ln -s ../share/classpath/glibj.zip $SRC/$name/lib/rt.jar
|
||||
ln -s ../share/classpath/tools.zip $SRC/$name/lib/tools.jar
|
||||
rm -r $SRC/$name/info
|
||||
|
||||
cd $SRC/jamvm-$jamvm1_vers
|
||||
|
||||
./configure \
|
||||
--prefix=$SRC/$name \
|
||||
--enable-ffi \
|
||||
--with-classpath-install-dir=$SRC/$name
|
||||
make
|
||||
make install
|
||||
# jamvm install replaces the rt.jar link with one that's invalid.
|
||||
rm $SRC/$name/lib/rt.jar
|
||||
ln -s ../share/classpath/glibj.zip $SRC/$name/lib/rt.jar
|
||||
mv $SRC/$name/bin/jamvm{,.bin}
|
||||
# jamvm seems to have issues with running mutli-threaded, this set of options
|
||||
# seems to do a good job of preventing that.
|
||||
cat > $SRC/$name/bin/jamvm << EOF
|
||||
#!/bin/sh
|
||||
exec $SRC/$name/bin/jamvm.bin -Xmx1024m -Xnocompact -Xnoinlining -Djdt.compiler.useSingleThread=true "\$@"
|
||||
EOF
|
||||
chmod 0755 $SRC/$name/bin/jamvm
|
||||
ln -s jamvm $SRC/$name/bin/java
|
||||
|
||||
cd $SRC/apache-ant-$ant_vers
|
||||
|
||||
sed -i -e 's|\(depends="jars\),test-jar\("\)|\1\2|' build.xml
|
||||
touch $HOME/.ant.properties
|
||||
JAVAC=jikes \
|
||||
JAVACMD=$JAVA_HOME/bin/jamvm \
|
||||
CLASSPATH=$JAVA_HOME/lib/rt.jar \
|
||||
ANT_OPTS="-Dbuild.compiler=jikes" \
|
||||
BOOTJAVAC_OPTS="-nowarn" \
|
||||
/bin/bash ./build.sh -Ddist.dir=out dist
|
||||
rm -r out/manual
|
||||
rm out/{INSTALL,KEYS,LICENSE,NOTICE,README,WHATSNEW,lib/README}
|
||||
cp -a out $SRC/$name/lib/ant
|
||||
ln -s ../lib/ant/bin/ant $JAVA_HOME/bin/ant
|
||||
install -d -m 0755 $PKG/opt/$name/{bin,lib}
|
||||
cp -a out $PKG/opt/$name/lib/ant
|
||||
ln -s ../lib/ant/bin/ant $PKG/opt/$name/bin/ant
|
||||
|
||||
mkdir -p $SRC/ecj-$ecj_vers/src
|
||||
mv $SRC/ecjsrc.zip $SRC/ecj-$ecj_vers/src/ecj.zip
|
||||
cd $SRC/ecj-$ecj_vers
|
||||
mv $SRC/build.xml .
|
||||
ant --usejikes -f build.xml
|
||||
install -D ecj.jar $SRC/$name/share/java/ecj.jar
|
||||
install -D ecj.jar $PKG/opt/$name/share/java/ecj.jar
|
||||
|
||||
cat > $SRC/$name/bin/ecj << EOF
|
||||
#!/bin/sh
|
||||
exec $SRC/$name/bin/jamvm -cp $SRC/$name/share/java/ecj.jar \\
|
||||
org.eclipse.jdt.internal.compiler.batch.Main "\$@"
|
||||
EOF
|
||||
chmod 0755 $SRC/$name/bin/ecj
|
||||
cat > $PKG/opt/$name/bin/ecj << EOF
|
||||
#!/bin/sh
|
||||
exec /opt/$name/bin/jamvm -cp /opt/$name/share/java/ecj.jar \
|
||||
org.eclipse.jdt.internal.compiler.batch.Main "\$@"
|
||||
EOF
|
||||
chmod 0755 $PKG/opt/$name/bin/ecj
|
||||
|
||||
cd $SRC/classpath-$cp2_vers
|
||||
|
||||
JAVAC=$JAVA_HOME/bin/ecj \
|
||||
JAVA=$JAVA_HOME/bin/jamvm \
|
||||
GCJ_JAVAC_TRUE=no \
|
||||
./configure \
|
||||
--prefix=/opt/$name \
|
||||
--disable-alsa \
|
||||
--disable-dssi \
|
||||
--disable-examples \
|
||||
--disable-gconf-peer \
|
||||
--disable-gjdoc \
|
||||
--disable-gtk-peer \
|
||||
--disable-plugin \
|
||||
--disable-Werror \
|
||||
--with-ecj-jar=/opt/$name/share/java/ecj.jar \
|
||||
ac_cv_prog_java_works=yes
|
||||
make
|
||||
make DESTDIR=$PKG install
|
||||
rm -f $PKG/opt/$name/lib/{rt,tools}.jar
|
||||
ln -s ../share/classpath/glibj.zip $PKG/opt/$name/lib/rt.jar
|
||||
ln -s ../share/classpath/tools.zip $PKG/opt/$name/lib/tools.jar
|
||||
|
||||
rm -r $PKG/opt/$name/share/{info,man}
|
||||
|
||||
# TODO: eventually try to fix this by patching the classpath buildfiles.
|
||||
for f in gappletviewer gjar gjarsigner gjavah gkeytool gnative2ascii \
|
||||
gorbd grmic grmid grmiregistry gserialver gtnameserv; do
|
||||
sed -i -e "s,^\(exec\) .* \(-classpath .*\)$,\1 /opt/$name/bin/jamvm \2," \
|
||||
$PKG/opt/$name/bin/$f
|
||||
done
|
||||
|
||||
ln -s . $PKG/opt/$name/jre
|
||||
ln -s ecj $PKG/opt/$name/bin/javac
|
||||
ln -s gjar $PKG/opt/$name/bin/jar
|
||||
ln -s gjarsigner $PKG/opt/$name/bin/jarsigner
|
||||
ln -s gjavah $PKG/opt/$name/bin/javah
|
||||
ln -s gkeytool $PKG/opt/$name/bin/keytool
|
||||
ln -s gnative2ascii $PKG/opt/$name/bin/native2ascii
|
||||
ln -s gorbd $PKG/opt/$name/bin/orbd
|
||||
ln -s grmic $PKG/opt/$name/bin/rmic
|
||||
ln -s grmid $PKG/opt/$name/bin/rmid
|
||||
ln -s grmiregistry $PKG/opt/$name/bin/rmiregistry
|
||||
ln -s gserialver $PKG/opt/$name/bin/serialver
|
||||
ln -s gtnameserv $PKG/opt/$name/bin/tnameserv
|
||||
|
||||
cd $SRC/jamvm-$jamvm2_vers
|
||||
./configure \
|
||||
--prefix=/opt/$name \
|
||||
--enable-ffi \
|
||||
--with-classpath-install-dir=/opt/$name
|
||||
make
|
||||
make DESTDIR=$PKG install
|
||||
# jamvm install replaces the rt.jar link with one that's invalid.
|
||||
rm $PKG/opt/$name/lib/rt.jar
|
||||
ln -s ../share/classpath/glibj.zip $PKG/opt/$name/lib/rt.jar
|
||||
mv $PKG/opt/$name/bin/jamvm{,.bin}
|
||||
# jamvm seems to have issues with running mutli-threaded, this set of options
|
||||
# seems to do a good job of preventing that.
|
||||
cat > $PKG/opt/$name/bin/jamvm << EOF
|
||||
#!/bin/sh
|
||||
exec /opt/$name/bin/jamvm.bin -Xmx1024m -Xnocompact -Xnoinlining -Djdt.compiler.useSingleThread=true "\$@"
|
||||
EOF
|
||||
chmod 0755 $PKG/opt/$name/bin/jamvm
|
||||
ln -s jamvm $PKG/opt/$name/bin/java
|
||||
mv $PKG/opt/$name/lib/libjvm.so{,.0.0.0}
|
||||
ln -s libjvm.so.0.0.0 $PKG/opt/$name/lib/libjvm.so
|
||||
ln -s libjvm.so.0.0.0 $PKG/opt/$name/lib/libjvm.so.0
|
||||
find $PKG ! -type l -a \( -perm /go+w -o ! -perm /u+rw \) \
|
||||
-exec chmod go-w,u+rw {} \;
|
||||
}
|
4
java-init/README
Normal file
4
java-init/README
Normal file
@ -0,0 +1,4 @@
|
||||
This port is intended as a bootstrapper jdk for building openjdk6.
|
||||
The initial concept came about when I found out that gcc was going
|
||||
to remove gcj from its collection starting with gcc 7. Much of this
|
||||
port is based on the java bootstrapping in GUIX and Yocto.
|
49
java-init/build.xml
Normal file
49
java-init/build.xml
Normal file
@ -0,0 +1,49 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!-- build script to create a batch compiler from org.eclipse.jdt.core -->
|
||||
<project name="Compile ecj with javac" default="compile">
|
||||
<target name="init">
|
||||
<tstamp/>
|
||||
<property name="srcdir" value="src" />
|
||||
<property name="destdir" value="compiler" />
|
||||
<unzip src="${srcdir}/ecj.zip" dest="${srcdir}"/>
|
||||
</target>
|
||||
|
||||
<target name="compile" depends="init">
|
||||
|
||||
<echo message="TARGET: ${destdir}" />
|
||||
<delete dir="${destdir}"/>
|
||||
<mkdir dir="${destdir}"/>
|
||||
|
||||
<property name="compilerArg" value="-encoding ISO-8859-1" />
|
||||
<property name="javacSource" value="1.3" />
|
||||
<property name="javacTarget" value="1.2" />
|
||||
<property name="javacDebugInfo" value="on" />
|
||||
<property name="javacFailOnError" value="true" />
|
||||
|
||||
<record name="compilelog.txt" action="start" />
|
||||
<javac verbose="true"
|
||||
target="${javacTarget}"
|
||||
source="${javacSource}"
|
||||
srcdir="${srcdir}"
|
||||
destdir="${destdir}"
|
||||
debug="${javacDebugInfo}"
|
||||
failonerror="${javacFailOnError}">
|
||||
<compilerarg line="${compilerArg}"/>
|
||||
</javac>
|
||||
<record name="compilelog.txt" action="stop" />
|
||||
|
||||
<echo message="UPDATE ecj.jar" />
|
||||
<copy todir="${destdir}">
|
||||
<fileset dir="${srcdir}">
|
||||
<include name="**/*.properties"/>
|
||||
<include name="**/*.rsc"/>
|
||||
<exclude name="**/ecj.zip"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
<jar jarfile="ecj.jar">
|
||||
<fileset dir="${destdir}"/>
|
||||
</jar>
|
||||
|
||||
</target>
|
||||
</project>
|
133
java-init/fastjar-jartool.c_rev1.62.patch
Normal file
133
java-init/fastjar-jartool.c_rev1.62.patch
Normal file
@ -0,0 +1,133 @@
|
||||
http://cvs.savannah.gnu.org/viewvc/fastjar/jartool.c?root=fastjar&r1=1.59&r2=1.62&view=patch
|
||||
|
||||
Revision 1.62 - Thu Jun 10 11:32:48 2010 UTC (5 years, 6 months ago) by richi
|
||||
2010-06-10 Jakub Jelinek <jakub@redhat.com>
|
||||
Dan Rosenberg <dan.j.rosenberg@gmail.com>
|
||||
|
||||
* jartool.c (extract_jar): Fix up checks for traversal to parent
|
||||
directories, disallow absolute paths, make the code slightly more
|
||||
efficient.
|
||||
|
||||
Revision 1.61 - Thu Jun 10 08:46:10 2010 UTC (5 years, 6 months ago) by richi
|
||||
2010-06-10 Chris Ball <cjb@laptop.org>
|
||||
|
||||
* jartool.c (add_file_to_jar): Fix write return value check.
|
||||
|
||||
Revision 1.60 - Mon Mar 1 15:38:43 2010 UTC (5 years, 9 months ago) by richi
|
||||
2010-03-01 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* jartool.c (read_entries): Properly zero-terminate filename.
|
||||
|
||||
|
||||
--- jartool.c 2009/09/06 22:16:00 1.59
|
||||
+++ jartool.c 2010/06/10 11:32:48 1.62
|
||||
@@ -790,6 +790,7 @@
|
||||
progname, jarfile);
|
||||
return 1;
|
||||
}
|
||||
+ ze->filename[len] = '\0';
|
||||
len = UNPACK_UB4(header, CEN_EFLEN);
|
||||
len += UNPACK_UB4(header, CEN_COMLEN);
|
||||
if (lseek (fd, len, SEEK_CUR) == -1)
|
||||
@@ -1257,7 +1258,7 @@
|
||||
exit_on_error("write");
|
||||
|
||||
/* write the file name to the zip file */
|
||||
- if (1 == write(jfd, fname, file_name_length))
|
||||
+ if (-1 == write(jfd, fname, file_name_length))
|
||||
exit_on_error("write");
|
||||
|
||||
if(verbose){
|
||||
@@ -1730,7 +1731,17 @@
|
||||
struct stat sbuf;
|
||||
int depth = 0;
|
||||
|
||||
- tmp_buff = malloc(sizeof(char) * strlen((const char *)filename));
|
||||
+ if(*filename == '/'){
|
||||
+ fprintf(stderr, "Absolute path names are not allowed.\n");
|
||||
+ exit(EXIT_FAILURE);
|
||||
+ }
|
||||
+
|
||||
+ tmp_buff = malloc(strlen((const char *)filename));
|
||||
+
|
||||
+ if(tmp_buff == NULL) {
|
||||
+ fprintf(stderr, "Out of memory.\n");
|
||||
+ exit(EXIT_FAILURE);
|
||||
+ }
|
||||
|
||||
for(;;){
|
||||
const ub1 *idx = (const unsigned char *)strchr((const char *)start, '/');
|
||||
@@ -1738,25 +1749,28 @@
|
||||
if(idx == NULL)
|
||||
break;
|
||||
else if(idx == start){
|
||||
+ tmp_buff[idx - filename] = '/';
|
||||
start++;
|
||||
continue;
|
||||
}
|
||||
- start = idx + 1;
|
||||
|
||||
- strncpy(tmp_buff, (const char *)filename, (idx - filename));
|
||||
- tmp_buff[(idx - filename)] = '\0';
|
||||
+ memcpy(tmp_buff + (start - filename), (const char *)start, (idx - start));
|
||||
+ tmp_buff[idx - filename] = '\0';
|
||||
|
||||
#ifdef DEBUG
|
||||
printf("checking the existance of %s\n", tmp_buff);
|
||||
#endif
|
||||
- if(strcmp(tmp_buff, "..") == 0){
|
||||
+ if(idx - start == 2 && memcmp(start, "..", 2) == 0){
|
||||
--depth;
|
||||
if (depth < 0){
|
||||
fprintf(stderr, "Traversal to parent directories during unpacking!\n");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
- } else if (strcmp(tmp_buff, ".") != 0)
|
||||
+ } else if (idx - start != 1 || *start != '.')
|
||||
++depth;
|
||||
+
|
||||
+ start = idx + 1;
|
||||
+
|
||||
if(stat(tmp_buff, &sbuf) < 0){
|
||||
if(errno != ENOENT)
|
||||
exit_on_error("stat");
|
||||
@@ -1765,6 +1779,7 @@
|
||||
#ifdef DEBUG
|
||||
printf("Directory exists\n");
|
||||
#endif
|
||||
+ tmp_buff[idx - filename] = '/';
|
||||
continue;
|
||||
}else {
|
||||
fprintf(stderr, "Hmmm.. %s exists but isn't a directory!\n",
|
||||
@@ -1781,10 +1796,11 @@
|
||||
if(verbose && handle)
|
||||
printf("%10s: %s/\n", "created", tmp_buff);
|
||||
|
||||
+ tmp_buff[idx - filename] = '/';
|
||||
}
|
||||
|
||||
/* only a directory */
|
||||
- if(strlen((const char *)start) == 0)
|
||||
+ if(*start == '\0')
|
||||
dir = TRUE;
|
||||
|
||||
#ifdef DEBUG
|
||||
@@ -1792,7 +1808,7 @@
|
||||
#endif
|
||||
|
||||
/* If the entry was just a directory, don't write to file, etc */
|
||||
- if(strlen((const char *)start) == 0)
|
||||
+ if(*start == '\0')
|
||||
f_fd = -1;
|
||||
|
||||
free(tmp_buff);
|
||||
@@ -1876,7 +1892,8 @@
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
- close(f_fd);
|
||||
+ if (f_fd != -1)
|
||||
+ close(f_fd);
|
||||
|
||||
if(verbose && dir == FALSE && handle)
|
||||
printf("%10s: %s\n",
|
44
java-init/fix-update-mode.diff
Normal file
44
java-init/fix-update-mode.diff
Normal file
@ -0,0 +1,44 @@
|
||||
Index: b/compress.c
|
||||
===================================================================
|
||||
--- a/compress.c
|
||||
+++ b/compress.c
|
||||
@@ -86,6 +86,10 @@ write_data (int fd, void *buf, size_t le
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
}
|
||||
+ else if (!next && here + len >= end_of_entries)
|
||||
+ {
|
||||
+ end_of_entries = here + len;
|
||||
+ }
|
||||
}
|
||||
|
||||
return write (fd, buf, len);
|
||||
Index: b/jartool.c
|
||||
===================================================================
|
||||
--- a/jartool.c
|
||||
+++ b/jartool.c
|
||||
@@ -1273,15 +1273,18 @@ int add_file_to_jar(int jfd, int ffd, co
|
||||
compress_file(ffd, jfd, ze, existing);
|
||||
} else {
|
||||
/* If we are not writing the last entry, make space for it. */
|
||||
- if (existing && existing->next_entry)
|
||||
+ if (existing)
|
||||
{
|
||||
- if (ze->usize > existing->usize)
|
||||
+ if (existing->next_entry)
|
||||
{
|
||||
- if (shift_down (jfd, existing->next_entry->offset,
|
||||
- ze->usize - existing->usize, existing->next_entry))
|
||||
+ if (ze->usize > existing->usize)
|
||||
{
|
||||
- fprintf (stderr, "%s: %s\n", progname, strerror (errno));
|
||||
- return 1;
|
||||
+ if (shift_down (jfd, existing->next_entry->offset,
|
||||
+ ze->usize - existing->usize, existing->next_entry))
|
||||
+ {
|
||||
+ fprintf (stderr, "%s: %s\n", progname, strerror (errno));
|
||||
+ return 1;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user