Priority: optional
Maintainer: Michael Prokop <mika@grml.org>
Build-Depends: debhelper (>= 4.0.0)
-Standards-Version: 3.6.2
+Standards-Version: 3.7.2
Package: grml-etc-core
Architecture: all
-Conflicts: grml-etc (<< 0.8-11), grml-autoconfig (<< 0.5-7)
+Conflicts: grml-etc (<< 0.8-11), grml-autoconfig (<< 0.5-7), grml-scripts (<< 0.8-27)
Depends: vim | nvi, zsh
Description: core ecetera files for the grml system
This package includes some /etc files for the
--- /dev/null
+# Filename: /etc/grml/script-functions
+# Purpose: some often used functions for use in shellscripts
+# Authors: grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
+# Bug-Reports: see http://grml.org/bugs/
+# License: This file is licensed under the GPL v2.
+# Latest change: Sam Sep 16 13:08:16 CEST 2006 [mika]
+################################################################################
+
+# {{{ set default PATH
+setpath(){
+ export PATH=${PATH:-'/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin'}
+}
+# }}}
+
+# {{{ check for root-permissions
+check4root(){
+ if [ "$UID" != 0 ] ; then
+ echo 1>&2 "Error: please run this script with uid 0 (root)." ; return 1
+ fi
+}
+# }}}
+
+# {{{ check for user permissions
+check4user(){
+ if [ "$UID" == 0 ] ; then
+ echo 1>&2 "Error: please do not run this script with uid 0 (root)." ; return 1
+ fi
+}
+# }}}
+
+# {{{ check for running zsh
+iszsh(){
+ if ! [ -z "$ZSH_VERSION" ] ; then
+ return 0
+ else
+ return 1
+ fi
+}
+# }}}
+
+# {{{ check for (X)dialog
+setdialog(){
+ if [ -n "$DISPLAY" ] ; then
+ [ -x /usr/bin/Xdialog ] && DIALOG="Xdialog" && export XDIALOG_HIGH_DIALOG_COMPAT=1
+ else
+ [ -x /usr/bin/dialog ] && DIALOG='dialog' || ( echo 1>&2 "dialog not available" ; return 1 )
+ fi
+}
+# }}}
+
+# {{{ check for availability of program(s)
+check4progs(){
+ local RC=''
+ for arg in $* ; do
+ type -p $arg >/dev/null 2>&1 || RC="$arg"
+ done
+ if [ -n "$RC" ] ; then
+ echo "$RC not installed"
+ return 1
+ fi
+}
+# }}}
+
+# {{{ simple shell grep
+stringinfile(){
+ case "$(cat $2)" in *$1*) return 0;; esac
+ return 1
+}
+# }}}
+
+# {{{ simple shell grep for strings
+stringinstring(){
+ case "$2" in *$1*) return 0;; esac
+ return 1
+}
+# }}}
+
+# {{{ reread boot command line; echo last parameter's argument or return false.
+getbootparam(){
+ stringinstring " $1=" /proc/cmdline || return 1
+ result="${/proc/cmdline##*$1=}"
+ result="${result%%[ ]*}"
+ echo "$result"
+ return 0
+}
+# }}}
+
+# {{{ check boot commandline for specified option
+checkbootparam(){
+ stringinstring " $1" /proc/cmdline
+ return "$?"
+}
+# }}}
+
+# {{{ check whether $1 is yes
+checkvalue(){
+ if [ "$1" = "yes" -o "$1" = "YES" ] ; then
+ return 0
+ else
+ return 1
+ fi
+}
+# }}}
+
+# {{{ grml specific checks
+isgrml(){
+ [ -f /etc/grml_version ] && return 0 || return 1
+}
+
+grmlversion(){
+ cat /etc/grml_version
+}
+
+isgrmlcd(){
+ [ -f /etc/grml_cd ] && return 0 || return 1
+}
+
+isgrmlhd(){
+ [ -f /etc/grml_cd ] && return 1 || return 0
+}
+
+checkgrmlsmall(){
+ grep -q small /etc/grml_version 2>/dev/null && return 0 || return 1
+}
+# }}}
+
+# {{{ filesystems (proc, pts, sys)
+mount_proc(){
+ check4root || return 1
+ [ -f /proc/version ] || mount -t proc /proc /proc 2>/dev/null
+}
+
+mount_pts(){
+ check4root || return 1
+ stringinfile "/dev/pts" /proc/mounts || mount -t devpts /dev/pts /dev/pts 2>/dev/null
+}
+
+mount_sys(){
+ check4root || return 1
+ [ -d /sys/devices ] || mount -t sysfs /sys /sys 2>/dev/null
+}
+# }}}
+
+## END OF FILE #################################################################
+# vim:foldmethod=marker tw=80 ai expandtab shiftwidth=2 tabstop=2