#!/bin/bash # # Rebase to nss and nspr using mock to build # Using beta candidates # export_tags() { export nspr_v=${NSPR_V} export nspr_r=${NSPR_R} export nss_v=${NSS_V} export nss_r=${NSS_R} export nss_util_v=${NSS_UTIL_V} export nss_util_r=${NSS_UTIL_R} export nss_softokn_v=${NSS_SOFTOKN_V} export nss_softokn_r=${NSS_SOFTOKN_R} export target=${TARGET} export dist=${DIST} export arch=${ARCH} export archalso=${ARCHALSO} } #---------------------------------------------------------- # Defaults are mostly empty, so that package won't be built # unless two values {version,release} are passed in nspr_v= nspr_r= nss_v= nss_r= nss_util_v= nss_util_r= nss_softokn_v= nss_softokn_r= target=16 dist=f16 arch=x86_64 archalso=x86_64 while getopts :a:b:c:d:e:f:g:h:i:j: opt do case $opt in a) nspr_v="$OPTARG";; b) nspr_r="$OPTARG";; c) nss_v="$OPTARG";; d) nss_r="$OPTARG";; e) nss_util_v="$OPTARG";; f) nss_util_r="$OPTARG";; g) nss_softokn_v="$OPTARG";; h) nss_softokn_r="$OPTARG";; i) target="$OPTARG";; j) arch="$OPTARG";; ?) printf "Usage: %s [-a nspr_v] [-b nspr_r] [-c nss_version] [-d nss_r] [-e nss_util_v] [-f nss_util_r] [-g nss_softokn_v] [-h nss_softokn_r] [-i dist] [-j arch]\n" $0 exit 2;; esac done if [ "${TARGET}" = "rawhide" ]; then # change as we move along TARGET = f17 DIST="rawhide" fi if [ "${ARCH}" = "i386" ]; then ARCHALSO="i686" fi echo "nspr_v=${nspr_v}" echo "nspr_r=${nspr_r}" echo "nss_v=${nss_v}" echo "nss_r=${nss_r}" echo "nss_util_v=${nss_util_v}" echo "nss_util_r=${nss_util_r}" echo "nss_softokn_v=${nss_softokn_v}" echo "nss_softokn_r=${nss_softokn_r}" echo "target=${target}" echo "dist=${dist}" echo "arch=${arch}" echo "archalso=${archalso}" # initialize the mock environment and install # packages we will need later when building nss mock -r fedora-${dist}-${arch} --init mock -r fedora-${dist}-${arch} --install sqlite-devel zlib-devel pkgconfig gawk psmisc perl vim mock -r fedora-${dist}-${arch} --install nspr-devel nss-util-devel nss-softokn-devel nss-devel nssPkgs="nspr nss-util nss_softokn nss" for pkg in $nssPkgs; do if [ -n ${pkg}_v} ] && [ -n ${pkg}_r ]; then cd ${pkg}; fedpkg clean; fedpkg srpm # mock -r fedora-${dist}-${arch} --installdeps ${pkg}-*.fc${target}.src.rpm mock -r fedora-${dist}-${arch} --copyin ${pkg}-*.fc${target}.src.rpm /tmp fi done # copy the build script into mock mock -r fedora-${dist}-${arch} --copyin ./mock-build-inside.sh /usr/bin mock -r fedora-${dist}-${arch} --copyin ./mock-build-install-nss.sh /usr/bin mock -r fedora-${dist}-${arch} --copyin ./install-clients-deps.sh /usr/bin # create a mock shell #mock -r fedora-${dist}-${arch} --shell #exit # mock-build-inside.sh -a ${nspr_v} -b ${nspr_r} -c ${nss_version} -d ${nss_r} -e ${dist} -f ${arch}