JavaBuildNotes

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:

# tar -xzpvP --no-same-owner -f jre-1.4.2.tar.gz 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 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 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
 * 1) !/bin/bash
 * 1) unzip the files using absolute paths
 * 1) post-unzip tasks
 * 1) Use /etc/profile.local instead?
 * 1) Register with PupGet as an alien package

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