JavaBuildNotes
From Inveneo
InveneoPuppyLinux | PackagesAdded
JRE is added as a custom package in order to have the latest version & to have the package register with PupGet.
DotPup used instead of PupGet since both neither can use script-based functionality with PCCC & DotPups are more easily added to a live system (can simply double-click in ROX)
Latest stable source:
ftp://mirrors.ibiblio.org/pub/mirrors/blackdown/JDK-1.4.2/i386/03/j2re-1.4.2-03-linux-i586.bin
Switched to Blackdown as it can be stripped down to 12 Mb compressed (vs 30Mb). Only v1.4.2, but this shouldn't be a limitation in practise
Installation:
chmod +x j2re-1.4.2-03-linux-i586.bin ./j2re-1.4.2-03-linux-i586.bin mv j2re1.4.2 /usr/local
Remove unnecessary files:
rm -f /usr/local/j2re1.4.2/CHANGES rm -f /usr/local/j2re1.4.2/THIRDPARTYLICENSEREADME.txt rm -rf /usr/local/j2re1.4.2/man rm -rf /usr/local/j2re1.4.2/plugin/desktop rm -rf /usr/local/j2re1.4.2/plugin/i386/netscape4 rm -rf /usr/local/j2re1.4.2/javaws rm -f /usr/local/j2re1.4.2/bin/tnameserv rm -f /usr/local/j2re1.4.2/bin/servertool rm -f /usr/local/j2re1.4.2/bin/rmiregistry rm -f /usr/local/j2re1.4.2/bin/kinit rm -f /usr/local/j2re1.4.2/bin/klist rm -f /usr/local/j2re1.4.2/bin/policytool rm -f /usr/local/j2re1.4.2/bin/ktab rm -f /usr/local/j2re1.4.2/bin/orbd rm -f /usr/local/j2re1.4.2/bin/rmid rm -f /usr/local/j2re1.4.2/bin/keytool rm -rf /usr/local/j2re1.4.2/lib/audio rm -rf /usr/local/j2re1.4.2/lib/cmm rm -rf /usr/local/j2re1.4.2/lib/ext rm -rf /usr/local/j2re1.4.2/lib/i386/server rm -f /usr/local/j2re1.4.2/lib/i386/libverify.so rm -f /usr/local/j2re1.4.2/lib/i386/libmlib_image.so rm -f /usr/local/j2re1.4.2/lib/i386/libjaas_unix.so rm -f /usr/local/j2re1.4.2/lib/i386/libjsound.so rm -f /usr/local/j2re1.4.2/lib/charsets.jar rm -f /usr/local/j2re1.4.2/lib/jce.jar rm -f /usr/local/j2re1.4.2/lib/jsse.jar rm -f /usr/local/j2re1.4.2/lib/plugin.jar rm -f /usr/local/j2re1.4.2/lib/rt.jar rm -f /usr/local/j2re1.4.2/lib/sunrsasign.jar rm -f /usr/local/j2re1.4.2/lib/font.properties.zh_HK_UTF8.Sun2003 rm -f /usr/local/j2re1.4.2/lib/font.properties.ja.Redhat7.3 rm -f /usr/local/j2re1.4.2/lib/font.properties.Redhat8.0 rm -f /usr/local/j2re1.4.2/lib/font.properties.zh_CN.Redhat rm -f /usr/local/j2re1.4.2/lib/font.properties.ja_JP.Sun rm -f /usr/local/j2re1.4.2/lib/font.properties.Redhat6.1 rm -f /usr/local/j2re1.4.2/lib/font.properties.zh_TW.Redhat rm -f /usr/local/j2re1.4.2/lib/font.properties.zh_CN.Redhat2.1 rm -f /usr/local/j2re1.4.2/lib/font.properties.ko_KR_UTF8.Sun rm -f /usr/local/j2re1.4.2/lib/font.properties.ja.Redhat6.1 rm -f /usr/local/j2re1.4.2/lib/font.properties.ja.Turbo rm -f /usr/local/j2re1.4.2/lib/font.properties.ko_KR.Sun rm -f /usr/local/j2re1.4.2/lib/font.properties.zh_CN.Sun rm -f /usr/local/j2re1.4.2/lib/font.properties.ko_KR_UTF8.Sun2003 rm -f /usr/local/j2re1.4.2/lib/font.properties.ja_JP_UTF8.Sun rm -f /usr/local/j2re1.4.2/lib/font.properties.zh_CN_UTF8.Sun rm -f /usr/local/j2re1.4.2/lib/font.properties.ko.Redhat2.1 rm -f /usr/local/j2re1.4.2/lib/font.properties.zh_TW_UTF8.Sun rm -f /usr/local/j2re1.4.2/lib/font.properties.SuSE rm -f /usr/local/j2re1.4.2/lib/font.properties.zh_TW_UTF8.Sun2003 rm -f /usr/local/j2re1.4.2/lib/font.properties.zh_TW.Redhat2.1 rm -f /usr/local/j2re1.4.2/lib/font.properties.ja_JP.Sun2003 rm -f /usr/local/j2re1.4.2/lib/font.properties.SuSE8.0 rm -f /usr/local/j2re1.4.2/lib/font.properties.ko.Redhat rm -f /usr/local/j2re1.4.2/lib/font.properties.Mandrakelinux rm -f /usr/local/j2re1.4.2/lib/font.properties.zh_HK_UTF8.Sun rm -f /usr/local/j2re1.4.2/lib/font.properties.ja.Redhat6.2 rm -f /usr/local/j2re1.4.2/lib/font.properties.zh_HK.Sun rm -f /usr/local/j2re1.4.2/lib/font.properties.ja_JP_UTF8.Sun2003 rm -f /usr/local/j2re1.4.2/lib/font.properties.ja.Turbo6.0 rm -f /usr/local/j2re1.4.2/lib/font.properties.zh_CN.Redhat4 rm -f /usr/local/j2re1.4.2/lib/font.properties.zh.Turbo rm -f /usr/local/j2re1.4.2/lib/font.properties.zh_TW.Sun rm -f /usr/local/j2re1.4.2/lib/font.properties.ja.Redhat4 rm -f /usr/local/j2re1.4.2/lib/font.properties.ja.Redhat7.2 rm -f /usr/local/j2re1.4.2/lib/font.properties.ja.Redhat3 rm -f /usr/local/j2re1.4.2/lib/font.properties.ja.Redhat8.0
Packaging for Puppy:
dotpup.sh:
#!/bin/bash
#
# unzip the files using absolute paths
tar -xzpvP --no-same-owner -f jre-1.4.2.tar.gz
# post-unzip tasks
ln -sf /usr/local/j2re1.4.2 /usr/local/jre
if [ -e /usr/lib/mozilla ];then
ln -sf /usr/local/jre/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla/plugins/libjavaplugin_oji.so
fi
if [ -e /usr/lib/firefox ];then
ln -sf /usr/local/jre/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/firefox/plugins/libjavaplugin_oji.so
fi
# Use /etc/profile.local instead?
cp -f /etc/profile /etc/profile.prejava
sed -e '/^LD_LIBRARY_PATH=/{' \
-e 'a\' \
-e '\' \
-e 'if [ -e /usr/local/jre ];then\' \
-e ' PATH="/usr/local/jre/bin:$PATH"\' \
-e ' JAVA_PATH=/usr/local/jre\' \
-e ' export JAVA_PATH\' \
-e 'fi' \
-e '}' /etc/profile > /etc/profile.java
cp -f /etc/profile.java /etc/profile
# Register with PupGet as an alien package
echo '"jre-1.4.2" "jre-1.4.2" on "CONSAPPS 11M" \' >> /root/.packages/alienpackages.txt
echo "jre-1.4.2" > /root/.packages/jre-1.4.2.keyword
mv /tmp/jre-1.4.2.files /root/.packages/jre-1.4.2.files
exit 0
tar cvfP jre-1.4.2.tar /usr/local/j2re1.4.2 find /usr/local/j2re1.4.2 > /tmp/jre-1.4.2.files find /tmp/jre-1.4.2.files >> /tmp/jre-1.4.2.files tar rvfP jre-1.4.2.tar /tmp/jre-1.4.2.files gzip -9 jre-1.4.2.tar md5sum dotpup.sh > md5sum.txt md5sum jre-1.4.2.tar.gz >> md5sum.txt zip -r -9 jre-1.4.2.pup dotpup.sh md5sum.txt jre-1.4.2.tar.gz
Install package:
dotpuprox.sh jre-1.4.2.pup
Possible optimisations of Sun's JRE (85Mb instead of 88Mb):
rm -rf /usr/local/jre/plugin/i386/ns7-gcc29 rm -rf /usr/local/jre/lib/i386/libjavaplugin_nscp_gcc29.so rm -rf /usr/local/jre/plugin/desktop rm -rf /usr/local/jre1.5.0_06/man/ja_JP.eucJP rm -rf /usr/local/jre1.5.0_06/lib/javaws/messages_zh_TW.properties rm -rf /usr/local/jre1.5.0_06/lib/javaws/messages_de.properties rm -rf /usr/local/jre1.5.0_06/lib/javaws/messages_es.properties rm -rf /usr/local/jre1.5.0_06/lib/javaws/messages_fr.properties rm -rf /usr/local/jre1.5.0_06/lib/javaws/messages_it.properties rm -rf /usr/local/jre1.5.0_06/lib/javaws/messages_ja.properties rm -rf /usr/local/jre1.5.0_06/lib/javaws/messages_ko.properties rm -rf /usr/local/jre1.5.0_06/lib/javaws/messages_sv.properties rm -rf /usr/local/jre1.5.0_06/lib/javaws/messages_zh_CN.properties rm -rf /usr/local/jre1.5.0_06/lib/javaws/messages_zh_HK.properties rm -rf /usr/local/jre1.5.0_06/lib/fontconfig.RedHat.* rm -rf /usr/local/jre1.5.0_06/lib/fontconfig.Sun.* rm -rf /usr/local/jre1.5.0_06/lib/fontconfig.SuSE.* rm -rf /usr/local/jre1.5.0_06/lib/fontconfig.Turbo.* strip /usr/local/jre1.5.0_06/bin/java_vm strip /usr/local/jre1.5.0_06/bin/javaws strip /usr/local/jre1.5.0_06/bin/unpack200 strip /usr/local/jre1.5.0_06/lib/i386/*.so strip /usr/local/jre1.5.0_06/lib/i386/xawt/*.so strip /usr/local/jre1.5.0_06/lib/i386/motif21/*.so strip /usr/local/jre1.5.0_06/lib/i386/headless/*.so strip /usr/local/jre1.5.0_06/lib/i386/native_threads/*.so strip /usr/local/jre1.5.0_06/lib/i386/client/libjvm.so strip /usr/local/jre1.5.0_06/lib/i386/server/libjvm.so
Possible minimal JRE (66Mb so far & needs more testing):
/usr/local/jre1.5.0_06/lib/i386/libjavaplugin_nscp.so /usr/local/jre1.5.0_06/bin/java_vm /usr/local/jre1.5.0_06/lib/i386/client/libjvm.so /usr/local/jre1.5.0_06/lib/i386/native_threads/libhpi.so /usr/local/jre1.5.0_06/lib/i386/libverify.so /usr/local/jre1.5.0_06/lib/i386/libjava.so /usr/local/jre1.5.0_06/lib/i386/libzip.so /usr/local/jre1.5.0_06/lib/rt.jar /usr/local/jre1.5.0_06/lib/jsse.jar /usr/local/jre1.5.0_06/lib/jce.jar /usr/local/jre1.5.0_06/lib/charsets.jar /usr/local/jre1.5.0_06/lib/plugin.jar /usr/local/jre1.5.0_06/lib/deploy.jar /usr/local/jre1.5.0_06/lib/i386/client/classes.jsa /usr/local/jre1.5.0_06/lib/i386/libawt.so /usr/local/jre1.5.0_06/lib/i386/libmlib_image.so /usr/local/jre1.5.0_06/lib/i386/xawt/libmawt.so /usr/local/jre1.5.0_06/lib/i386/libjavaplugin_jni.so /usr/local/jre1.5.0_06/lib/logging.properties /usr/local/jre1.5.0_06/lib/fontconfig.properties /usr/local/jre1.5.0_06/lib/fontconfig.bfc /usr/local/jre1.5.0_06/lib/i386/libfontmanager.so /usr/local/jre1.5.0_06/lib/i386/libdeploy.so /usr/local/jre1.5.0_06/lib/zi/ZoneInfoMappings

