summaryrefslogtreecommitdiffstats
path: root/pki/scripts/compose_pki_ra_packages
diff options
context:
space:
mode:
Diffstat (limited to 'pki/scripts/compose_pki_ra_packages')
-rwxr-xr-xpki/scripts/compose_pki_ra_packages201
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
+