forked from msvsphere/cloud-images
parent
fed5a87ab5
commit
ad326bbe18
@ -0,0 +1,74 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
PACKER_LOG_FILE='./packer.log'
|
||||||
|
SOURCES="$(for FILE in *.pkr.hcl; do cat $FILE | awk 'BEGIN{f=0} {if($1 ~ /build/ && $2 ~ /{/){f=1};if(f == 1){if($1 ~ /sources/ && $2 ~ /=/ && $3 ~ /\[/){f=2;next}};if(f == 2){if($1 ~ /\]/) {f=0}};if(f == 2){print $0}}' | sed -E 's/"//g;s/,//g;s/sources\.//g'; done)"
|
||||||
|
|
||||||
|
SOURCE=''
|
||||||
|
NO_PAKER_INIT=''
|
||||||
|
NO_PKG_INSTALL=''
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
Usage()
|
||||||
|
{
|
||||||
|
cat <<EOF
|
||||||
|
Usage:
|
||||||
|
|
||||||
|
$0 -s <source name> [option]
|
||||||
|
source name:
|
||||||
|
EOF
|
||||||
|
for SRC in $SOURCES; do
|
||||||
|
echo -e "\t$SRC"
|
||||||
|
done
|
||||||
|
cat <<EOF
|
||||||
|
option:
|
||||||
|
-n - Do not run packer init;
|
||||||
|
-p - Do not packages install;
|
||||||
|
Display this help and exit:
|
||||||
|
$0 -h
|
||||||
|
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
CheckSource()
|
||||||
|
{
|
||||||
|
local INSOURCE="$1"
|
||||||
|
for SRC in $SOURCES; do
|
||||||
|
[ "X$SRC" = "X$INSOURCE" ] && return 0
|
||||||
|
done
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
while getopts "s:hnp" OPTION; do
|
||||||
|
case $OPTION in
|
||||||
|
's') SOURCE="$OPTARG" ;;
|
||||||
|
'n') NO_PAKER_INIT='Y' ;;
|
||||||
|
'p') NO_PKG_INSTALL='Y' ;;
|
||||||
|
'h') Usage; exit 0 ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
shift $(($OPTIND-1))
|
||||||
|
OPTIND=1
|
||||||
|
|
||||||
|
[ -z "$SOURCE" ] && { Usage; exit 1; }
|
||||||
|
|
||||||
|
CheckSource "$SOURCE" || { echo "Unknown source: $SOURCE"; exit 1; }
|
||||||
|
|
||||||
|
if [ -z "$NO_PKG_INSTALL" ]; then
|
||||||
|
if which dnf &>/dev/null; then
|
||||||
|
install edk2-ovmf libvirt libvirt-daemon-kvm
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -z "$NO_PAKER_INIT" ] && packer init -upgrade . || exit 1
|
||||||
|
|
||||||
|
PACKER_LOG=1 packer build -only=$SOURCE . 2>$PACKER_LOG_FILE || exit 1
|
||||||
|
|
||||||
|
if [ "$SOURCE" = "vmware-iso.msvsphere-9-ovf-x86_64" ]; then
|
||||||
|
OUT_DIR='./vmware-iso.msvsphere-9-ovf-x86_64_ovf'
|
||||||
|
rm -rf $OUT_DIR
|
||||||
|
mkdir $OUT_DIR
|
||||||
|
|
||||||
|
/usr/lib/vmware-ovftool/ovftool --machineOutput --X:logFile=./ovftool.log --X:logLevel=verbose --exportFlags=extraconfig --allowExtraConfig --X:vCloudEnableGuestCustomization ./output-msvsphere-9-ovf-x86_64/msvsphere-9.4.vmx $OUT_DIR || exit 1
|
||||||
|
fi
|
@ -1,11 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
OUT_DIR='./vmware-iso.msvsphere-9-ovf-x86_64_ovf'
|
|
||||||
|
|
||||||
PACKER_LOG_FILE='./packer.log'
|
|
||||||
PACKER_LOG=1 packer build -only=vmware-iso.msvsphere-9-ovf-x86_64 . 2>$PACKER_LOG_FILE || exit 1
|
|
||||||
|
|
||||||
rm -rf $OUT_DIR
|
|
||||||
mkdir $OUT_DIR
|
|
||||||
|
|
||||||
/usr/lib/vmware-ovftool/ovftool --machineOutput --X:logFile=./ovftool.log --X:logLevel=verbose --exportFlags=extraconfig --allowExtraConfig --X:vCloudEnableGuestCustomization ./output-msvsphere-9-ovf-x86_64/msvsphere-9.4.vmx $OUT_DIR
|
|
Loading…
Reference in new issue