summaryrefslogtreecommitdiffstats
path: root/scripts/build_dogtag_pki
diff options
context:
space:
mode:
authorEndi Sukma Dewata <edewata@redhat.com>2012-03-24 02:27:47 -0500
committerEndi Sukma Dewata <edewata@redhat.com>2012-03-26 11:43:54 -0500
commit621d9e5c413e561293d7484b93882d985b3fe15f (patch)
tree638f3d75761c121d9a8fb50b52a12a6686c5ac5c /scripts/build_dogtag_pki
parent40d3643b8d91886bf210aa27f711731c81a11e49 (diff)
downloadpki-621d9e5c413e561293d7484b93882d985b3fe15f.tar.gz
pki-621d9e5c413e561293d7484b93882d985b3fe15f.tar.xz
pki-621d9e5c413e561293d7484b93882d985b3fe15f.zip
Removed unnecessary pki folder.
Previously the source code was located inside a pki folder. This folder was created during svn migration and is no longer needed. This folder has now been removed and the contents have been moved up one level. Ticket #131
Diffstat (limited to 'scripts/build_dogtag_pki')
-rwxr-xr-xscripts/build_dogtag_pki200
1 files changed, 200 insertions, 0 deletions
diff --git a/scripts/build_dogtag_pki b/scripts/build_dogtag_pki
new file mode 100755
index 000000000..f2c171fbb
--- /dev/null
+++ b/scripts/build_dogtag_pki
@@ -0,0 +1,200 @@
+#!/bin/bash
+# BEGIN COPYRIGHT BLOCK
+# (C) 2011 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 name of the machine
+PKI_HOSTNAME=`hostname`
+
+# Set pre-defined variables
+PKI_DIR="pki"
+PKI_FLAVOR="dogtag"
+PKI_SCRIPTS_DIR="scripts"
+ROOT_UID=0
+
+# 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
+PKI_ARCH=`uname -p`
+NOARCH="noarch"
+
+# Set packaging variables
+RPM_EXE="/bin/rpm"
+YUM_EXE="/usr/bin/yum"
+YUM_EXE_OPTIONS="-y --nogpgcheck install"
+RPM_DIR="RPMS"
+RPM_EXT="-[0-9]*.rpm"
+COMBINED="combined"
+
+# Set sudo variables
+PKI_SUDO="/usr/bin/sudo"
+PKI_SUDOERS="/etc/sudoers"
+
+# Set user identity variables
+PKI_EUID=`/usr/bin/id -u`
+PKI_UID=`/usr/bin/id -ur`
+PKI_USERNAME=`/usr/bin/id -un`
+
+# Make sure that this script is NOT being run as root!
+if [ ${PKI_UID} -eq ${ROOT_UID} ] ||
+ [ ${PKI_EUID} -eq ${ROOT_UID} ]; then
+ printf "The '$0' script may NOT be run as root!\n"
+ exit 255
+fi
+
+# Check for the presence of the 'sudo' executable
+if [ ! -x "${PKI_SUDO}" ]; then
+ printf "The '$0' script requires the '${PKI_SUDO}' executable\n"
+ printf "to be available on '${PKI_HOSTNAME}'!\n"
+ exit 255
+fi
+
+# Check for the presence of the 'sudoers' file
+if [ ! -e "${PKI_SUDOERS}" ]; then
+ printf "The '$0' script requires the '${PKI_SUDOERS}' file\n"
+ printf "to be available on '${PKI_HOSTNAME}'!\n"
+ exit 255
+fi
+
+# Check for the presence of the required sudoers command(s)
+PKI_SUDOERS_COMMAND="(root) NOPASSWD: ALL"
+PKI_SUDOERS_LINE="${PKI_USERNAME} NOPASSWD: ALL"
+PKI_SUDOERS_RPM_COMMAND="(root) NOPASSWD: ${RPM_EXE}"
+PKI_SUDOERS_RPM_LINE="${PKI_USERNAME} ALL = NOPASSWD: ${RPM_EXE}"
+PKI_SUDOERS_YUM_COMMAND="(root) NOPASSWD: ${YUM_EXE}"
+PKI_SUDOERS_YUM_LINE="${PKI_USERNAME} ALL = NOPASSWD: ${YUM_EXE}"
+printf "Checking if '${PKI_USERNAME}' has the appropriate '${PKI_SUDO}' permissions . . .\n"
+printf "[NOTE: A password prompt may appear requiring ${PKI_USERNAME}'s password.]\n"
+# NOTE: If 'ALL' commands are NOT sudo enabled, then at least BOTH
+# of the 'RPM' and 'YUM' commands MUST be sudo enabled!
+`${PKI_SUDO} -l | grep "${PKI_SUDOERS_COMMAND}" > /dev/null 2>&1`
+if [ $? -ne 0 ]; then
+ sudo_commands=2
+ `${PKI_SUDO} -l | grep "${PKI_SUDOERS_RPM_COMMAND}" > /dev/null 2>&1`
+ if [ $? -ne 0 ]; then
+ sudo_commands=`expr ${sudo_commands} - 1`
+ fi
+ `${PKI_SUDO} -l | grep "${PKI_SUDOERS_YUM_COMMAND}" > /dev/null 2>&1`
+ if [ $? -ne 0 ]; then
+ sudo_commands=`expr ${sudo_commands} - 1`
+ fi
+ if [ ${sudo_commands} -ne 2 ]; then
+ printf "The '$0' script requires that the\n"
+ printf "'${PKI_SUDOERS}' file MUST contain BOTH of these lines:\n\n"
+ printf " '${PKI_SUDOERS_RPM_LINE}'\n"
+ printf " '${PKI_SUDOERS_YUM_LINE}'\n\n"
+ exit 255
+ fi
+fi
+
+# Set 'composition scripts' variables
+PKI_COMPOSE_SCRIPTS_DIR="${PKI_PWD}/${PKI_DIR}/${PKI_SCRIPTS_DIR}"
+COMPOSE_DOGTAG_PKI_THEME_PACKAGES="compose_dogtag_pki_theme_packages"
+COMPOSE_PKI_CORE_PACKAGES="compose_pki_core_packages"
+COMPOSE_PKI_RA_PACKAGES="compose_pki_ra_packages"
+COMPOSE_PKI_TPS_PACKAGES="compose_pki_tps_packages"
+COMPOSE_PKI_CONSOLE_PACKAGES="compose_pki_console_packages"
+
+# Establish 'packages' directories variables
+PKI_PACKAGES_DIR="${PKI_PWD}/packages"
+PKI_DOGTAG_THEME_PACKAGES_DIR="${PKI_PWD}/packages.dogtag_theme"
+PKI_CORE_PACKAGES_DIR="${PKI_PWD}/packages.core"
+PKI_RA_PACKAGES_DIR="${PKI_PWD}/packages.ra"
+PKI_TPS_PACKAGES_DIR="${PKI_PWD}/packages.tps"
+PKI_CONSOLE_PACKAGES_DIR="${PKI_PWD}/packages.console"
+
+# Establish PKI theme package names
+PKI_COMMON_THEME=${PKI_FLAVOR}-pki-common-theme${RPM_EXT}
+PKI_CA_THEME=${PKI_FLAVOR}-pki-ca-theme${RPM_EXT}
+PKI_KRA_THEME=${PKI_FLAVOR}-pki-kra-theme${RPM_EXT}
+PKI_OCSP_THEME=${PKI_FLAVOR}-pki-ocsp-theme${RPM_EXT}
+PKI_RA_THEME=${PKI_FLAVOR}-pki-ra-theme${RPM_EXT}
+PKI_TKS_THEME=${PKI_FLAVOR}-pki-tks-theme${RPM_EXT}
+PKI_TPS_THEME=${PKI_FLAVOR}-pki-tps-theme${RPM_EXT}
+PKI_CONSOLE_THEME=${PKI_FLAVOR}-pki-console-theme${RPM_EXT}
+
+# Establish PKI core package names
+PKI_SETUP=pki-setup${RPM_EXT}
+PKI_SYMKEY=pki-symkey${RPM_EXT}
+PKI_NATIVE_TOOLS=pki-native-tools${RPM_EXT}
+PKI_UTIL=pki-util${RPM_EXT}
+PKI_UTIL_JAVADOC=pki-util-javadoc${RPM_EXT}
+PKI_JAVA_TOOLS=pki-java-tools${RPM_EXT}
+PKI_JAVA_TOOLS_JAVADOC=pki-java-tools-javadoc${RPM_EXT}
+PKI_COMMON=pki-common${RPM_EXT}
+PKI_COMMON_JAVADOC=pki-common-javadoc${RPM_EXT}
+PKI_SELINUX=pki-selinux${RPM_EXT}
+PKI_CA=pki-ca${RPM_EXT}
+PKI_KRA=pki-kra${RPM_EXT}
+PKI_OCSP=pki-ocsp${RPM_EXT}
+PKI_TKS=pki-tks${RPM_EXT}
+PKI_SILENT=pki-silent${RPM_EXT}
+
+# Establish PKI ra package names
+PKI_RA=pki-ra${RPM_EXT}
+
+# Establish PKI tps package names
+PKI_TPS=pki-tps${RPM_EXT}
+
+# Establish PKI console package names
+PKI_CONSOLE=pki-console${RPM_EXT}
+
+# Always start with new package directories
+rm -rf ${PKI_PACKAGES_DIR}
+rm -rf ${PKI_DOGTAG_THEME_PACKAGES_DIR}
+rm -rf ${PKI_CORE_PACKAGES_DIR}
+rm -rf ${PKI_RA_PACKAGES_DIR}
+rm -rf ${PKI_TPS_PACKAGES_DIR}
+rm -rf ${PKI_CONSOLE_PACKAGES_DIR}
+
+# Compose and install 'dogtag-pki-theme' packages
+cd ${PKI_PWD}
+${PKI_COMPOSE_SCRIPTS_DIR}/${COMPOSE_DOGTAG_PKI_THEME_PACKAGES} rpms
+mv ${PKI_PACKAGES_DIR} ${PKI_DOGTAG_THEME_PACKAGES_DIR}
+cd ${PKI_DOGTAG_THEME_PACKAGES_DIR}/${RPM_DIR}/${NOARCH}
+${PKI_SUDO} ${YUM_EXE} ${YUM_EXE_OPTIONS} ${PKI_COMMON_THEME} ${PKI_CA_THEME} ${PKI_KRA_THEME} ${PKI_OCSP_THEME} ${PKI_RA_THEME} ${PKI_TKS_THEME} ${PKI_TPS_THEME} ${PKI_CONSOLE_THEME}
+
+# Compose and install 'pki-core' packages
+cd ${PKI_PWD}
+${PKI_COMPOSE_SCRIPTS_DIR}/${COMPOSE_PKI_CORE_PACKAGES} hybrid_rpms
+mv ${PKI_PACKAGES_DIR} ${PKI_CORE_PACKAGES_DIR}
+cd ${PKI_CORE_PACKAGES_DIR}/${RPM_DIR}
+mkdir -p ${PKI_CORE_PACKAGES_DIR}/${RPM_DIR}/${COMBINED}
+cp -p ${NOARCH}/*.rpm ${PKI_ARCH}/*.rpm ${PKI_CORE_PACKAGES_DIR}/${RPM_DIR}/${COMBINED}
+cd ${PKI_CORE_PACKAGES_DIR}/${RPM_DIR}/${COMBINED}
+${PKI_SUDO} ${YUM_EXE} ${YUM_EXE_OPTIONS} ${PKI_SETUP} ${PKI_SYMKEY} ${PKI_NATIVE_TOOLS} ${PKI_UTIL} ${PKI_UTIL_JAVADOC} ${PKI_JAVA_TOOLS} ${PKI_JAVA_TOOLS_JAVADOC} ${PKI_COMMON} ${PKI_COMMON_JAVADOC} ${PKI_SELINUX} ${PKI_CA} ${PKI_SILENT}
+
+# Compose and install 'pki-ra' packages
+cd ${PKI_PWD}
+${PKI_COMPOSE_SCRIPTS_DIR}/${COMPOSE_PKI_RA_PACKAGES} rpms
+mv ${PKI_PACKAGES_DIR} ${PKI_RA_PACKAGES_DIR}
+cd ${PKI_RA_PACKAGES_DIR}/${RPM_DIR}/${NOARCH}
+${PKI_SUDO} ${YUM_EXE} ${YUM_EXE_OPTIONS} ${PKI_RA}
+
+# Compose and install 'pki-tps' packages
+cd ${PKI_PWD}
+${PKI_COMPOSE_SCRIPTS_DIR}/${COMPOSE_PKI_TPS_PACKAGES} rpms
+mv ${PKI_PACKAGES_DIR} ${PKI_TPS_PACKAGES_DIR}
+cd ${PKI_TPS_PACKAGES_DIR}/${RPM_DIR}/${PKI_ARCH}
+${PKI_SUDO} ${YUM_EXE} ${YUM_EXE_OPTIONS} ${PKI_TPS}
+
+# Compose and install 'pki-console' packages
+cd ${PKI_PWD}
+${PKI_COMPOSE_SCRIPTS_DIR}/${COMPOSE_PKI_CONSOLE_PACKAGES} rpms
+mv ${PKI_PACKAGES_DIR} ${PKI_CONSOLE_PACKAGES_DIR}
+cd ${PKI_CONSOLE_PACKAGES_DIR}/${RPM_DIR}/${NOARCH}
+${PKI_SUDO} ${YUM_EXE} ${YUM_EXE_OPTIONS} ${PKI_CONSOLE}
+