tavoid gettext being a requirement and list optional tools found in version output - tomb - the crypto undertaker HTML git clone git://parazyd.org/tomb.git DIR Log DIR Files DIR Refs DIR README DIR LICENSE --- DIR commit 982c7591f2c7dcf3d9d08fb1f1feff87a1e19c09 DIR parent aa35441d696cfdeb9af8506c6bf5cc003e42c522 HTML Author: Jaromil <jaromil@dyne.org> Date: Sun, 16 Nov 2014 11:34:35 +0100 avoid gettext being a requirement and list optional tools found in version output Diffstat: M tomb | 37 +++++++++++++++++++------------ 1 file changed, 23 insertions(+), 14 deletions(-) --- DIR diff --git a/tomb b/tomb t@@ -612,7 +612,7 @@ option_value() { # Messaging function with pretty coloring function _msg() { local msg="$2" - hash gettext && msg="$(gettext -s "$2")" + hash gettext 2>/dev/null && msg="$(gettext -s "$2")" for i in $(seq 3 ${#}); do msg=${(S)msg//::$(($i - 2))*::/$*[$i]} t@@ -712,19 +712,24 @@ progress() { } +_list_optional_tools() { + typeset -a _deps + _deps=(gettext dcfldd wipe mkfs.ext4 steghide e2fsck) + _deps+=(resize2fs tomb-kdb-pbkdf2 qrencode swish-e unoconv) + for d in $_deps; do + _print "`which $d`" + done + return 0 +} + + # Check program dependencies # # Tomb depends on system utilities that must be present, and other # functionality that can be provided by various programs according to # what's available on the system. If some required commands are # missing, bail out. -_ensure_dependencies check_bin() { - - # The messages system requires gettext - command -v gettext >& - || { - print "Missing required dependency: gettext. Please install it." - exit 1 - } +_ensure_dependencies() { # Check for required programs for req in cryptsetup pinentry sudo gpg; do t@@ -2661,13 +2666,17 @@ _print "\000" _print "System utils:" _print "\000" cat <<EOF - `sudo -V | head -n1` - `cryptsetup --version` - `pinentry --version` - `gpg --version | head -n1` - key forging algorithms (GnuPG symmetric ciphers): -`list_gnupg_ciphers` + `sudo -V | head -n1` + `cryptsetup --version` + `pinentry --version` + `gpg --version | head -n1` - key forging algorithms (GnuPG symmetric ciphers): + `list_gnupg_ciphers` EOF - return 0 +_print "\000" +_print "Optional utils:" +_print "\000" +_list_optional_tools version +return 0 } usage ;;