JavaBuildNotes

From Inveneo

Jump to: navigation, search

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
Personal tools