Created
April 16, 2025 09:04
-
-
Save liweinan/4258fb819ec205976bd8bf27eeb3264b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
set -x | |
. ./functions.sh | |
pwdir="$(dirname '$0')" | |
ip='download.eng.bos.redhat.com' | |
alias wget='wget -nc' | |
# Stop the script if any errors occur. | |
errhandler() | |
{ | |
errcode=$? | |
# wget returns 8 for not found | |
if [[ ($errcode -eq 8) ]] ; then | |
: | |
elif [[ ($errcode -eq 4) ]] ; then | |
# unable to resolve host address | |
# this is for rhel and windows builds only | |
# solaris platform has stable ip address | |
prefix="wget: unable to resolve host address" | |
host=`grep "${prefix}" wget.out` | |
host=${host#${prefix}} | |
host=`echo ${host} | tr -cd '[[:alnum:]]._-'` | |
ip=`dig +short @127.0.0.1 -p 8053 ${host} | tail -1` | |
download_packages | |
else | |
echo "LINE $1: command exited with status $errcode." | |
exit $errcode | |
fi | |
} | |
trap 'errhandler $LINENO' ERR | |
# DON'T EDIT ME, IT'S AUTOMATED! | |
my_sunrel_src='' | |
my_sunrel_appserver='43.sun10' | |
my_winrel_src='' | |
my_winrel_appserver='43.win6' | |
my_el6_ver='51.ep7.el6' | |
my_el7_ver='51.ep7.el7' | |
my_hibernate_ver='4.2.23' | |
my_hibernate_rel='1.Final_redhat_1.1.ep6.el6' | |
my_hibernate_zip='hibernate4-zip-4.2.23-1.Final_redhat_1.1.ep6.el6.noarch.rpm' | |
my_tomcat_vault_ver='1.1.6' | |
my_tomcat_vault_rel='1.Final_redhat_1.1.ep7.el7' | |
# END OF AUTOMATION | |
# RHEL Packages | |
function download_packages { | |
trap 'errhandler $LINENO' ERR | |
el_zip="${pkg_name}-zip-${pkg_ver}-${pkg_rel}.${arch}.rpm" | |
el_link="http://${ip}/brewroot/packages/${pkg_name}/${pkg_ver}/${pkg_rel}/${arch}/${el_zip}" | |
wget $el_link 2> wget.out | |
if [ -f "${el_zip}" ]; then | |
rpm2cpio ${el_zip} | cpio -idv | |
else | |
el_link="http://${ip}/brewroot/vol/rhel-6/packages/${pkg_name}/${pkg_ver}/${pkg_rel}/${arch}/${el_zip}" | |
wget $el_link 2> wget.out | |
if [ -f "${el_zip}" ]; then | |
rpm2cpio ${el_zip} | cpio -idv | |
fi | |
fi | |
} | |
# el7 | |
pkg_archs=("ppc64" "x86_64") | |
pkg_ver="${jws_ver}" | |
pkg_rel="${my_el7_ver}" | |
pkg_name="${el_pkg_name}" | |
# first run is just to get ip | |
arch=${pkg_archs[0]} | |
download_packages # get host name | |
download_packages # get cache server ip | |
for arch in "${pkg_archs[@]}" | |
do | |
download_packages | |
done | |
# el6 | |
pkg_archs=("i686" "x86_64" "ppc64") | |
pkg_ver="${jws_ver}" | |
pkg_rel="${my_el6_ver}" | |
pkg_name="${el_pkg_name}" | |
for arch in "${pkg_archs[@]}" | |
do | |
download_packages | |
done | |
# tomcat-vault | |
arch="noarch" | |
pkg_ver="${my_tomcat_vault_ver}" | |
pkg_rel="${my_tomcat_vault_rel}" | |
pkg_name="tomcat-vault" | |
download_packages | |
# Hibernate | |
wget "http://${ip}/brewroot/packages/hibernate4/${my_hibernate_ver}/${my_hibernate_rel}/noarch/${my_hibernate_zip}" 2> wget.out | |
rpm2cpio ${my_hibernate_zip} | cpio -idv | |
mv -f ./usr/share/java/hibernate4-fordev/*.zip . | |
# Windows Packages | |
winrel_src=${my_winrel_src} | |
winrel_src_zip="${win_pkg_name}-${jws_ver}-${winrel_src}.src.zip" | |
winrel_src_link="http://${ip}/brewroot/packages/${win_pkg_name}/${jws_ver}/${winrel_src}/win/${winrel_src_zip}" | |
wget $winrel_src_link 2> wget.out | |
winrel_archs=("i686" "x86_64") | |
winrel_components=("application-servers") | |
winrel_appserver=${my_winrel_appserver} | |
for component in "${winrel_components[@]}" | |
do | |
case "$component" in | |
"application-servers" ) winrel_component_ver="${winrel_appserver}";; | |
esac | |
for arch in "${winrel_archs[@]}" | |
do | |
winrel_component_zip="${win_pkg_name}-${component}-${jws_ver}-${winrel_component_ver}.${arch}.zip" | |
winrel_component_link="http://${ip}/brewroot/packages/${win_pkg_name}-${component}/${jws_ver}/${winrel_component_ver}/win/${winrel_component_zip}" | |
wget $winrel_component_link 2> wget.out | |
done | |
done | |
# Solaris Packages | |
# FIXME: we don't have jws-src yet, the 'sunrel_src_link' may need to be adjusted after we have it. | |
sunrel_src=${my_sunrel_src} | |
sunrel_src_zip="${sun_pkg_name}-${jws_ver}-${sunrel_src}.src.zip" | |
sunrel_src_link="${sunrel_link_base}-src/${jws_ver}/${sunrel_src}/src/${sunrel_src_zip}" | |
wget $sunrel_src_link 2> wget.out | |
sunrel_archs=("i386" "sparc64" "x86_64") | |
sunrel_components=("application-servers") | |
sunrel_appserver=${my_sunrel_appserver} | |
for component in "${sunrel_components[@]}" | |
do | |
case "$component" in | |
"application-servers" ) sunrel_component_ver="${sunrel_appserver}";; | |
esac | |
for arch in "${sunrel_archs[@]}" | |
do | |
sunrel_component_zip="jws-${component}-${jws_ver}-${sunrel_component_ver}.${arch}.zip" | |
sunrel_component_link="${sunrel_link_base}-${component}/${jws_ver}/${sunrel_component_ver}/${arch}/${sunrel_component_zip}" | |
wget $sunrel_component_link 2> wget.out | |
done | |
done | |
# Cleanup | |
if [ -d ./usr/share/java/tomcat-vault-fordev ]; then | |
mv -f ./usr/share/java/tomcat-vault-fordev/*.zip . | |
fi | |
mv -f ./usr/share/java/jbossas-fordev/*.zip . |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
download.sh: