diff options
Diffstat (limited to 'base/scripts')
-rwxr-xr-x | base/scripts/enable_cvs_keywords_in_svn | 97 | ||||
-rwxr-xr-x | base/scripts/pkicheck | 13 | ||||
-rwxr-xr-x | base/scripts/pkimanifest | 100 |
3 files changed, 210 insertions, 0 deletions
diff --git a/base/scripts/enable_cvs_keywords_in_svn b/base/scripts/enable_cvs_keywords_in_svn new file mode 100755 index 000000000..fd14a885f --- /dev/null +++ b/base/scripts/enable_cvs_keywords_in_svn @@ -0,0 +1,97 @@ +#!/bin/bash +# BEGIN COPYRIGHT BLOCK +# (C) 2010 Red Hat, Inc. +# All rights reserved. +# END COPYRIGHT BLOCK + +# Always switch into this base directory +# prior to script execution so that all +# of its output is written to this directory +cd `dirname $0` + +# Retrieve the name of this base directory +PKI_PWD=`pwd` + +# Retrieve the base name of this script +PKI_SCRIPT=`basename $0` + +# Print pre-script instructions +printf "REMINDER: ALWAYS remember to execute 'svn update' on 'pki/base'\n" +printf " PRIOR to executing '${PKI_SCRIPT}'!\n\n" +while : +do + printf "Have you executed 'svn update' at the 'pki/base' level? [yn] " + read ANSWER + printf "\n" + if [ "${ANSWER}" = "N" ] || + [ "${ANSWER}" = "n" ] ; then + printf "\n" + printf "Please execute 'svn update'\n" + printf "PRIOR to executing '${PKI_SCRIPT}'!\n\n" + exit 255 + elif [ "${ANSWER}" = "Y" ] || + [ "${ANSWER}" = "y" ] ; then + printf "\n" + break + else + continue + fi +done + +# Set equivalent "SVN" keyword properties to enable +# legacy "CVS" keywords in pre-existing PKI files +SVN_KEYWORDS="Author Date Header Id Revision URL" + +# Generate timestamp +PKI_TIMESTAMP=`date +%Y%m%d%H%M%S` + +# Create the name of the list +PKI_LIST=list.${PKI_TIMESTAMP} + +# Switch into the 'pki/base' directory +cd ${PKI_PWD}/.. + +# Fill the list with the name of each ".c", ".cpp", and ".java" file +find . -type f | grep -v '/\.svn/' | egrep "\.(c|cpp|h|pm|java)$" > ${PKI_LIST} + +# Complete the list with miscellaneous files containing legacy "CVS" keywords +echo "./ca/shared/conf/catalina.policy" >> ${PKI_LIST} +echo "./ca/shared/conf/dtomcat5" >> ${PKI_LIST} +echo "./ocsp/shared/conf/catalina.policy" >> ${PKI_LIST} +echo "./ocsp/shared/conf/dtomcat5" >> ${PKI_LIST} +echo "./tks/shared/conf/catalina.policy" >> ${PKI_LIST} +echo "./tks/shared/conf/dtomcat5" >> ${PKI_LIST} +echo "./kra/shared/conf/catalina.policy" >> ${PKI_LIST} +echo "./kra/shared/conf/dtomcat5" >> ${PKI_LIST} +echo "./setup/pkicommon" >> ${PKI_LIST} +echo "./setup/pkicreate" >> ${PKI_LIST} +echo "./setup/pkihost" >> ${PKI_LIST} +echo "./setup/pkiremove" >> ${PKI_LIST} + +# Add 'svn:keywords' properties to ALL files in the list that +# do NOT already contain the SPECIFIED 'svn:keywords' properties +printf "BEGIN: Processing 'svn:keywords' to ALL files in list . . .\n" +for FILE in `cat ${PKI_LIST}` +do + # retrieve the current 'svn:keywords' properties set for this file + KEYWORDS=`svn propget svn:keywords ${FILE}` + if [ "${KEYWORDS}" = "" ] ; then + # set the SPECIFIED 'svn:keywords' properties on this file + svn propset svn:keywords "${SVN_KEYWORDS}" ${FILE} + elif [ "${KEYWORDS}" != "${SVN_KEYWORDS}" ] ; then + # Warn the script user if a file in the list contains + # 'svn:keywords' properties that are DIFFERENT than + # the SPECIFIED 'svn:keywords' properties + printf "WARNING: '${FILE}' ONLY contains the keywords '${KEYWORDS}'!\n" + fi +done +printf "END: Finished processing 'svn:keywords' to ALL files in list.\n\n" + +# Always remove this list +rm -rf ${PKI_LIST} + +# Print post-script instructions +printf "\n" +printf "REMINDER: ALWAYS remember to execute 'svn commit' on 'pki/base'\n" +printf " AFTER executing '${PKI_SCRIPT}'!\n\n" + diff --git a/base/scripts/pkicheck b/base/scripts/pkicheck new file mode 100755 index 000000000..3ff548d3d --- /dev/null +++ b/base/scripts/pkicheck @@ -0,0 +1,13 @@ +#!/bin/bash + +# This script may ONLY be run on Linux! +PKI_OS=`uname` +if [ "${PKI_OS}" != "Linux" ]; then + printf "The '$0' script is ONLY executable\n" + printf "on a 'Linux' machine!\n" + exit 255 +fi + +# For now, check for symkey (legacy package) +rpm -qa | egrep -i pki-\|symkey | sort | cat -n + diff --git a/base/scripts/pkimanifest b/base/scripts/pkimanifest new file mode 100755 index 000000000..31d443cfc --- /dev/null +++ b/base/scripts/pkimanifest @@ -0,0 +1,100 @@ +#!/bin/bash +# BEGIN COPYRIGHT BLOCK +# (C) 2010 Red Hat, Inc. +# All rights reserved. +# END COPYRIGHT BLOCK + +# Define global constants +FOOTER="TIMING - ======== Finished Processing PKI Manifest ========" +HEADER="TIMING - ======== Started Processing PKI Manifest ========" +MANIFEST="manifest" +PKI="pki" +SCRIPTS="scripts" +SVN=".svn" + +# Define global variables +pki_date=`date +%Y%m%d%H%M%S` +pki_dir="" +pki_manifest="" + +# Define functions +Usage() +{ + printf "Usage 1: `basename ${0}`\n" + printf "Usage 2: `basename ${0}` source_path manifest_file\n\n" + printf " where 'Usage 1' must be explicitly executed\n" + printf " from one of the following subdirectories:\n\n" + printf " pki/base/scripts,\n" + printf " pki/dogtag/scripts, or\n" + printf " pki/redhat/scripts\n\n" +} + +# Check for valid number of arguments to shell script +if [ $# -eq 2 ] ; then + # Check that source path is a directory + if [ ! -d ${1} ] ; then + printf "The source path '${1}' does not exist!\n\n" + Usage + exit 255 + fi + + # Initialize variables + pki_dir=${1} + pki_manifest=${2}.${pki_date} +elif [ $# -eq 0 ] ; then + # Remember current location + pki_pwd=`pwd` + + # Check that this script is being run from an appropriate directory + if [ "`basename ${pki_pwd}`" != "${SCRIPTS}" ] ; then + printf "The '`basename ${0}`' script is NOT being executed " + printf "from a valid subdirectory!\n\n" + Usage + exit 255 + fi + + # Obtain the source directory related to this PKI manifest + pki_src_dir=`cd .. ; pwd | xargs basename ; cd ./${SCRIPTS}` + + # 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 ${pki_pwd}/../../.. + + # Initialize variables + pki_dir="${PKI}/${pki_src_dir}" + pki_manifest="`pwd`/${PKI}.${pki_src_dir}.${MANIFEST}.${pki_date}" +else + Usage + exit 255 +fi + +# Compose alphabetical list of specified source files +pki_now=`date` +echo "TIMING - ======== Started Generating Source File List ========" +echo "${pki_now}" +process_pki_tree=`find ${pki_dir} -name ${SVN} -prune -o -type f -print | sort` +echo "${pki_now}" +echo "TIMING - ======== Finished Generating Source File List ========" +echo + +# Generate PKI Manifest +pki_now=`date` +echo "${HEADER}" +echo "${pki_now}" + +printf "${HEADER}\n" > ${pki_manifest} +printf "${pki_now}\n\n" >> ${pki_manifest} +for f in "${process_pki_tree}" +do + echo "Processing ${f} . . ." + svn info ${f} >> ${pki_manifest} +done +pki_now=`date` +printf "${pki_now}\n" >> ${pki_manifest} +printf "${FOOTER}\n" >> ${pki_manifest} + +echo "${pki_now}" +echo "${FOOTER}" +echo + |