fixup initial faiserver bootstrap & small bugs
[automated-distro-installer] / debian-pxe-preseed
index adb9a26e61a8c63d8de379537da691f956e39bd3..f97319451cbcc9352c1fdfbad32ba816e6c36ac8 100755 (executable)
@@ -1,27 +1,47 @@
 #!/bin/bash
 # Copyright (C) 2016 Ian Kelling
 
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+
+cleanup() { :; }
 set -eE -o pipefail
-trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
+trap 'cleanup; echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
 
 
 [[ $EUID == 0 ]] || exec sudo "$BASH_SOURCE" "$@"
 
-cd $(dirname $(readlink -f "$BASH_SOURCE"))
+src=$(readlink -f "${BASH_SOURCE%/*}")
+
+e() { echo "$*"; "$@"; }
 
 mount_dir=$(mktemp -d)
 
-mount -o users wrt:/mnt/usb $mount_dir
+cleanup() { cd; umount -f $mount_dir; }
+e mount -o users wrt:/mnt/usb $mount_dir
+
 
 cd $mount_dir
-rm -rf debian-wheezy
+rm -rf debian-wheezy
 mkdir debian-wheezy
 cd debian-wheezy
-debian-preseed "$@" # my script
+e $src/debian-preseed "$@" # my script
 cd ..
-rm -f tftpboot
-ln -s debian-wheezy tftpboot
+rm -f tftpboot
+ln -s debian-wheezy tftpboot
 
 cd /
-umount $mount_dir
-pxe-server plain # my script
+umount $mount_dir
+e $src/pxe-server -p plain # my script