summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortorben2015-12-03 17:40:53 +0100
committertorben2015-12-03 17:40:53 +0100
commit934f163efe1a3d497bbc84d138ed6df72eab9f10 (patch)
tree293695bd31c904f646dba5c9f4e4049ccbdd6007
parentupdate rebash (diff)
downloadsystemd-init-934f163efe1a3d497bbc84d138ed6df72eab9f10.tar.gz
systemd-init-934f163efe1a3d497bbc84d138ed6df72eab9f10.tar.xz
systemd-init-934f163efe1a3d497bbc84d138ed6df72eab9f10.zip
Improve exception handling..
-rwxr-xr-xbuilder/build-initramfs.sh21
-rwxr-xr-xbuilder/dnbd3-rootfs/hooks/pre-udev/setup-loopback-device.sh1
-rwxr-xr-xbuilder/dnbd3-rootfs/module-setup.sh8
3 files changed, 20 insertions, 10 deletions
diff --git a/builder/build-initramfs.sh b/builder/build-initramfs.sh
index cd7211ee..cb85a86e 100755
--- a/builder/build-initramfs.sh
+++ b/builder/build-initramfs.sh
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# -*- coding: utf-8 -*-
-# region header
+# region header
# Copyright Torben Sickert (t.sickert["~at~"]gmail.com) 29.10.2015
# Janosch Dobler (TODO) 29.10.2015
@@ -59,7 +59,10 @@ core.import logging
core.import utils
core.import exceptions
-exceptions.init
+exceptions.activate
+
+logging.set_commands_log_level debug
+logging.set_log_level critical
# region properties
@@ -68,7 +71,7 @@ build_initramfs_debug='no'
build_initramfs_create_system_image=''
build_initramfs_cleanup='no'
build_initramfs_dependencies=(bash cpio git test shift echo mktemp cat rm sed \
- gzip curl tar grep make gcc cmake)
+ gzip curl tar grep make gcc cmake readlink dirname)
# endregion
@@ -103,8 +106,6 @@ function build_initramfs_print_command_line_option_description() {
-c --cleanup Removes all distribution specific compiled files.
-i --create-system-image Creates an image under given path from current system.
-
--c --create-system-image Creates a system image file for given path
(default: "$build_initramfs_create_system_image").
EOF
}
@@ -146,6 +147,10 @@ function build_initramfs_parse_command_line() {
-i|--create-system-image)
shift
build_initramfs_create_system_image="$1"
+ if [[ "$build_initramfs_create_system_image" == '' ]]; then
+ logging.critical "This options needs a path to save image to."
+ return 1
+ fi
shift
;;
@@ -209,7 +214,10 @@ function build_initramfs_cleanup() {
# Examples:
#
# >>> build_initramfs_cleanup
- echo TODO
+ source dnbd3-rootfs/module-setup.sh
+ moddir="$(dirname "$(readlink --canonicalize \
+ dnbd3-rootfs/module-setup.sh)")"
+ clean
return $?
}
@@ -270,6 +278,7 @@ else
"$build_initramfs__modules" --no-hostonly /boot/initramfs-test.img
fi
logging.info 'Done!'
+exceptions.deactivate
# endregion
diff --git a/builder/dnbd3-rootfs/hooks/pre-udev/setup-loopback-device.sh b/builder/dnbd3-rootfs/hooks/pre-udev/setup-loopback-device.sh
deleted file mode 100755
index 9103afd9..00000000
--- a/builder/dnbd3-rootfs/hooks/pre-udev/setup-loopback-device.sh
+++ /dev/null
@@ -1 +0,0 @@
-/sbin/initqueue --name ifup-lo --unique --onetime /sbin/ifup lo -m
diff --git a/builder/dnbd3-rootfs/module-setup.sh b/builder/dnbd3-rootfs/module-setup.sh
index 9ee50ce4..2d5528f8 100755
--- a/builder/dnbd3-rootfs/module-setup.sh
+++ b/builder/dnbd3-rootfs/module-setup.sh
@@ -15,6 +15,7 @@ clean() {
utils_clean_systemd_preserve_process_marker \
"$moddir/binaries/systemd-preserve-process-marker/"
fi
+ return 0
}
check() {
@@ -28,7 +29,7 @@ check() {
logging_set_log_level 'info'
logging_set_commands_log_level 'info'
- # TODO uncomment if rebash is fixed: exceptions_init
+ exceptions_activate
if [[ ! -f "$moddir/binaries/nbd/nbd.ko" ]]; then
utils_compile_nbd "$moddir/binaries/nbd/"
@@ -57,6 +58,9 @@ check() {
if [[ ! -f /usr/bin/sh ]] && [[ -f /bin/sh ]]; then
ln --symbolic --force /bin/sh /usr/bin/sh
fi
+
+ exceptions_deactivate
+
return 0
}
@@ -107,8 +111,6 @@ install() {
# load nbd.ko, dnbd3.ko
inst_hook pre-udev 00 "$moddir/hooks/pre-udev/load-custom-kernel-modules.sh"
- # TODO needed?
- inst_hook pre-udev 00 "$moddir/hooks/pre-udev/setup-loopback-device.sh"
# get the openslx config from the servers configured in the kernel command
# line (${SLX_SERVER}/${SLX_SERVER_BASE}/config)