summaryrefslogtreecommitdiff
path: root/helpers
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2007-09-23 10:05:16 +0200
committerDaniel Baumann <daniel@debian.org>2011-03-09 18:22:26 +0100
commitf314791fa2fa3e6a557ca50ecb4a0cf7798fee79 (patch)
tree1289402c2df38afa3f1f70c7e40fe4f35835d670 /helpers
parentc79ab34a7c597c9e3ab202c644121c6944789424 (diff)
downloadvyos-live-build-f314791fa2fa3e6a557ca50ecb4a0cf7798fee79.tar.gz
vyos-live-build-f314791fa2fa3e6a557ca50ecb4a0cf7798fee79.zip
Adding live-helper 1.0~a20-1.
Diffstat (limited to 'helpers')
-rwxr-xr-xhelpers/lh_binary8
-rwxr-xr-xhelpers/lh_binary_linux-image4
-rwxr-xr-xhelpers/lh_binary_syslinux86
-rwxr-xr-xhelpers/lh_chroot1
-rwxr-xr-xhelpers/lh_chroot_hacks3
-rwxr-xr-xhelpers/lh_chroot_local-preseed73
-rwxr-xr-xhelpers/lh_chroot_preseed46
-rwxr-xr-xhelpers/lh_chroot_resolv6
-rwxr-xr-xhelpers/lh_config4
-rwxr-xr-xhelpers/make-live4
10 files changed, 194 insertions, 41 deletions
diff --git a/helpers/lh_binary b/helpers/lh_binary
index 7a71cbc61..c178309f2 100755
--- a/helpers/lh_binary
+++ b/helpers/lh_binary
@@ -24,6 +24,14 @@ USAGE="${PROGRAM} [--force]"
Arguments "${@}"
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/bootstrap
+Read_conffile config/chroot
+Read_conffile config/binary
+Read_conffile config/source
+Set_defaults
+
# Preparing root filesystem
lh_binary_chroot ${*}
diff --git a/helpers/lh_binary_linux-image b/helpers/lh_binary_linux-image
index 077b4e319..9e4d74c9c 100755
--- a/helpers/lh_binary_linux-image
+++ b/helpers/lh_binary_linux-image
@@ -106,7 +106,9 @@ fi
case "${LH_INITRAMFS}" in
casper)
- cp "${LH_BASE:-/usr/share/live-helper}"/data/casper/parameters.txt "${DESTDIR}"/parameters.txt
+ # Checking casper templates
+ Check_templates casper
+ cp "${TEMPLATES}"/casper/parameters.txt "${DESTDIR}"/parameters.txt
;;
live-initramfs)
diff --git a/helpers/lh_binary_syslinux b/helpers/lh_binary_syslinux
index 88a154bfc..fd6d1cdc2 100755
--- a/helpers/lh_binary_syslinux
+++ b/helpers/lh_binary_syslinux
@@ -335,6 +335,32 @@ case "${LIVE_BINARY_IMAGES}" in
esac
cp -r "${TEMPLATES}"/* binary/isolinux
+
+ for FILE in binary/isolinux/*.live
+ do
+ mv ${FILE} `dirname ${FILE}`/`basename ${FILE} .live`
+ done
+
+ if [ "${LIVE_DEBIAN_INSTALLER}" != "disabled" ]
+ then
+ for FILE in binary/isolinux/*.install
+ do
+ mv ${FILE} `dirname ${FILE}`/`basename ${FILE} .install`
+ done
+
+ if [ "${LIVE_ARCHITECTURE}" = "amd64" ] || [ "${LIVE_ARCHITECTURE}" = "i386" ] || [ "${LIVE_ARCHITECTURE}" = "powerpc" ]
+ then
+ for FILE in binary/isolinux/*.install.g-i
+ do
+ mv ${FILE} `dirname ${FILE}`/`basename ${FILE} .install.g-i`
+ done
+ else
+ rm -f binary/isolinux/*.install.g-i
+ fi
+ else
+ rm -f binary/isolinux/*.install*
+ fi
+
mv binary/isolinux/syslinux.cfg binary/isolinux/isolinux.cfg
# Copying local configuration file
@@ -363,7 +389,8 @@ case "${LIVE_BINARY_IMAGES}" in
# Configure syslinux templates
sed -i -e "s@LINUX_LIVE@${LINUX_LIVE}@" -e "s@LINUX_INSTALL@${LINUX_INSTALL}@" -e "s@MEMTEST@${MEMTEST}@" binary/isolinux/isolinux.cfg
sed -i -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" binary/isolinux/isolinux.cfg
- sed -i -e "s/LIVE_DATE/`date +%Y%m%d`/" binary/isolinux/f1.txt
+ sed -i -e "s/LIVE_DISTRIBUTION/${LIVE_DISTRIBUTION}/" -e "s/LIVE_DATE/`date +%Y%m%d`/" -e "s/LIVE_MEDIA/CD-ROM/" binary/isolinux/f1.txt
+ sed -i -e "s/LIVE_MEDIA/CD-ROM/" binary/isolinux/f3.txt
sed -i -e "s/LIVE_VERSION/${VERSION}/" binary/isolinux/f10.txt
# Working arround syslinux 8.3 limitation
@@ -407,6 +434,32 @@ case "${LIVE_BINARY_IMAGES}" in
mkdir -p tftpboot/pxelinux.cfg
cp -r "${TEMPLATES}"/* tftpboot/pxelinux.cfg
+
+ for FILE in tftpboot/pxelinux.cfg/*.live
+ do
+ mv ${FILE} `dirname ${FILE}`/`basename ${FILE} .live`
+ done
+
+ if [ "${LIVE_DEBIAN_INSTALLER}" != "disabled" ]
+ then
+ for FILE in tftpboot/pxelinux.cfg/*.install
+ do
+ mv ${FILE} `dirname ${FILE}`/`basename ${FILE} .install`
+ done
+
+ if [ "${LIVE_ARCHITECTURE}" = "amd64" ] || [ "${LIVE_ARCHITECTURE}" = "i386" ] || [ "${LIVE_ARCHITECTURE}" = "powerpc" ]
+ then
+ for FILE in tftpboot/pxelinux.cfg/*.install.g-i
+ do
+ mv ${FILE} `dirname ${FILE}`/`basename ${FILE} .install.g-i`
+ done
+ else
+ rm -f tftpboot/pxelinux.cfg/*.install.g-i
+ fi
+ else
+ rm -f tftpboot/pxelinux.cfg/*.install*
+ fi
+
mv tftpboot/pxelinux.cfg/syslinux.cfg tftpboot/pxelinux.cfg/default
# Copying local configuration file
@@ -437,7 +490,8 @@ case "${LIVE_BINARY_IMAGES}" in
# Configure syslinux templates
sed -i -e "s@LINUX_LIVE@${LINUX_LIVE}@" -e "s@LINUX_INSTALL@${LINUX_INSTALL}@" -e "s@MEMTEST@${MEMTEST}@" tftpboot/pxelinux.cfg/default
sed -i -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" -e "s/LIVE_NET_SERVER/${LIVE_NET_SERVER}/" -e "s#LIVE_NET_PATH#${LIVE_NET_PATH}#" tftpboot/pxelinux.cfg/default
- sed -i -e "s/LIVE_DATE/`date +%Y%m%d`/" tftpboot/pxelinux.cfg/f1.txt
+ sed -i -e "s/LIVE_DISTRIBUTION/${LIVE_DISTRIBUTION}/" -e "s/LIVE_DATE/`date +%Y%m%d`/" -e "s/LIVE_MEDIA/netboot/" tftpboot/pxelinux.cfg/f1.txt
+ sed -i -e "s/LIVE_MEDIA/netboot/" tftpboot/pxelinux.cfg/f3.txt
sed -i -e "s/LIVE_VERSION/${VERSION}/" tftpboot/pxelinux.cfg/f10.txt
# Working arround syslinux 8.3 limitation
@@ -476,6 +530,31 @@ case "${LIVE_BINARY_IMAGES}" in
cp -r "${TEMPLATES}"/* "${DESTDIR}"
+ for FILE in "${DESTDIR}"/*.live
+ do
+ mv ${FILE} `dirname ${FILE}`/`basename ${FILE} .live`
+ done
+
+ if [ "${LIVE_DEBIAN_INSTALLER}" != "disabled" ]
+ then
+ for FILE in "${DESTDIR}"/*.install
+ do
+ mv ${FILE} `dirname ${FILE}`/`basename ${FILE} .install`
+ done
+
+ if [ "${LIVE_ARCHITECTURE}" = "amd64" ] || [ "${LIVE_ARCHITECTURE}" = "i386" ] || [ "${LIVE_ARCHITECTURE}" = "powerpc" ]
+ then
+ for FILE in "${DESTDIR}"/*.install.g-i
+ do
+ mv ${FILE} `dirname ${FILE}`/`basename ${FILE} .install.g-i`
+ done
+ else
+ rm -f "${DESTDIR}"/*.install.g-i
+ fi
+ else
+ rm -f "${DESTDIR}"/*.install*
+ fi
+
# Copying local configuration file
if [ -f config/binary_syslinux/syslinux.cfg ]
then
@@ -502,7 +581,8 @@ case "${LIVE_BINARY_IMAGES}" in
# Configure syslinux templates
sed -i -e "s@LINUX_LIVE@${LINUX_LIVE}@" -e "s@LINUX_INSTALL@${LINUX_INSTALL}@" -e "s@MEMTEST@${MEMTEST}@" "${DESTDIR}"/syslinux.cfg
sed -i -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" "${DESTDIR}"/syslinux.cfg
- sed -i -e "s/LIVE_DATE/`date +%Y%m%d`/" "${DESTDIR}"/f1.txt
+ sed -i -e "s/LIVE_DISTRIBUTION/${LIVE_DISTRIBUTION}/" -e "s/LIVE_DATE/`date +%Y%m%d`/" -e "s/LIVE_MEDIA/hd-media/" "${DESTDIR}"/f1.txt #FIXME
+ sed -i -e "s/LIVE_MEDIA/hd-media/" "${DESTDIR}"/f3.txt #FIXME
sed -i -e "s/LIVE_VERSION/${VERSION}/" "${DESTDIR}"/f10.txt
# Workaround for syslinux (<< 3.36) which doesn't support long file/path names
diff --git a/helpers/lh_chroot b/helpers/lh_chroot
index 7a12d9e71..a50f92db9 100755
--- a/helpers/lh_chroot
+++ b/helpers/lh_chroot
@@ -47,6 +47,7 @@ lh_chroot_linux-image install ${*}
# Customizing chroot
lh_chroot_preseed ${*}
+lh_chroot_local-preseed ${*}
lh_chroot_tasks ${*}
lh_chroot_packageslists ${*}
lh_chroot_packages ${*}
diff --git a/helpers/lh_chroot_hacks b/helpers/lh_chroot_hacks
index 38bcbbad4..cba544127 100755
--- a/helpers/lh_chroot_hacks
+++ b/helpers/lh_chroot_hacks
@@ -89,9 +89,6 @@ echo "0.0 0 0.0" > chroot/etc/adjtime
# Remove generated xorg.conf based on build systems configuration
rm -f chroot/etc/X11/xorg.conf
-# Touch resolv.conf
-touch chroot/etc/resolv.conf
-
# Remove cruft
rm -f chroot/boot/initrd*bak*
rm -f /etc/apt/trusted.gpg~
diff --git a/helpers/lh_chroot_local-preseed b/helpers/lh_chroot_local-preseed
new file mode 100755
index 000000000..f93f463c5
--- /dev/null
+++ b/helpers/lh_chroot_local-preseed
@@ -0,0 +1,73 @@
+#!/bin/sh
+
+# lh_chroot_local-preseed(1) - use debconf local preseeding file
+# Copyright (C) 2006-2007 Daniel Baumann <daniel@debian.org>
+#
+# live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
+# This is free software, and you are welcome to redistribute it
+# under certain conditions; see COPYING for details.
+
+set -e
+
+# Including common functions
+LH_BASE="${LH_BASE:-/usr/share/live-helper}"
+
+for FUNCTION in "${LH_BASE}"/functions/*.sh
+do
+ . "${FUNCTION}"
+done
+
+# Setting static variables
+DESCRIPTION="execute local preseed in chroot"
+HELP=""
+USAGE="${PROGRAM} [--force]"
+
+Arguments "${@}"
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/bootstrap
+Read_conffile config/chroot
+Read_conffile config/binary
+Read_conffile config/source
+Set_defaults
+
+Echo_message "Begin executing locale preseed..."
+
+# Requiring stage file
+Require_stagefile .stage/bootstrap
+
+# Checking stage file
+Check_stagefile .stage/chroot_local-preseed
+
+# Checking lock file
+Check_lockfile .lock
+
+# Creating lock file
+Create_lockfile .lock
+
+if ls config/chroot_local-preseed/* > /dev/null 2>&1
+then
+ # Check dependency
+ Check_package chroot/usr/bin/debconf-set-selections debconf
+
+ # Install dependency
+ Install_package
+
+ for PRESEED in config/chroot_local-preseed/*
+ do
+ # Copying local preseed
+ cp "${PRESEED}" chroot/root/preseed
+
+ Chroot "debconf-set-selections /root/preseed"
+
+ # Removing local preseed file
+ rm -f chroot/root/preseed
+ done
+
+ # Remove dependency
+ Remove_package
+
+ # Creating stage file
+ Create_stagefile .stage/chroot_local-preseed
+fi
diff --git a/helpers/lh_chroot_preseed b/helpers/lh_chroot_preseed
index 02418c780..6e9cf9136 100755
--- a/helpers/lh_chroot_preseed
+++ b/helpers/lh_chroot_preseed
@@ -1,6 +1,6 @@
#!/bin/sh
-# lh_chroot_preseed(1) - mount /proc
+# lh_chroot_preseed(1) - use debconf preseeding file
# Copyright (C) 2006-2007 Daniel Baumann <daniel@debian.org>
#
# live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
@@ -32,11 +32,6 @@ Read_conffile config/binary
Read_conffile config/source
Set_defaults
-if [ -z "${LIVE_PRESEED}" ]
-then
- exit 0
-fi
-
Echo_message "Begin executing preseed..."
# Requiring stage file
@@ -51,28 +46,29 @@ Check_lockfile .lock
# Creating lock file
Create_lockfile .lock
-if [ -f "${LIVE_PRESEED}" ]
-then
- # Check dependency
- Check_package chroot/usr/bin/debconf-set-selections debconf
+# Processing preseeds
+for PRESEED in ${LIVE_PACKAGES_LISTS} ${LIVE_TASKS}
+do
+ if [ -f ${LH_BASE:-/usr/share/live-helper}/preseed/"${PRESEED}" ]
+ then
+ # Check dependency
+ Check_package chroot/usr/bin/debconf-set-selections debconf
- # Install dependency
- Install_package
+ # Install dependency
+ Install_package
- # Copying preseed
- cp "${LIVE_PRESEED}" chroot/root/preseed
+ # Copying preseed
+ cp "${PRESEED}" chroot/root/preseed
- Chroot "debconf-set-selections /root/preseed"
+ Chroot "debconf-set-selections /root/preseed"
- # Removing preseed file
- rm -f chroot/root/preseed
+ # Removing preseed file
+ rm -f chroot/root/preseed
- # Remove dependency
- Remove_package
+ # Remove dependency
+ Remove_package
- # Creating stage file
- Create_stagefile .stage/chroot_preseed
-else
- Echo_error "'${LIVE_PRESEED}' file doesn't exists."
- exit 1
-fi
+ # Creating stage file
+ Create_stagefile .stage/chroot_preseed
+ fi
+done
diff --git a/helpers/lh_chroot_resolv b/helpers/lh_chroot_resolv
index 25051724a..04090546a 100755
--- a/helpers/lh_chroot_resolv
+++ b/helpers/lh_chroot_resolv
@@ -75,11 +75,11 @@ case "${1}" in
if [ -f chroot/etc/resolv.conf.orig ]
then
- # Restore resolv file
+ # Restoring resolv file
mv chroot/etc/resolv.conf.orig chroot/etc/resolv.conf
else
- # Remove resolv file
- rm -f chroot/etc/resolv.conf
+ # Truncating resolv file
+ cat < /dev/null > chroot/etc/resolv.conf
fi
# Removing stage file
diff --git a/helpers/lh_config b/helpers/lh_config
index d1015710d..41c043250 100755
--- a/helpers/lh_config
+++ b/helpers/lh_config
@@ -272,10 +272,6 @@ LIVE_PACKAGES="${LIVE_PACKAGES}"
# (Default: ${LIVE_PACKAGES_LISTS})
LIVE_PACKAGES_LISTS="${LIVE_PACKAGES_LISTS}"
-# \$LIVE_PRESEED: set package preseed
-# (Default: ${LIVE_PRESEED})
-LIVE_PRESEED="${LIVE_PRESEED}"
-
# \$LIVE_TASKS: set tasks to install
# (Default: empty)
LIVE_TASKS="${LIVE_TASKS}"
diff --git a/helpers/make-live b/helpers/make-live
index 08133e779..b0fa676f2 100755
--- a/helpers/make-live
+++ b/helpers/make-live
@@ -33,13 +33,13 @@ done
# Setting static variables
PROGRAM="`basename ${0}`"
DESCRIPTION="utility to build Debian Live systems"
-USAGE="${PROGRAM} [config] [--mode MODE] [--config CONFIG] [--apt apt|aptitude] [--apt-ftpproxy URL] [--apt-httpproxy URL] [--binary-indices enabled|disabled] [--apt-pdiffs enabled|disabled] [--apt-recommends enabled|disabled] [--apt-secure enabled|disabled] [--bootstrap cdebootstrap|deboostrap] [--cache enabled|disabled] [--debconf-frontend dialog|readline|noninteractive] [--debconf-priority low|medium|high|critical] [--debconf-nowarnings yes|no] [--genisoimage genisoimage|mkisofs] [--losetup losetup|losetup.org] [--tasksel aptitude|tasksel] [-r|--root DIRECTORY] [-a|--architecture ARCHITECTURE] [-d|--distribution stable|testing|unstable|etch|lenny|sid] [--distribution-config DIRECTORY] [-f|--bootstrap-flavour minimal|standard] [-m|--mirror-bootstrap URL] [--mirror-bootstrap-security URL] [--mirror-binary URL] [--mirror-binary-security URL] [--sections SECTION|\"SECTIONS\"] [--interactive shell|x11|xnest] [-k|--linux-flavour FLAVOUR] [--linux-packages PACKAGE|\"PACKAGES\"] [--keyring-packages PACKAGE|\"PACKAGES\"] [--hooks \"COMMAND\"|\"COMMANDS\"] [-l|--language LANGUAGE] [--packages PACKAGE|\"PACKAGES\"] [-p|--packages-lists LIST|\"LISTS\"] [--tasks TASK|\"TASKS\"] [--security enabled|disabled] [--symlinks enabled|disabled] [--sysvinit enabled|disabled] [--bootappend BOOT_PARAMETER|\"BOOT_PARAMETERS\"] [-e|--encryption ALGORITHM] [--username NAME] [--hostname NAME] [--chroot-filesystem ext2|plain|squashfs] [--memtest memtest86|memtest86+] [--iso-volume STRING] [--net-server HOSTNAME|IP] [--net-path DIRECTORY] [--source enabled|disabled] [--bootloader grub|syslinux] [--grub-splash FILE] [--syslinux-splash FILE] [-b|--binary-images iso|net|tar|usb-hdd] [-s|--source-images iso|net|tar|usb-hdd] [--includes PATH] [--templates PATH] [--breakpoints] [--debug] [--force] [--quiet] [--verbose] [--root-command sudo]"
+USAGE="${PROGRAM} [config] [--mode MODE] [--config CONFIG] [--apt apt|aptitude] [--apt-ftpproxy URL] [--apt-httpproxy URL] [--binary-indices enabled|disabled] [--apt-pdiffs enabled|disabled] [--apt-recommends enabled|disabled] [--apt-secure enabled|disabled] [--bootstrap cdebootstrap|deboostrap] [--cache enabled|disabled] [--debconf-frontend dialog|readline|noninteractive] [--debconf-priority low|medium|high|critical] [--debconf-nowarnings yes|no] [--genisoimage genisoimage|mkisofs] [--losetup losetup|losetup.org] [--tasksel aptitude|tasksel] [-r|--root DIRECTORY] [-a|--architecture ARCHITECTURE] [-d|--distribution stable|testing|unstable|etch|lenny|sid] [--distribution-config DIRECTORY] [-f|--bootstrap-flavour minimal|standard] [-m|--mirror-bootstrap URL] [--mirror-bootstrap-security URL] [--mirror-binary URL] [--mirror-binary-security URL] [--sections SECTION|\"SECTIONS\"] [--interactive shell|x11|xnest] [-k|--linux-flavours FLAVOUR] [--linux-packages PACKAGE|\"PACKAGES\"] [--keyring-packages PACKAGE|\"PACKAGES\"] [--hooks \"COMMAND\"|\"COMMANDS\"] [-l|--language LANGUAGE] [--packages PACKAGE|\"PACKAGES\"] [-p|--packages-lists LIST|\"LISTS\"] [--tasks TASK|\"TASKS\"] [--security enabled|disabled] [--symlinks enabled|disabled] [--sysvinit enabled|disabled] [--bootappend BOOT_PARAMETER|\"BOOT_PARAMETERS\"] [-e|--encryption ALGORITHM] [--username NAME] [--hostname NAME] [--chroot-filesystem ext2|plain|squashfs] [--memtest memtest86|memtest86+] [--iso-volume STRING] [--iso-preparer STRING] [--iso-publisher STRING] [--iso-application STRING] [--net-server HOSTNAME|IP] [--net-path DIRECTORY] [--source enabled|disabled] [--bootloader grub|syslinux] [--grub-splash FILE] [--syslinux-splash FILE] [-b|--binary-images iso|net|tar|usb-hdd] [-s|--source-images iso|net|tar|usb-hdd] [--includes PATH] [--templates PATH] [--breakpoints] [--debug] [--force] [--quiet] [--verbose] [--root-command sudo]"
HELP="Lists: gnome, gnome-core, gnome-desktop, gnome-full, gnome-junior, gnustep, kde, kde-core, kde-desktop, kde-extra, kde-full, kde-junior, mini, minimal, minimal-net, rescue, standard, standard-x11, xfce, xfce-desktop, xfce-junior"
Local_arguments ()
{
- ARGUMENTS="`getopt --longoptions mode:,config:,apt:,apt-ftpproxy:,apt-httpproxy:,binary-indices:,apt-pdiffs:,apt-recommends:,apt-secure:,bootstrap:,cache:,debconf-frontend:,debconf-priority:,debconf-nowarnings:,genisoimage:,losetup:,tasksel:,root:,architecture:,distribution:,distribution-config:,flavour:,mirror-bootstrap:,mirror-bootstrap-security:,mirror-binary:,mirror-binary-security:,sections:,interactive:,kernel:,kernel-packages:,keyring-packages:,hooks:,language:,packages:,packages-lists:,tasks:,security:,symlinks:,sysvinit:,bootappend:,encryption:,username:,hostname:,chroot-filesystem:,memtest:,iso-application:,iso-preparer:,iso-publisher:,iso-volume:,server-address:,server-path:,source:,bootloader:,grub-splash:,syslinux-splash:,binary-images:,binary-source:,includes:,templates:,help,usage,version,force,breakpoints,debug,quiet,verbose,root-command:,initramfs: --name=${PROGRAM} --options r:a:d:f:m:k:l:p:e:b:s:huv --shell sh -- "${@}"`"
+ ARGUMENTS="`getopt --longoptions mode:,config:,apt:,apt-ftpproxy:,apt-httpproxy:,binary-indices:,apt-pdiffs:,apt-recommends:,apt-secure:,bootstrap:,bootstrap-flavour:,cache:,debconf-frontend:,debconf-priority:,debconf-nowarnings:,genisoimage:,losetup:,tasksel:,root:,architecture:,distribution:,distribution-config:,linux-flavours:,mirror-bootstrap:,mirror-bootstrap-security:,mirror-binary:,mirror-binary-security:,sections:,interactive:,linux-packages:,keyring-packages:,hooks:,language:,packages:,packages-lists:,tasks:,security:,symlinks:,sysvinit:,bootappend:,encryption:,username:,hostname:,chroot-filesystem:,memtest:,iso-application:,iso-preparer:,iso-publisher:,iso-volume:,net-server:,net-path:,source:,bootloader:,grub-splash:,syslinux-splash:,binary-images:,source-images:,includes:,templates:,help,usage,version,force,breakpoints,debug,quiet,verbose,root-command:,initramfs: --name=${PROGRAM} --options r:a:d:f:m:k:l:p:e:b:s:huv --shell sh -- "${@}"`"
if [ "${?}" -ne "0" ]
then