CentOS6ZipBundle - daudo/ojdkbuild GitHub Wiki
Bundle java-1.8.0-openjdk
binary package from CentOS 6 as a "relatively portable" ZIP bundle.
Linux x86_64 machine that can run Docker.
Setup CentOS 6 instance:
curl -LO http://cloud.centos.org/centos/6/images/CentOS-6-x86_64-GenericCloud.qcow2.xz
xz -d CentOS-6-x86_64-GenericCloud.qcow2.xz
virt-tar-out -a CentOS-6-x86_64-GenericCloud.qcow2 / - | sudo docker import - centos6_jdk
sudo docker run -id --name centos6_jdk centos6_jdk bash
Login into it and install required packages:
sudo docker exec -it centos6_jdk bash
yum update -y
yum install zip yum-utils -y
adduser jdk
su - jdk
Under normal user, download java-1.8.0-openjdk
binary packages and some dependencies:
mkdir tmp
cd tmp
yumdownloader java-1.8.0-openjdk java-1.8.0-openjdk-headless java-1.8.0-openjdk-devel java-1.8.0-openjdk-src ca-certificates tzdata-java dejavu-sans-fonts dejavu-sans-mono-fonts dejavu-serif-fonts
for fi in `ls *.rpm` ; do rpm2cpio $fi | cpio -idmv ; done
Add timezone data, CA certificates file and fonts:
rm ./usr/lib/jvm/java-1.8.0-openjdk.x86_64/jre/lib/tzdb.dat
cp ./usr/share/javazi-1.8/tzdb.dat ./usr/lib/jvm/java-1.8.0-openjdk.x86_64/jre/lib/
rm ./usr/lib/jvm/java-1.8.0-openjdk.x86_64/jre/lib/security/cacerts
cp ./etc/pki/java/cacerts ./usr/lib/jvm/java-1.8.0-openjdk.x86_64/jre/lib/security/
cp -r ./usr/share/fonts/dejavu/ ./usr/lib/jvm/java-1.8.0-openjdk.x86_64/jre/lib/fonts/
Rename library for SunEC
security provider effectively disabling it (it may fail outside of CentOS, see details):
mv ./usr/lib/jvm/java-1.8.0-openjdk.x86_64/jre/lib/amd64/libsunec.so ./usr/lib/jvm/java-1.8.0-openjdk.x86_64/jre/lib/amd64/libsunec.so_DISABLED
Bundle image (replace <version>
):
mv ./usr/lib/jvm/java-1.8.0-openjdk-<version>.x86_64/ .
zip -qr9 java-1.8.0-openjdk-<version>.x86_64.zip java-1.8.0-openjdk-<version>.el6.x86_64