From 3aa1acdc0d3deedfac1f077b6239e84da1441ede Mon Sep 17 00:00:00 2001 From: Pierre Labastie Date: Sun, 19 Mar 2017 14:54:28 +0000 Subject: [PATCH] Add checks for the files used by package management functions. Fix #1701 --- common/libs/func_validate_configs.sh | 31 ++++++++++++++++++++++++++++ jhalfs | 5 +++-- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/common/libs/func_validate_configs.sh b/common/libs/func_validate_configs.sh index 01691c3..c37d1c9 100644 --- a/common/libs/func_validate_configs.sh +++ b/common/libs/func_validate_configs.sh @@ -80,6 +80,15 @@ inline_doc exit 1 } +# This function is only used when testing package management files. + write_pkg_and_die() { + echo -e "\n${DD_BORDER}" + echo "Package management is requested but" >&2 + echo -e $* >&2 + echo -e "${DD_BORDER}\n" + exit 1 + } + validate_file() { # For parameters ending with a '+' failure causes a warning message only echo -n "`eval echo $PARAM_VALS`" @@ -184,6 +193,28 @@ inline_doc echo ;; + # Case of PKGMNGT: two files, packageManager.xml and packInstall.sh + # must exist in $PKGMNGTDIR: + PKGMNGT) echo -e "`eval echo $PARAM_VALS`" + if [ ! -e "$PKGMNGTDIR/packageManager.xml" ]; then + write_pkg_and_die $PKGMNGTDIR/packageManager.xml does not exist + fi + if [ ! -e "$PKGMNGTDIR/packInstall.sh" ]; then + write_pkg_and_die $PKGMNGTDIR/packInstall.sh does not exist + fi + if [ ! -s "$PKGMNGTDIR/packageManager.xml" ]; then + write_pkg_and_die $PKGMNGTDIR/packageManager.xml has zero size + fi + if [ ! -s "$PKGMNGTDIR/packInstall.sh" ]; then + write_pkg_and_die $PKGMNGTDIR/packInstall.sh has zero size + fi + if [ ! -r "$PKGMNGTDIR/packageManager.xml" ]; then + write_pkg_and_die $PKGMNGTDIR/packageManager.xml is not readable + fi + if [ ! -r "$PKGMNGTDIR/packInstall.sh" ]; then + write_pkg_and_die $PKGMNGTDIR/packInstall.sh is not readable + fi + ;; # Display non-validated envars found in ${PROGNAME}_PARAM_LIST * ) echo -e "`eval echo $PARAM_VALS`" ;; diff --git a/jhalfs b/jhalfs index 5d2609f..3d52d54 100755 --- a/jhalfs +++ b/jhalfs @@ -382,9 +382,10 @@ if [[ "$REBUILD_MAKEFILE" = "n" ]] ; then # # Copy packageManager.xml, if needed - [[ "$PKGMNGT" = "y" ]] && [[ "$PROGNAME" = "lfs" ]] && - cp $PKGMNGTDIR/packageManager.xml $JHALFSDIR/ && + [[ "$PKGMNGT" = "y" ]] && [[ "$PROGNAME" = "lfs" ]] && { + cp $PKGMNGTDIR/packageManager.xml $JHALFSDIR/ cp $PKGMNGTDIR/packInstall.sh $JHALFSDIR/ + } # # Copy urls.xsl, if needed [[ "$GETPKG" = "y" ]] && cp $COMMON_DIR/urls.xsl $JHALFSDIR/