46 lines
1.6 KiB
Bash
46 lines
1.6 KiB
Bash
|
#! /bin/bash
|
||
|
|
||
|
set -e -x
|
||
|
|
||
|
mkdir -p artifacts
|
||
|
pushd build
|
||
|
|
||
|
rm -rf root && mkdir root && cd root
|
||
|
|
||
|
# change these variables when updating java version
|
||
|
mirror_url_base="http://mirror.centos.org/centos/6.7/updates/x86_64/Packages"
|
||
|
openjdk=java-1.7.0-openjdk-1.7.0.85-2.6.1.3.el6_7.x86_64.rpm
|
||
|
openjdk_devel=java-1.7.0-openjdk-devel-1.7.0.85-2.6.1.3.el6_7.x86_64.rpm
|
||
|
jvm_openjdk_dir=java-1.7.0-openjdk-1.7.0.85.x86_64
|
||
|
|
||
|
# grab the rpm and unpack it
|
||
|
wget ${mirror_url_base}/${openjdk}
|
||
|
wget ${mirror_url_base}/${openjdk_devel}
|
||
|
rpm2cpio $openjdk | cpio -ivd
|
||
|
rpm2cpio $openjdk_devel | cpio -ivd
|
||
|
|
||
|
cd usr/lib/jvm
|
||
|
mv $jvm_openjdk_dir java_home
|
||
|
|
||
|
# cacerts is a relative symlink, which doesn't work when we repackage. Make it
|
||
|
# absolute. We could use tar's --dereference option, but there's a subtle
|
||
|
# difference between making the symlink absolute and using --dereference.
|
||
|
# Making the symlink absolute lets the consuming system set the cacerts; using
|
||
|
# --dereference takes the producing system's cacerts and sets them in stone. We
|
||
|
# prefer the flexibility of the former.
|
||
|
rm java_home/jre/lib/security/cacerts
|
||
|
ln -s /etc/pki/java/cacerts java_home/jre/lib/security/cacerts
|
||
|
|
||
|
# document version this is based on
|
||
|
echo "Built from ${mirror_url_Base}
|
||
|
${openjdk}
|
||
|
${openjdk_devel}
|
||
|
|
||
|
Run through rpm2cpio | cpio, and /usr/lib/jvm/${jvm_openjdk_dir} renamed to 'java_home'." > java_home/VERSION
|
||
|
|
||
|
# tarball the unpacked rpm and put it in the taskcluster upload artifacts dir
|
||
|
tar -Jvcf java_home-${jvm_openjdk_dir}.tar.xz java_home
|
||
|
popd
|
||
|
|
||
|
mv build/root/usr/lib/jvm/java_home-${jvm_openjdk_dir}.tar.xz artifacts
|