diff options
Diffstat (limited to 'pki/scripts/compose_pki_ra_packages')
| -rwxr-xr-x | pki/scripts/compose_pki_ra_packages | 201 |
1 files changed, 201 insertions, 0 deletions
diff --git a/pki/scripts/compose_pki_ra_packages b/pki/scripts/compose_pki_ra_packages new file mode 100755 index 00000000..10fd1790 --- /dev/null +++ b/pki/scripts/compose_pki_ra_packages @@ -0,0 +1,201 @@ +#!/bin/bash +# BEGIN COPYRIGHT BLOCK +# (C) 2010 Red Hat, Inc. +# All rights reserved. +# END COPYRIGHT BLOCK + +## Always switch into the base directory three levels +## above this shell script prior to executing it so +## that all of its output is written to this directory + +cd `dirname $0`/../.. + + +## +## Retrieve the name of this base directory +## + +PKI_PWD=`pwd` + + +## +## Establish the 'pki-ra' name and version information +## + +PKI_RA="pki-ra" +PKI_RA_VERSION="9.0.0" + + +## +## Establish the SOURCE files/directories of the 'pki-ra' source directory +## + +PKI_DIR="pki" +PKI_BASE_DIR="${PKI_DIR}/base" +PKI_SPECS_FILE="${PKI_DIR}/specs/${PKI_RA}.spec" +PKI_FILE_LIST="CMakeLists.txt COPYING CPackConfig.cmake ConfigureChecks.cmake DefineOptions.cmake README cmake_uninstall.cmake.in config.h.cmake" +PKI_CMAKE_DIR="cmake" +PKI_BASE_MANIFEST="CMakeLists.txt" +PKI_COMPONENT_LIST="ra" + + +## +## Establish the TARGET files/directories of the 'pki-ra' source/spec files +## + +PKI_PACKAGES="${PKI_PWD}/packages" +PKI_RA_BUILD_DIR="${PKI_PACKAGES}/BUILD" +PKI_RA_RPMS_DIR="${PKI_PACKAGES}/RPMS" +PKI_RA_SOURCES_DIR="${PKI_PACKAGES}/SOURCES" +PKI_RA_SPECS_DIR="${PKI_PACKAGES}/SPECS" +PKI_RA_SRPMS_DIR="${PKI_PACKAGES}/SRPMS" + +PKI_RA_TARBALL="${PKI_RA}-${PKI_RA_VERSION}.tar.gz" +PKI_RA_SPEC_FILE="${PKI_RA_SPECS_DIR}/${PKI_RA}.spec" +PKI_RA_PACKAGE_SCRIPT="${PKI_PACKAGES}/package_${PKI_RA}" +PKI_RA_PACKAGE_COMMAND="rpmbuild --define \"_topdir \`pwd\`\" -ba SPECS/${PKI_RA}.spec" + +PKI_RA_STAGING_DIR="${PKI_PACKAGES}/staging" +PKI_RA_DIR="${PKI_RA_STAGING_DIR}/${PKI_RA}-${PKI_RA_VERSION}" +PKI_RA_BASE_DIR="${PKI_RA_DIR}/base" + + +## +## Always create a top-level 'packages' directory +## + +mkdir -p ${PKI_PACKAGES} + + +## +## Always create 'pki-ra' package directories +## + +mkdir -p ${PKI_RA_BUILD_DIR} +mkdir -p ${PKI_RA_RPMS_DIR} +mkdir -p ${PKI_RA_SOURCES_DIR} +mkdir -p ${PKI_RA_SPECS_DIR} +mkdir -p ${PKI_RA_SRPMS_DIR} + + +## +## Always start with new 'pki-ra' package files +## + +rm -rf ${PKI_RA_BUILD_DIR}/${PKI_RA}-${PKI_RA_VERSION} +rm -f ${PKI_RA_RPMS_DIR}/${PKI_RA}-${PKI_RA_VERSION}*.rpm +rm -f ${PKI_RA_SOURCES_DIR}/${PKI_RA_TARBALL} +rm -f ${PKI_RA_SPEC_FILE} +rm -f ${PKI_RA_SRPMS_DIR}/${PKI_RA}-${PKI_RA_VERSION}*.rpm + + +## +## Copy a new 'pki-ra' spec file from the +## current contents of the PKI working repository +## + +cp -p ${PKI_SPECS_FILE} ${PKI_RA_SPECS_DIR} + + +## +## Always start with a new 'pki-ra' staging directory +## + +rm -rf ${PKI_RA_STAGING_DIR} + + +## +## To generate the 'pki-ra' tarball, construct a staging area +## consisting of the 'pki-ra' source components from the +## current contents of the PKI working repository +## + +mkdir -p ${PKI_RA_DIR} +cd ${PKI_DIR} +for file in "${PKI_FILE_LIST}" ; +do + cp -p ${file} ${PKI_RA_DIR} +done +find ${PKI_CMAKE_DIR} \ + -name .svn -prune -o \ + -name *.swp -prune -o \ + -print | cpio -pdum ${PKI_RA_DIR} > /dev/null 2>&1 +cd - > /dev/null 2>&1 + +mkdir -p ${PKI_RA_BASE_DIR} +cd ${PKI_BASE_DIR} +cp -p ${PKI_BASE_MANIFEST} ${PKI_RA_BASE_DIR} +for component in "${PKI_COMPONENT_LIST}" ; +do + find ${component} \ + -name .svn -prune -o \ + -name *.swp -prune -o \ + -name Makefile.am -prune -o \ + -name Makefile.in -prune -o \ + -name aclocal.m4 -prune -o \ + -name autogen.sh -prune -o \ + -name build.xml -prune -o \ + -name compile -prune -o \ + -name config.guess -prune -o \ + -name config.h.in -prune -o \ + -name config.sub -prune -o \ + -name configure -prune -o \ + -name configure.ac -prune -o \ + -name depcomp -prune -o \ + -name install-sh -prune -o \ + -name ltmain.sh -prune -o \ + -name m4 -prune -o \ + -name missing -prune -o \ + -name setup_package -prune -o \ + -print | cpio -pdum ${PKI_RA_BASE_DIR} > /dev/null 2>&1 +done +cd - > /dev/null 2>&1 + + +## +## Due to the following lower-level 'config' subdirectories, +## INDEPENDENTLY remove ALL top-level 'config' directories: +## +## * ./console/src/com/netscape/admin/certsrv/config (N/A 'pki-ra') +## * ./tps/forms/tps/admin/console/config (N/A 'pki-ra') +## + +rm -rf ${PKI_RA_BASE_DIR}/*/config + + +## +## Create the 'pki-ra' tarball +## + +mkdir -p ${PKI_RA_SOURCES_DIR} +cd ${PKI_RA_STAGING_DIR} +gtar -zcvf ${PKI_RA_TARBALL} \ + "${PKI_RA}-${PKI_RA_VERSION}" > /dev/null 2>&1 +mv ${PKI_RA_TARBALL} ${PKI_RA_SOURCES_DIR} +cd - > /dev/null 2>&1 + + +## +## Always remove the PKI staging area +## + +rm -rf ${PKI_RA_STAGING_DIR} + + +## +## Always generate a fresh 'pki-ra' package script +## + +rm -rf ${PKI_RA_PACKAGE_SCRIPT} +printf "#!/bin/bash\n\n" > ${PKI_RA_PACKAGE_SCRIPT} +printf "${PKI_RA_PACKAGE_COMMAND}\n\n" >> ${PKI_RA_PACKAGE_SCRIPT} +chmod 775 ${PKI_RA_PACKAGE_SCRIPT} + + +## +## Automatically invoke RPM/SRPM creation +## + +cd ${PKI_PACKAGES} ; +script -c package_${PKI_RA} package_${PKI_RA}.log + |
