diff options
author | mharmsen <mharmsen@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2010-12-07 00:33:26 +0000 |
---|---|---|
committer | mharmsen <mharmsen@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2010-12-07 00:33:26 +0000 |
commit | dce657795aff27d3a615a145acffa739cf9e676a (patch) | |
tree | ca6a35cb0e5fa929e87cb03ef9028d68f2cdae2c /pki/scripts/compose_ipa_pki_theme_packages | |
parent | 3b5729e16fc37dfe12fe9964e467983335d9137c (diff) | |
download | pki-dce657795aff27d3a615a145acffa739cf9e676a.tar.gz pki-dce657795aff27d3a615a145acffa739cf9e676a.tar.xz pki-dce657795aff27d3a615a145acffa739cf9e676a.zip |
Bugzilla Bug #643206 - New CMake based build system for Dogtag
git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/trunk@1607 c9f7a03b-bd48-0410-a16d-cbbf54688b0b
Diffstat (limited to 'pki/scripts/compose_ipa_pki_theme_packages')
-rwxr-xr-x | pki/scripts/compose_ipa_pki_theme_packages | 211 |
1 files changed, 211 insertions, 0 deletions
diff --git a/pki/scripts/compose_ipa_pki_theme_packages b/pki/scripts/compose_ipa_pki_theme_packages new file mode 100755 index 000000000..e78b9eac2 --- /dev/null +++ b/pki/scripts/compose_ipa_pki_theme_packages @@ -0,0 +1,211 @@ +#!/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 'ipa-pki' name and version information +## + +IPA_PKI_THEME="ipa-pki-theme" +IPA_PKI_THEME_VERSION="9.0.0" + + +## +## Establish the SOURCE files/directories of the 'ipa-pki' source directory +## + +PKI_DIR="pki" +PKI_DOGTAG_DIR="${PKI_DIR}/dogtag" +PKI_SPECS_FILE="${PKI_DIR}/specs/${IPA_PKI_THEME}.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_DOGTAG_MANIFEST="CMakeLists.txt" +PKI_COMPONENT_LIST="common-ui ca-ui" + + +## +## Establish the TARGET files/directories of the 'ipa-pki' source/spec files +## + +PKI_PACKAGES="${PKI_PWD}/packages" +IPA_PKI_THEME_BUILD_DIR="${PKI_PACKAGES}/BUILD" +IPA_PKI_THEME_RPMS_DIR="${PKI_PACKAGES}/RPMS" +IPA_PKI_THEME_SOURCES_DIR="${PKI_PACKAGES}/SOURCES" +IPA_PKI_THEME_SPECS_DIR="${PKI_PACKAGES}/SPECS" +IPA_PKI_THEME_SRPMS_DIR="${PKI_PACKAGES}/SRPMS" + +IPA_PKI_THEME_TARBALL="${IPA_PKI_THEME}-${IPA_PKI_THEME_VERSION}.tar.gz" +IPA_PKI_THEME_SPEC_FILE="${IPA_PKI_THEME_SPECS_DIR}/${IPA_PKI_THEME}.spec" +IPA_PKI_THEME_PACKAGE_SCRIPT="${PKI_PACKAGES}/package_${IPA_PKI_THEME}" +IPA_PKI_THEME_PACKAGE_COMMAND="rpmbuild --define \"_topdir \`pwd\`\" -ba SPECS/${IPA_PKI_THEME}.spec" + +IPA_PKI_THEME_STAGING_DIR="${PKI_PACKAGES}/staging" +IPA_PKI_THEME_DIR="${IPA_PKI_THEME_STAGING_DIR}/${IPA_PKI_THEME}-${IPA_PKI_THEME_VERSION}" +IPA_PKI_THEME_DOGTAG_DIR="${IPA_PKI_THEME_DIR}/dogtag" +IPA_PKI_THEME_DOGTAG_SUBDIR="${IPA_PKI_THEME}-${IPA_PKI_THEME_VERSION}/dogtag" + + +## +## Always create a top-level 'packages' directory +## + +mkdir -p ${PKI_PACKAGES} + + +## +## Always create 'ipa-pki' package directories +## + +mkdir -p ${IPA_PKI_THEME_BUILD_DIR} +mkdir -p ${IPA_PKI_THEME_RPMS_DIR} +mkdir -p ${IPA_PKI_THEME_SOURCES_DIR} +mkdir -p ${IPA_PKI_THEME_SPECS_DIR} +mkdir -p ${IPA_PKI_THEME_SRPMS_DIR} + + +## +## Always start with new 'ipa-pki' package files +## + +rm -rf ${IPA_PKI_THEME_BUILD_DIR}/${IPA_PKI_THEME}-${IPA_PKI_THEME_VERSION} +rm -f ${IPA_PKI_THEME_RPMS_DIR}/${IPA_PKI_THEME}-${IPA_PKI_THEME_VERSION}*.rpm +rm -f ${IPA_PKI_THEME_SOURCES_DIR}/${IPA_PKI_THEME_TARBALL} +rm -f ${IPA_PKI_THEME_SPEC_FILE} +rm -f ${IPA_PKI_THEME_SRPMS_DIR}/${IPA_PKI_THEME}-${IPA_PKI_THEME_VERSION}*.rpm + + +## +## Copy a new 'ipa-pki' spec file from the +## current contents of the PKI working repository +## + +cp -p ${PKI_SPECS_FILE} ${IPA_PKI_THEME_SPECS_DIR} + + +## +## Always start with a new 'ipa-pki' staging directory +## + +rm -rf ${IPA_PKI_THEME_STAGING_DIR} + + +## +## To generate the 'ipa-pki' tarball, construct a staging area +## consisting of the 'ipa-pki' source components from the +## current contents of the PKI working repository +## + +mkdir -p ${IPA_PKI_THEME_DIR} +cd ${PKI_DIR} +for file in "${PKI_FILE_LIST}" ; +do + cp -p ${file} ${IPA_PKI_THEME_DIR} +done +find ${PKI_CMAKE_DIR} \ + -name .svn -prune -o \ + -name *.swp -prune -o \ + -print | cpio -pdum ${IPA_PKI_THEME_DIR} > /dev/null 2>&1 +cd - > /dev/null 2>&1 + +mkdir -p ${IPA_PKI_THEME_DOGTAG_DIR} +cd ${PKI_DOGTAG_DIR} +cp -p ${PKI_DOGTAG_MANIFEST} ${IPA_PKI_THEME_DOGTAG_DIR} +for component in "${PKI_COMPONENT_LIST}" ; +do + find ${component} \ + -name .svn -prune -o \ + -name config-ext -prune -o \ + -name *.spec -prune -o \ + -name *.swp -prune -o \ + -name build.xml -prune -o \ + -name build_dogtag -prune -o \ + -print | cpio -pdum ${IPA_PKI_THEME_DOGTAG_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: +## +## * ./common-ui/shared/admin/console/config +## * ./ra-ui/shared/docroot/ra/admin/console/config (N/A 'ipa-pki') +## * ./tps-ui/shared/docroot/tps/admin/console/config (N/A 'ipa-pki') +## + +rm -rf ${IPA_PKI_THEME_DOGTAG_DIR}/*/config + + +## +## Create the 'ipa-pki' tarball +## + +mkdir -p ${IPA_PKI_THEME_SOURCES_DIR} +cd ${IPA_PKI_THEME_STAGING_DIR} +# Remove all '*.htm*' web pages and 'Dogtag-specific' graphics +# Map 'Dogtag' color '#225580' to black +# Map 'Dogtag' color '#4f52b5' to black +# Map 'DCS' text to 'XXX' +# Map 'dogtag' text to 'XXXXXX' +# Map 'Dogtag' text to 'XXXXXX' +# Map 'DOGTAG' text to 'XXXXXX' +# Map 'Fedora' text to 'XXXXXX' +# Map 'FEDORA' text to 'XXXXXX' +find ${IPA_PKI_THEME_DOGTAG_SUBDIR} -name "favicon.ico" -print -or \ + -name "*.htm" -print -or \ + -name "*.html" -print -or \ + -name "logo_header.gif" -print | xargs rm ; +find ${IPA_PKI_THEME_DOGTAG_SUBDIR} -type f -exec sed -i 's/#225580/#000000/g' {} \; ; +find ${IPA_PKI_THEME_DOGTAG_SUBDIR} -type f -exec sed -i 's/#4f52b5/#000000/g' {} \; ; +find ${IPA_PKI_THEME_DOGTAG_SUBDIR} -type f -exec sed -i 's/DCS/XXX/g' {} \; ; +find ${IPA_PKI_THEME_DOGTAG_SUBDIR} -type f -exec sed -i 's/dogtag/XXXXXX/g' {} \; ; +find ${IPA_PKI_THEME_DOGTAG_SUBDIR} -type f -exec sed -i 's/Dogtag/XXXXXX/g' {} \; ; +find ${IPA_PKI_THEME_DOGTAG_SUBDIR} -type f -exec sed -i 's/DOGTAG/XXXXXX/g' {} \; ; +find ${IPA_PKI_THEME_DOGTAG_SUBDIR} -type f -exec sed -i 's/Fedora/XXXXXX/g' {} \; ; +find ${IPA_PKI_THEME_DOGTAG_SUBDIR} -type f -exec sed -i 's/FEDORA/XXXXXX/g' {} \; +gtar -zcvf ${IPA_PKI_THEME_TARBALL} \ + "${IPA_PKI_THEME}-${IPA_PKI_THEME_VERSION}" > /dev/null 2>&1 +mv ${IPA_PKI_THEME_TARBALL} ${IPA_PKI_THEME_SOURCES_DIR} +cd - > /dev/null 2>&1 + + +## +## Always remove the PKI staging area +## + +rm -rf ${IPA_PKI_THEME_STAGING_DIR} + + +## +## Always generate a fresh 'ipa-pki' package script +## + +rm -rf ${IPA_PKI_THEME_PACKAGE_SCRIPT} +printf "#!/bin/bash\n\n" > ${IPA_PKI_THEME_PACKAGE_SCRIPT} +printf "${IPA_PKI_THEME_PACKAGE_COMMAND}\n\n" >> ${IPA_PKI_THEME_PACKAGE_SCRIPT} +chmod 775 ${IPA_PKI_THEME_PACKAGE_SCRIPT} + + +## +## Automatically invoke RPM/SRPM creation +## + +cd ${PKI_PACKAGES} ; +script -c package_${IPA_PKI_THEME} package_${IPA_PKI_THEME}.log + |