summaryrefslogtreecommitdiffstats
path: root/pki/scripts/compose_pki_console_packages
diff options
context:
space:
mode:
Diffstat (limited to 'pki/scripts/compose_pki_console_packages')
-rwxr-xr-xpki/scripts/compose_pki_console_packages208
1 files changed, 208 insertions, 0 deletions
diff --git a/pki/scripts/compose_pki_console_packages b/pki/scripts/compose_pki_console_packages
new file mode 100755
index 000000000..293a30ff7
--- /dev/null
+++ b/pki/scripts/compose_pki_console_packages
@@ -0,0 +1,208 @@
+#!/bin/bash
+# BEGIN COPYRIGHT BLOCK
+# (C) 2010 Red Hat, Inc.
+# All rights reserved.
+# END COPYRIGHT BLOCK
+
+##
+## Include common 'compose' functions
+##
+
+COMPOSE_PWD=`dirname $0`
+source ${COMPOSE_PWD}/compose_functions
+
+
+## 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-console' name and version information
+##
+
+PKI_CONSOLE="pki-console"
+PKI_CONSOLE_VERSION="9.0.0"
+
+
+##
+## Establish the SOURCE files/directories of the 'pki-console' source directory
+##
+
+PKI_SPECS_FILE="${PKI_DIR}/specs/${PKI_CONSOLE}.spec"
+PKI_COMPONENT_LIST="console"
+
+
+##
+## Establish the TARGET files/directories of the 'pki-console' source/spec files
+##
+
+PKI_PACKAGES="${PKI_PWD}/packages"
+PKI_CONSOLE_BUILD_DIR="${PKI_PACKAGES}/BUILD"
+PKI_CONSOLE_RPMS_DIR="${PKI_PACKAGES}/RPMS"
+PKI_CONSOLE_SOURCES_DIR="${PKI_PACKAGES}/SOURCES"
+PKI_CONSOLE_SPECS_DIR="${PKI_PACKAGES}/SPECS"
+PKI_CONSOLE_SRPMS_DIR="${PKI_PACKAGES}/SRPMS"
+
+PKI_CONSOLE_TARBALL="${PKI_CONSOLE}-${PKI_CONSOLE_VERSION}.tar.gz"
+PKI_CONSOLE_SPEC_FILE="${PKI_CONSOLE_SPECS_DIR}/${PKI_CONSOLE}.spec"
+PKI_CONSOLE_PACKAGE_SCRIPT="${PKI_PACKAGES}/package_${PKI_CONSOLE}"
+PKI_CONSOLE_PACKAGE_COMMAND="${RPMBUILD_CMD} SPECS/${PKI_CONSOLE}.spec"
+
+PKI_CONSOLE_STAGING_DIR="${PKI_PACKAGES}/staging"
+PKI_CONSOLE_DIR="${PKI_CONSOLE_STAGING_DIR}/${PKI_CONSOLE}-${PKI_CONSOLE_VERSION}"
+PKI_CONSOLE_BASE_DIR="${PKI_CONSOLE_DIR}/base"
+
+
+##
+## Always create a top-level 'packages' directory
+##
+
+mkdir -p ${PKI_PACKAGES}
+
+
+##
+## Always create 'pki-console' package directories
+##
+
+mkdir -p ${PKI_CONSOLE_BUILD_DIR}
+mkdir -p ${PKI_CONSOLE_RPMS_DIR}
+mkdir -p ${PKI_CONSOLE_SOURCES_DIR}
+mkdir -p ${PKI_CONSOLE_SPECS_DIR}
+mkdir -p ${PKI_CONSOLE_SRPMS_DIR}
+
+
+##
+## Always start with new 'pki-console' package files
+##
+
+rm -rf ${PKI_CONSOLE_BUILD_DIR}/${PKI_CONSOLE}-${PKI_CONSOLE_VERSION}
+rm -f ${PKI_CONSOLE_RPMS_DIR}/${PKI_CONSOLE}-${PKI_CONSOLE_VERSION}*.rpm
+rm -f ${PKI_CONSOLE_SOURCES_DIR}/${PKI_CONSOLE_TARBALL}
+rm -f ${PKI_CONSOLE_SPEC_FILE}
+rm -f ${PKI_CONSOLE_SRPMS_DIR}/${PKI_CONSOLE}-${PKI_CONSOLE_VERSION}*.rpm
+
+
+##
+## Copy a new 'pki-console' spec file from the
+## current contents of the PKI working repository
+##
+
+cp -p ${PKI_SPECS_FILE} ${PKI_CONSOLE_SPECS_DIR}
+
+
+if [ ${USE_PATCH_FILES} -eq 1 ] ; then
+ Retrieve_Source_Tarball_and_Patches ${PKI_SPECS_FILE} ${PKI_PATCHES_DIR} ${PKI_CONSOLE_SOURCES_DIR}
+else
+ ##
+ ## Always start with a new 'pki-console' staging directory
+ ##
+
+ rm -rf ${PKI_CONSOLE_STAGING_DIR}
+
+
+ ##
+ ## To generate the 'pki-console' tarball, construct a staging area
+ ## consisting of the 'pki-console' source components from the
+ ## current contents of the PKI working repository
+ ##
+
+ mkdir -p ${PKI_CONSOLE_DIR}
+ cd ${PKI_DIR}
+ for file in "${PKI_FILE_LIST}" ;
+ do
+ cp -p ${file} ${PKI_CONSOLE_DIR}
+ done
+ find ${PKI_CMAKE_DIR} \
+ -name .svn -prune -o \
+ -name *.swp -prune -o \
+ -print | cpio -pdum ${PKI_CONSOLE_DIR} > /dev/null 2>&1
+ cd - > /dev/null 2>&1
+
+ mkdir -p ${PKI_CONSOLE_BASE_DIR}
+ cd ${PKI_BASE_DIR}
+ cp -p ${PKI_BASE_MANIFEST} ${PKI_CONSOLE_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_CONSOLE_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-console')
+ ## * ./tps/forms/tps/admin/console/config (N/A 'pki-console')
+ ##
+
+ rm -rf ${PKI_CONSOLE_BASE_DIR}/*/config
+
+
+ ##
+ ## Create the 'pki-console' tarball
+ ##
+
+ mkdir -p ${PKI_CONSOLE_SOURCES_DIR}
+ cd ${PKI_CONSOLE_STAGING_DIR}
+ gtar -zcvf ${PKI_CONSOLE_TARBALL} \
+ "${PKI_CONSOLE}-${PKI_CONSOLE_VERSION}" > /dev/null 2>&1
+ mv ${PKI_CONSOLE_TARBALL} ${PKI_CONSOLE_SOURCES_DIR}
+ cd - > /dev/null 2>&1
+
+
+ ##
+ ## Always remove the PKI staging area
+ ##
+
+ rm -rf ${PKI_CONSOLE_STAGING_DIR}
+fi
+
+
+##
+## Always generate a fresh 'pki-console' package script
+##
+
+rm -rf ${PKI_CONSOLE_PACKAGE_SCRIPT}
+printf "#!/bin/bash\n\n" > ${PKI_CONSOLE_PACKAGE_SCRIPT}
+printf "${PKI_CONSOLE_PACKAGE_COMMAND}\n\n" >> ${PKI_CONSOLE_PACKAGE_SCRIPT}
+chmod 775 ${PKI_CONSOLE_PACKAGE_SCRIPT}
+
+
+##
+## Automatically invoke RPM/SRPM creation
+##
+
+cd ${PKI_PACKAGES} ;
+bash ./package_${PKI_CONSOLE} | tee package_${PKI_CONSOLE}.log 2>&1
+