diff options
Diffstat (limited to 'pki/dogtag/manage/config-ext/build_linux_pki')
-rwxr-xr-x | pki/dogtag/manage/config-ext/build_linux_pki | 318 |
1 files changed, 0 insertions, 318 deletions
diff --git a/pki/dogtag/manage/config-ext/build_linux_pki b/pki/dogtag/manage/config-ext/build_linux_pki deleted file mode 100755 index d9ea91e8c..000000000 --- a/pki/dogtag/manage/config-ext/build_linux_pki +++ /dev/null @@ -1,318 +0,0 @@ -#!/bin/bash -# BEGIN COPYRIGHT BLOCK -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -# -# (C) 2007 Red Hat, Inc. -# All rights reserved. -# END COPYRIGHT BLOCK - -# Always switch into the base directory above this -# shared shell script prior to executing it so that -# all of its output is written to this directory -cd `dirname $0`/.. - -# Set pre-defined variables -# -# NOTE: Variables prefixed with "LINUX" are defined in the invoking script. -# Variables prefixed with "PKI" are defined in this shared script. -# Variables containing no prefix are reserved for the generated script. -# -PKI_ABORT_SCRIPT="false" -PKI_BASEDIR="../../.." -PKI_BUILD_XML=build.xml -PKI_DIR=pki -PKI_LINUX_DIR=linux -PKI_RELEASE_DIR=release -PKI_RELEASE_SCRIPT=release -PKI_SHARED_SCRIPT=`basename $0` -PKI_SRC_DIR=base - -# Check the values of the passed-in environment variables -if [ "${LINUX_BUILD_SCRIPT}" == "" ]; then - printf "ERROR: The 'LINUX_BUILD_SCRIPT' environment variable is undefined!\n" - PKI_ABORT_SCRIPT="true" -fi -if [ "${LINUX_COMPONENT}" == "" ]; then - printf "ERROR: The 'LINUX_COMPONENT' environment variable is undefined!\n" - PKI_ABORT_SCRIPT="true" -fi -if [ "${LINUX_SPECFILE}" == "" ]; then - printf "ERROR: The 'LINUX_SPECFILE' environment variable is undefined!\n" - PKI_ABORT_SCRIPT="true" -fi -if [ "${PKI_ABORT_SCRIPT}" == "true" ]; then - printf "\n" - printf "The '${PKI_SHARED_SCRIPT}' shared build script MUST be invoked by " - printf "a\nPKI component-specific build script (e. g. - '${LINUX_BUILD_SCRIPT}')\n" - printf "which defines ALL environment variables prefixed by 'LINUX'!\n" - exit 255 -fi - -# Compute remaining variables by assigning their values from the specfile -PKI_SOURCE_CODE_URL="https://pki-svn.fedora.redhat.com/svn/pki/trunk/${PKI_DIR}/${PKI_SRC_DIR}/${LINUX_COMPONENT}" -PKI_PRODUCT_UI_PREFIX=`grep " base_ui_prefix" ${LINUX_SPECFILE} | awk '{ print $3; }'` -PKI_PRODUCT_PREFIX=`grep " base_prefix" ${LINUX_SPECFILE} | awk '{ print $3; }'` -PKI_PRODUCT=`grep " base_component" ${LINUX_SPECFILE} | awk '{ print $3; }'` -if [ "${PKI_PRODUCT_UI_PREFIX}" != "" ]; then - PKI_PRODUCT_BUILD_XML="${PKI_BUILD_XML}" - PKI_PRODUCT_NAME="${PKI_PRODUCT_PREFIX}-${PKI_PRODUCT}" - PKI_PRODUCT_SOURCE_PATH="${PKI_DIR}/${PKI_LINUX_DIR}/${LINUX_COMPONENT}" -elif [ "${PKI_PRODUCT_PREFIX}" != "" ]; then - PKI_PRODUCT_BUILD_XML="${PKI_BASEDIR}/${PKI_DIR}/${PKI_SRC_DIR}/${LINUX_COMPONENT}/${PKI_BUILD_XML}" - PKI_PRODUCT_NAME="${PKI_PRODUCT_PREFIX}-${PKI_PRODUCT}" - PKI_PRODUCT_SOURCE_PATH="${PKI_DIR}/${PKI_SRC_DIR}/${LINUX_COMPONENT}" -else - PKI_PRODUCT_BUILD_XML="${PKI_BASEDIR}/${PKI_DIR}/${PKI_SRC_DIR}/${LINUX_COMPONENT}/${PKI_BUILD_XML}" - PKI_PRODUCT_NAME="${PKI_PRODUCT}" - PKI_PRODUCT_SOURCE_PATH="${PKI_DIR}/${PKI_SRC_DIR}/${LINUX_COMPONENT}" -fi -PKI_RELEASE_ROOT="${PKI_BASEDIR}/${PKI_RELEASE_DIR}/${PKI_PRODUCT_SOURCE_PATH}" -PKI_SOURCE_CODE_LOCAL_REPOSITORY="`pwd`/${PKI_BASEDIR}/${PKI_PRODUCT_SOURCE_PATH}" - -# Always check that local source code for this PKI component is available -if [ ! -d "${PKI_SOURCE_CODE_LOCAL_REPOSITORY}" ]; then - printf "Please checkout the '${LINUX_COMPONENT}' source code from:\n\n" - printf " '${PKI_SOURCE_CODE_URL}'\n\n" - printf "to:\n\n" - printf " '${PKI_SOURCE_CODE_LOCAL_REPOSITORY}'\n\n" - exit 255 -fi - -# Define awk scripts -check_targets=' -BEGIN { - success = "false"; -} - -{ - while( getline < FILENAME > 0 ) { - if( substr( $0, 0, 80 ) ~ "target name" ) { - start = substr( $0, - match( $0, "\"" ) + 1 ); - target = substr( start, - start, - match( start, "\"" ) - 1 ); - if( build_target == target ) { - success = "true"; - } - } - } -} - -END { - printf( "%s", success ); -}' - -display_targets='{ - while( getline < FILENAME > 0 ) { - if( substr( $0, 0, 80 ) ~ "target name" ) { - start = substr( $0, - match( $0, "\"" ) + 1 ); - target = substr( start, - start, - match( start, "\"" ) - 1 ); - } - if( substr( $0, 0, 80 ) ~ "description" ) { - start = substr( $0, - match( $0, "\"" ) + 1 ); - description[target] = substr( start, - start, - match( start, "\"" ) - 1 ); - printf( "'%20s' %s\n", target, description[target] ); - } - } -}' - -# Provide a usage function -usage() { - if [ $# -gt 0 ] ; then - echo - echo "$1" - fi - echo - echo "Usage: ${LINUX_BUILD_SCRIPT} [target]" - echo - echo " where [target] is one of the optional values:" - echo - echo " help --> display '${PKI_PRODUCT_NAME}' usage statement" - awk "$display_targets" ${PKI_PRODUCT_BUILD_XML} - echo - exit 255 -} - -# Verify that the appropriate number of -# command-line parameters have been entered -# and that a valid target has been specified -if [ $# -eq 0 ] ; then - RELEASE_TARGET=main - BUILD_TARGET="" -elif [ $# -eq 1 ] ; then - if [ "$1" == "help" ]; then - usage - else - SUCCESS=`awk -v build_target=$1 "$check_targets" ${PKI_PRODUCT_BUILD_XML}` - if [ "${SUCCESS}" == "false" ]; then - usage "ERROR: Invalid target '$1' specified for '${PKI_PRODUCT_NAME}'!" - else - RELEASE_TARGET=local - BUILD_TARGET="$1" - fi - fi -elif [ $# -gt 1 ] ; then - usage "ERROR: Too many parameters specified for '${PKI_PRODUCT_NAME}'!" -fi - -# This script may ONLY be run on Linux! -PKI_OS=`uname` -if [ "${PKI_OS}" != "Linux" ]; then - printf "The '${LINUX_BUILD_SCRIPT}' script is ONLY executable on a 'Linux' machine!\n" - exit 255 -fi - -# Always start with a new release root directory -rm -rf ${PKI_RELEASE_ROOT} -mkdir -p ${PKI_RELEASE_ROOT} - -# Copy the source code to the release root -cd ${PKI_BASEDIR} -find ${PKI_PRODUCT_SOURCE_PATH} -name .svn -prune -o -name *.swp -prune -o -print | cpio -pdum ${PKI_RELEASE_DIR} > /dev/null 2>&1 -cd - > /dev/null 2>&1 - -# Remove unused files -rm -rf ${PKI_RELEASE_ROOT}/build_* -rm -rf ${PKI_RELEASE_ROOT}/*.spec -if [ -d ${PKI_RELEASE_ROOT}/config-ext ]; then - rm -rf ${PKI_RELEASE_ROOT}/config-ext -fi - -# Create the default spec file -cp ${LINUX_SPECFILE} ${PKI_RELEASE_ROOT}/${PKI_PRODUCT_NAME}.spec - -# Use bash-specific syntax to create the default build script -cat >> ${PKI_RELEASE_ROOT}/${PKI_RELEASE_SCRIPT} << END_OF_SCRIPT -#!/bin/bash - -##################################################################### -### DO NOT EDIT! This script has been automatically generated! ### -##################################################################### - -# Always switch into the base directory of this -# shell script prior to executing it so that all -# of its output is written to this directory -cd \`dirname \$0\` - -# Set pre-defined variables -BUILD_SCRIPT=\`basename \$0\` -BUILD_XML=${PKI_BUILD_XML} -SPECFILE=${PKI_PRODUCT_NAME}.spec - -# Define awk scripts -check_targets=' -BEGIN { - success = "false"; -} - -{ - while( getline < FILENAME > 0 ) { - if( substr( \$0, 0, 80 ) ~ "target name" ) { - start = substr( \$0, - match( \$0, "\"" ) + 1 ); - target = substr( start, - start, - match( start, "\"" ) - 1 ); - if( build_target == target ) { - success = "true"; - } - } - } -} - -END { - printf( "%s", success ); -}' - -display_targets='{ - while( getline < FILENAME > 0 ) { - if( substr( \$0, 0, 80 ) ~ "target name" ) { - start = substr( \$0, - match( \$0, "\"" ) + 1 ); - target = substr( start, - start, - match( start, "\"" ) - 1 ); - } - if( substr( \$0, 0, 80 ) ~ "description" ) { - start = substr( \$0, - match( \$0, "\"" ) + 1 ); - description[target] = substr( start, - start, - match( start, "\"" ) - 1 ); - printf( "'%20s' %s\n", target, description[target] ); - } - } -}' - -# Provide a usage function -usage() { - if [ \$# -gt 0 ] ; then - echo - echo "\$1" - fi - echo - echo "Usage: \${BUILD_SCRIPT} [target]" - echo - echo " where [target] is one of the optional values:" - echo - echo " help --> display '${PKI_PRODUCT_NAME}' usage statement" - awk "\$display_targets" \${BUILD_XML} - echo - exit 255 -} - -# Verify that the appropriate number of -# command-line parameters have been entered -# and that a valid target has been specified -if [ \$# -eq 0 ] ; then - RELEASE_TARGET=main - BUILD_TARGET=main -elif [ \$# -eq 1 ] ; then - if [ "\$1" == "help" ]; then - usage - else - SUCCESS=\`awk -v build_target=\$1 "\$check_targets" \${BUILD_XML}\` - if [ "\${SUCCESS}" == "false" ]; then - usage "ERROR: Invalid target '\$1' specified for '${PKI_PRODUCT_NAME}'!" - else - RELEASE_TARGET=local - BUILD_TARGET="\$1" - fi - fi -elif [ \$# -gt 1 ] ; then - usage "ERROR: Too many parameters specified for '${PKI_PRODUCT_NAME}'!" -fi - -# This script may ONLY be run on Linux! -OS=\`uname\` -if [ "\${OS}" != "Linux" ]; then - printf "The '\${BUILD_SCRIPT}' script is ONLY executable on a 'Linux' machine!\n" - exit 255 -fi - -ant -f config/release.xml -Dbasedir=. -Dspecfile=\${SPECFILE} -Dtarget=\${BUILD_TARGET} \${RELEASE_TARGET} - -END_OF_SCRIPT -chmod 00755 ${PKI_RELEASE_ROOT}/${PKI_RELEASE_SCRIPT} - -cd ${PKI_RELEASE_ROOT} -./${PKI_RELEASE_SCRIPT} ${BUILD_TARGET} - |