From dc19d2ed791c511a06e25dae07820c04a89fa0e5 Mon Sep 17 00:00:00 2001 From: Victor Hu Date: Mon, 9 Jan 2017 13:25:11 -0500 Subject: [PATCH 1/2] Move the copy/cleanup code for xCAT-probe to their own functions --- makerpm | 39 +++++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/makerpm b/makerpm index c80ed0edf..784aeb760 100755 --- a/makerpm +++ b/makerpm @@ -9,7 +9,29 @@ # set -x -# Make one of the following rpms: perl-xCAT, xCAT-server, xCAT-client, xCAT-IBMhpc, xCAT-rmc, xCAT-UI, xCAT-test +function xcat_probe_copy { + # xCAT-probe uses some functions shipped with xCAT, copying for the following reasons: + # 1. make xCAT-probe code be self-contained + # 2. do not maintain two files for each script + # 3. symbolic link can't work during packaging + RPMNAME=${1} + if [ $RPMNAME = "xCAT-probe" ]; then + mkdir -p xCAT-probe/lib/perl/xCAT/ + files=("NetworkUtils.pm" "GlobalDef.pm" "ServiceNodeUtils.pm") + for f in "${files[@]}"; do + cp perl-xCAT/xCAT/$f ${RPMNAME}/lib/perl/xCAT/ + done + fi +} + +function xcat_probe_cleanup { + RPMNAME=${1} + if [ $RPMNAME = "xCAT-probe" ]; then + rm -rf xCAT-probe/lib/perl/xCAT/ + fi +} + +# Make the noarch rpms function makenoarch { RPMNAME=$1 if [ "$OSNAME" = "AIX" ]; then @@ -41,17 +63,7 @@ function makenoarch { fi fi - #xcat probe use some functions shipped by xCAT, for below reasons we need to copy files to xCAT-probe directory - #1 make xcat probe code to be self-contained - #2 don't maintain two files for each script - #3 symbolic link can't work during package - if [ $RPMNAME = "xCAT-probe" ]; then - CURDIR=$(pwd) - mkdir -p ${CURDIR}/xCAT-probe/lib/perl/xCAT/ - cp -f ${CURDIR}/perl-xCAT/xCAT/NetworkUtils.pm ${CURDIR}/xCAT-probe/lib/perl/xCAT/ - cp -f ${CURDIR}/perl-xCAT/xCAT/GlobalDef.pm ${CURDIR}/xCAT-probe/lib/perl/xCAT/ - cp -f ${CURDIR}/perl-xCAT/xCAT/ServiceNodeUtils.pm ${CURDIR}/xCAT-probe/lib/perl/xCAT/ - fi + xcat_probe_copy ${RPMNAME} tar --exclude .svn -czf $RPMROOT/SOURCES/$RPMNAME-$VER.tar.gz $RPMNAME rm -f $RPMROOT/SRPMS/$RPMNAME-$VER*rpm $RPMROOT/RPMS/noarch/$RPMNAME-$VER*rpm @@ -62,6 +74,9 @@ function makenoarch { # undo the modifications above to leave the sandbox prestine on the build machine git checkout xCAT-UI/xCAT-UI.spec fi + + xcat_probe_cleanup ${RPMNAME} + fi } From 068494a9ae0afa154535d4aa02681a6fbe2e259b Mon Sep 17 00:00:00 2001 From: Victor Hu Date: Tue, 10 Jan 2017 14:25:05 -0500 Subject: [PATCH 2/2] Use the variable for the path instead of hard code --- makerpm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/makerpm b/makerpm index 784aeb760..3bc591545 100755 --- a/makerpm +++ b/makerpm @@ -16,7 +16,7 @@ function xcat_probe_copy { # 3. symbolic link can't work during packaging RPMNAME=${1} if [ $RPMNAME = "xCAT-probe" ]; then - mkdir -p xCAT-probe/lib/perl/xCAT/ + mkdir -p ${RPMNAME}/lib/perl/xCAT/ files=("NetworkUtils.pm" "GlobalDef.pm" "ServiceNodeUtils.pm") for f in "${files[@]}"; do cp perl-xCAT/xCAT/$f ${RPMNAME}/lib/perl/xCAT/ @@ -27,7 +27,7 @@ function xcat_probe_copy { function xcat_probe_cleanup { RPMNAME=${1} if [ $RPMNAME = "xCAT-probe" ]; then - rm -rf xCAT-probe/lib/perl/xCAT/ + rm -rf ${RPMNAME}/lib/perl/xCAT/ fi }