Created
April 16, 2025 09:04
-
-
Save liweinan/4258fb819ec205976bd8bf27eeb3264b to your computer and use it in GitHub Desktop.
Revisions
-
liweinan created this gist
Apr 16, 2025 .There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,165 @@ #!/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 .