diff options
author | mharmsen <mharmsen@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2011-03-01 01:27:13 +0000 |
---|---|---|
committer | mharmsen <mharmsen@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2011-03-01 01:27:13 +0000 |
commit | 23d17444dd634f4d647dceb067e11230fda60540 (patch) | |
tree | 869b9b15835407d22cfbcb0f75b9ee366ddfb31a /pki/scripts/compose_functions | |
parent | 4be7b0868e23c62f20813c3ce1c4f43ade997896 (diff) | |
download | pki-23d17444dd634f4d647dceb067e11230fda60540.tar.gz pki-23d17444dd634f4d647dceb067e11230fda60540.tar.xz pki-23d17444dd634f4d647dceb067e11230fda60540.zip |
Revised compose scripts to allow them to use 'patches'.
git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/trunk@1871 c9f7a03b-bd48-0410-a16d-cbbf54688b0b
Diffstat (limited to 'pki/scripts/compose_functions')
-rw-r--r-- | pki/scripts/compose_functions | 132 |
1 files changed, 127 insertions, 5 deletions
diff --git a/pki/scripts/compose_functions b/pki/scripts/compose_functions index 5bd54ebb..ac03bc32 100644 --- a/pki/scripts/compose_functions +++ b/pki/scripts/compose_functions @@ -37,6 +37,35 @@ fi ## +## Establish various shared variables +## + +PKI_DIR="pki" +export PKI_DIR + +PKI_BASE_DIR="${PKI_DIR}/base" +export PKI_BASE_DIR + +PKI_DOGTAG_DIR="${PKI_DIR}/dogtag" +export PKI_DOGTAG_DIR + +PKI_PATCHES_DIR="${PKI_DIR}/patches" +export PKI_PATCHES_DIR + +PKI_FILE_LIST="CMakeLists.txt COPYING CPackConfig.cmake ConfigureChecks.cmake DefineOptions.cmake README cmake_uninstall.cmake.in config.h.cmake" +export PKI_FILE_LIST + +PKI_CMAKE_DIR="cmake" +export PKI_CMAKE_DIR + +PKI_BASE_MANIFEST="CMakeLists.txt" +export PKI_BASE_MANIFEST + +PKI_DOGTAG_MANIFEST="CMakeLists.txt" +export PKI_DOGTAG_MANIFEST + + +## ## Usage statement ## @@ -45,10 +74,95 @@ Usage() printf "\n" printf "Usage: $0 <target>\n\n" printf " where <target> is one of the following:\n\n" - printf " srpm - produces tarball, spec, and SRPM\n" - printf " [suitable for use by 'mock']\n\n" - printf " rpms - produces tarball, spec, SRPM, and RPM(S)\n" - printf " ${MESSAGE}\n\n" + printf " srpm - produces tarball, spec, and SRPM\n" + printf " [suitable for use by 'mock']\n\n" + printf " rpms - produces tarball, spec, SRPM, and\n" + printf " RPMS(S)\n" + printf " ${MESSAGE}\n\n" + printf " patched_srpm - copies tarball, patches, and spec\n" + printf " to produce an SRPM\n" + printf " [suitable for use by 'mock']\n\n" + printf " patched_rpms - copies tarball, patches, and spec\n" + printf " to produce an SRPM and RPM(s)\n" + printf " ${MESSAGE}\n\n" +} + + +## +## Copy Specified Source Tarball and Patches to SOURCES +## +Retrieve_Source_Tarball_and_Patches() +{ + if [ $# -ne 3 ] ; then + Usage + exit 255 + fi + + SPECFILE=$1 + PATCHES_DIR=$2 + TARGET_DIR=$3 + + if [ ! -f ${SPECFILE} ] ; then + printf "ERROR: '${SPECFILE}' is missing!\n\n" + Usage + exit 255 + elif [ ! -d ${PATCHES_DIR} ] ; then + printf "ERROR: '${PATCHES_DIR}' does NOT exist!\n\n" + Usage + exit 255 + elif [ ! -d ${TARGET_DIR} ] ; then + printf "ERROR: '${TARGET_DIR}' does NOT exist!\n\n" + Usage + exit 255 + fi + + component_name_marker="Name" + component_version_marker="Version" + component_tarball_marker="Source" + component_patch_marker="Patch" + + component_name="" + component_version="" + component_tarball="" + component_patch="" + + exec < ${SPECFILE} + while read line; do + entry=`echo $line | cut -d: -f 1` + if [ "${entry:0:4}" = "${component_name_marker}" ] ; then + component_name=`echo $line | cut -d' ' -f 2` + elif [ "${entry:0:7}" = "${component_version_marker}" ] ; then + component_version=`echo $line | cut -d' ' -f 2` + elif [ "${entry:0:6}" = "${component_tarball_marker}" ] ; then + value=`echo $line | cut -d' ' -f 2` + component_tarball=`echo $value | sed -e "s/\%{name}/${component_name}/g" -e "s/\%{version}/${component_version}/g"` + wget -q -O ${TARGET_DIR}/`basename ${component_tarball}` ${component_tarball} + if [ $? -ne 0 ] ; then + printf "ERROR: Failed to download '${component_tarball}'!\n\n" + Usage + exit 255 + elif [ ! -f ${TARGET_DIR}/`basename ${component_tarball}` ] ; then + printf "ERROR: Failed to save '${TARGET_DIR}/`basename ${component_tarball}`'!\n\n" + Usage + exit 255 + fi + elif [ "${entry:0:5}" = "${component_patch_marker}" ] ; then + value=`echo $line | cut -d' ' -f 2` + component_patch=`echo $value | sed -e "s/\%{name}/${component_name}/g" -e "s/\%{version}/${component_version}/g"` + if [ -f ${PATCHES_DIR}/${component_patch} ] ; then + cp -p ${PATCHES_DIR}/${component_patch} ${TARGET_DIR} + if [ ! -f ${TARGET_DIR}/${component_patch} ] ; then + printf "ERROR: Failed to copy '${component_patch}'!\n\n" + Usage + exit 255 + fi + else + printf "ERROR: Failed to find '${component_patch}'!\n\n" + Usage + exit 255 + fi + fi + done } @@ -61,10 +175,18 @@ if [ $# -ne 1 ] ; then exit 255 fi -if [ $1 = "srpm" ] ; then +if [ $1 = "srpm" ] ; then + RPMBUILD_CMD="rpmbuild --define \"_topdir \`pwd\`\" -bs" + USE_PATCH_FILES=0 +elif [ $1 = "patched_srpm" ] ; then RPMBUILD_CMD="rpmbuild --define \"_topdir \`pwd\`\" -bs" + USE_PATCH_FILES=1 elif [ $1 = "rpms" ] ; then RPMBUILD_CMD="rpmbuild --define \"_topdir \`pwd\`\" -ba" + USE_PATCH_FILES=0 +elif [ $1 = "patched_rpms" ] ; then + RPMBUILD_CMD="rpmbuild --define \"_topdir \`pwd\`\" -ba" + USE_PATCH_FILES=1 else Usage exit 255 |