diff --git a/packaging/package.sh b/packaging/package.sh index 484b398a1d7..8a876615123 100755 --- a/packaging/package.sh +++ b/packaging/package.sh @@ -102,7 +102,7 @@ function packaging() { echo ". executing rpmbuild" cp "$DISTRO/cloud.spec" "$RPMDIR/SPECS" - (cd "$RPMDIR"; rpmbuild --define "_topdir ${RPMDIR}" "${DEFVER}" "${DEFREL}" ${DEFPRE+"$DEFPRE"} ${DEFOSSNOSS+$DEFOSSNOSS} ${DEFSIM+"$DEFSIM"} -bb SPECS/cloud.spec) + (cd "$RPMDIR"; rpmbuild --define "_topdir ${RPMDIR}" "${DEFVER}" "${DEFREL}" ${DEFPRE+"$DEFPRE"} ${DEFOSSNOSS+"$DEFOSSNOSS"} ${DEFSIM+"$DEFSIM"} -bb SPECS/cloud.spec) if [ $? -ne 0 ]; then echo "RPM Build Failed " exit 3 diff --git a/scripts/vm/systemvm/injectkeys.sh b/scripts/vm/systemvm/injectkeys.sh index f69e33168d7..6f224cdddcf 100755 --- a/scripts/vm/systemvm/injectkeys.sh +++ b/scripts/vm/systemvm/injectkeys.sh @@ -85,14 +85,19 @@ systemvmpath=$3 command -v mkisofs > /dev/null || (echo "$(basename $0): mkisofs not found, please install or ensure PATH is accurate" ; exit 4) -# if running into Docker as unprivileges, skip ssh verification as iso cannot be mounted. -if [ -e /dev/loop0 ]; then +# if running into Docker as unprivileges, skip ssh verification as iso cannot be mounted due to missing loop device. +if [ -f /.dockerinit ]; then + if [ -e /dev/loop0 ]; then + # it's a docker instance with privileges. + inject_into_iso systemvm.iso $newpubkey + [ $? -ne 0 ] && exit 5 + copy_priv_key $newprivkey + else + # this mean it's a docker instance, ssh key cannot be verify. + echo "We run inside Docker, skipping ssh key insertion in systemvm.iso" + fi +else inject_into_iso systemvm.iso $newpubkey [ $? -ne 0 ] && exit 5 copy_priv_key $newprivkey -else - # this mean it's a docker instance, ssh key cannot be verify. - echo "No loop device found, skipping ssh key insertion in systemvm.iso" fi - -exit $?