diff options
-rwxr-xr-x | debian/initramfs-tools.preinst | 7 | ||||
-rw-r--r-- | docs/framebuffer | 6 | ||||
-rw-r--r-- | hook-functions | 82 | ||||
-rwxr-xr-x | hooks/fsck | 14 | ||||
-rwxr-xr-x | hooks/keymap | 8 | ||||
-rwxr-xr-x | hooks/resume | 4 | ||||
-rwxr-xr-x | hooks/thermal | 2 | ||||
-rwxr-xr-x | init | 2 | ||||
-rwxr-xr-x | lsinitramfs | 4 | ||||
-rwxr-xr-x | mkinitramfs | 49 | ||||
-rw-r--r-- | scripts/functions | 70 | ||||
-rwxr-xr-x | scripts/init-top/all_generic_ide | 2 | ||||
-rwxr-xr-x | scripts/init-top/blacklist | 2 | ||||
-rwxr-xr-x | scripts/init-top/keymap | 2 | ||||
-rw-r--r-- | scripts/local | 24 | ||||
-rwxr-xr-x | scripts/local-premount/resume | 10 | ||||
-rw-r--r-- | scripts/nfs | 16 | ||||
-rwxr-xr-x | unmkinitramfs | 14 | ||||
-rwxr-xr-x | update-initramfs | 22 |
19 files changed, 168 insertions, 172 deletions
diff --git a/debian/initramfs-tools.preinst b/debian/initramfs-tools.preinst index 99144bb..3084c4a 100755 --- a/debian/initramfs-tools.preinst +++ b/debian/initramfs-tools.preinst @@ -20,9 +20,10 @@ prepare_rm_conffile() { [ -e "$CONFFILE" ] || return 0 ensure_package_owns_file "$PACKAGE" "$CONFFILE" || return 0 - local md5sum="$(md5sum $CONFFILE | sed -e 's/ .*//')" - local old_md5sum="$(dpkg-query -W -f='${Conffiles}' $PACKAGE | \ - sed -n -e "\' $CONFFILE ' { s/ obsolete$//; s/.* //; p }")" + local md5sum old_md5sum + md5sum="$(md5sum "$CONFFILE" | sed -e 's/ .*//')" + old_md5sum="$(dpkg-query -W -f='${Conffiles}' "$PACKAGE" | \ + sed -n -e "\\' $CONFFILE ' { s/ obsolete$//; s/.* //; p }")" if [ "$md5sum" != "$old_md5sum" ]; then mv $mvverbose -f "$CONFFILE" "$CONFFILE.dpkg-backup" else diff --git a/docs/framebuffer b/docs/framebuffer index 47d8302..bc1f335 100644 --- a/docs/framebuffer +++ b/docs/framebuffer @@ -103,9 +103,9 @@ if [ -n "${FB}" ]; then fi if [ -e /proc/fb ]; then - while read fbno desc; do - if [ $(($fbno < 32)) ]; then - mknod -m 0640 /dev/fb${fbno} c 29 ${fbno} + while read -r fbno desc; do + if [ $((fbno < 32)) ]; then + mknod -m 0640 "/dev/fb${fbno}" c 29 "${fbno}" fi done < /proc/fb else diff --git a/hook-functions b/hook-functions index 58f9e63..941f6be 100644 --- a/hook-functions +++ b/hook-functions @@ -44,7 +44,7 @@ add_modules_from_file() return fi - grep '^[^#]' ${1} | while read module args; do + grep '^[^#]' "${1}" | while read -r module args; do [ -n "$module" ] || continue force_load "${module}" "${args}" done @@ -64,9 +64,9 @@ manual_add_modules() # module.ko' as we want. However it also means that 'softdep' # configuration lines and embedded softdep information is not # processed. So we run twice, with and without this option. - { modprobe --all --set-version="${version}" --ignore-install --quiet --show-depends "$@"; + { modprobe --all --set-version="${version?}" --ignore-install --quiet --show-depends "$@"; modprobe --all --set-version="${version}" --quiet --show-depends "$@"; } | - while read prefix kmod options ; do + while read -r prefix kmod options ; do if [ "${prefix}" != "insmod" ]; then continue fi @@ -139,7 +139,7 @@ copy_file() { link_target="$(readlink -f "${src}")" || return $(($? + 1)) if [ "${link_target}" != "${target}" ]; then - [ "${verbose}" = "y" ] && echo "Adding ${type}-link ${src}" + [ "${verbose?}" = "y" ] && echo "Adding ${type}-link ${src}" # Create a relative link so it always points # to the right place @@ -246,15 +246,15 @@ sys_walk_mod_add() fi # current driver module - driver_path="$(readlink -f ${device_path}/driver/module)" + driver_path="$(readlink -f "${device_path}/driver/module")" if [ -e "$driver_path" ]; then - module="$(basename $(readlink -f $driver_path))" + module="$(basename "$(readlink -f "$driver_path")")" if [ -n "${module}" ]; then manual_add_modules "${module}" fi fi - device_path="$(dirname ${device_path})" + device_path="$(dirname "${device_path}")" done } @@ -273,11 +273,11 @@ block_dev_sys_walk_mod_add() fi # Iterate over component of a layered device - ls -1 "$disk_sys_path/slaves" | while read component; do - block_dev_sys_walk_mod_add "$disk_sys_path/slaves/$component" + find "$disk_sys_path/slaves" -mindepth 1 -maxdepth 1 | while read -r component; do + block_dev_sys_walk_mod_add "$component" done - sys_walk_mod_add ${dev_sys_path} + sys_walk_mod_add "${dev_sys_path}" } block_dev_mod_add() @@ -308,22 +308,22 @@ block_dev_mod_add() add_loaded_modules() { local pattern="$1" - local module - local builtin=/lib/modules/$(uname -r)/modules.builtin + local module builtin + builtin="/lib/modules/$(uname -r)/modules.builtin" for module in /sys/module/$pattern; do if [ -d "$module" ]; then - manual_add_modules $(basename $module) + manual_add_modules "$(basename "$module")" fi done - if [ -f $builtin ]; then - while read module; do + if [ -f "$builtin" ]; then + while read -r module; do case "$module" in */$pattern.ko) - manual_add_modules $(basename $module .ko) + manual_add_modules "$(basename "$module" .ko)" ;; esac - done < $builtin + done < "$builtin" fi } @@ -341,9 +341,9 @@ dep_add_modules_mount() fi # find out block device + fstype - eval "$(while read dev mp fs opts rest ; do \ + eval "$(while read -r dev mp fs opts rest ; do \ [ "$mp" = "$dir" ] && [ "$fs" != "rootfs" ] \ - && printf "dev_node=$dev\nFSTYPE=$fs"\ + && printf "dev_node=%s\\nFSTYPE=%s" "$dev" "$fs"\ && break; done < /proc/mounts)" # Only the root mountpoint has to exist; do nothing if any other @@ -362,7 +362,7 @@ dep_add_modules_mount() if [ "$dir" = / ] && [ "${dev_node}" = "/dev/root" ] ; then if [ -b "${dev_node}" ]; then # Match it to the canonical device name by UUID - dev_node="/dev/disk/by-uuid/"$(blkid -o value -s UUID ${dev_node}) 2>/dev/null + dev_node="/dev/disk/by-uuid/"$(blkid -o value -s UUID "${dev_node}") 2>/dev/null else # Does not exist in our namespace, so look at the # kernel command line @@ -386,7 +386,7 @@ dep_add_modules_mount() fi # recheck device - if [ -z "$dev_node" ] || ! dev_node="$(readlink -f ${dev_node})" \ + if [ -z "$dev_node" ] || ! dev_node="$(readlink -f "${dev_node}")" \ || ! [ -b "$dev_node" ]; then echo "mkinitramfs: failed to determine device for $dir" >&2 echo "mkinitramfs: workaround is MODULES=most, check:" >&2 @@ -398,7 +398,7 @@ dep_add_modules_mount() fi # do not trust mount, check superblock - eval "$(/usr/lib/klibc/bin/fstype ${dev_node})" + eval "$(/usr/lib/klibc/bin/fstype "${dev_node}")" # check that fstype fs recognition if [ "${FSTYPE}" = "unknown" ]; then @@ -412,7 +412,7 @@ dep_add_modules_mount() fi # Add filesystem - manual_add_modules ${FSTYPE} + manual_add_modules "${FSTYPE}" block_dev_mod_add "$dev_node" } @@ -434,7 +434,7 @@ dep_add_modules() # sys walk some important device classes for class in gpio phy regulator rtc; do - for device in /sys/class/$class/*; do + for device in "/sys/class/$class"/*; do device="$(readlink -f "$device")" \ && sys_walk_mod_add "$device" done @@ -621,7 +621,7 @@ hidden_dep_add_modules() cat "${DESTDIR}/lib/modules/${version}/modules.builtin" find "${DESTDIR}/lib/modules/${version}/kernel" -name '*.ko*' } | - while read module; do + while read -r module; do module="${module##*/}" module="${module%%.*}" case "$module" in @@ -688,7 +688,7 @@ get_source() set_initlist() { unset initlist - for si_x in ${initdir}/*; do + for si_x in "${initdir}"/*; do # skip empty dirs without warning [ "${si_x}" = "${initdir}/*" ] && return @@ -702,7 +702,7 @@ set_initlist() esac # skip directories - if [ -d ${si_x} ]; then + if [ -d "${si_x}" ]; then [ "${verbose}" = "y" ] \ && echo "$si_x ignored: a directory" >&2 continue @@ -711,14 +711,14 @@ set_initlist() si_x="$(get_source "${si_x#${initdir}/}")" # skip non executable scripts - if [ ! -x ${si_x} ]; then + if [ ! -x "${si_x}" ]; then [ "${verbose}" = "y" ] \ && echo "$si_x ignored: not executable" >&2 continue fi # skip bad syntax - if ! sh -n ${si_x} ; then + if ! sh -n "${si_x}" ; then [ "${verbose}" = "y" ] \ && echo "$si_x ignored: bad syntax" >&2 continue @@ -732,11 +732,11 @@ get_prereq_pairs() { set_initlist for gp_x in ${initlist:-}; do - echo ${gp_x} ${gp_x} - gp_src="$(get_source $gp_x)" + echo "${gp_x} ${gp_x}" + gp_src="$(get_source "$gp_x")" prereqs=$("${gp_src}" prereqs) for prereq in ${prereqs}; do - echo ${prereq} ${gp_x} + echo "${prereq} ${gp_x}" done done } @@ -747,14 +747,14 @@ cache_run_scripts() DESTDIR=${1} scriptdir=${2} initdir=${DESTDIR}${scriptdir} - [ ! -d ${initdir} ] && return + [ ! -d "${initdir}" ] && return - > ${initdir}/ORDER + true > "${initdir}/ORDER" runlist=$(get_prereq_pairs | tsort) for crs_x in ${runlist}; do - [ -f ${initdir}/${crs_x} ] || continue - echo "${scriptdir}/${crs_x} \"\$@\"" >> ${initdir}/ORDER - echo "[ -e /conf/param.conf ] && . /conf/param.conf" >> ${initdir}/ORDER + [ -f "${initdir}/${crs_x}" ] || continue + echo "${scriptdir}/${crs_x} \"\$@\"" >> "${initdir}/ORDER" + echo "[ -e /conf/param.conf ] && . /conf/param.conf" >> "${initdir}/ORDER" done } @@ -762,12 +762,12 @@ call_scripts() { set -e for cs_x in ${runlist}; do - [ -f ${initdir}/${cs_x} ] || continue + [ -f "${initdir}/${cs_x}" ] || continue # mkinitramfs verbose output if [ "${verbose}" = "y" ]; then echo "Calling hook ${cs_x}" fi - ${initdir}/${cs_x} && ec=$? || ec=$? + "${initdir}/${cs_x}" && ec=$? || ec=$? # allow hooks to abort build: if [ "$ec" -ne 0 ]; then echo "E: ${initdir}/${cs_x} failed with return $ec." @@ -786,8 +786,8 @@ run_scripts() { scriptdir=${2:-} initdir=${1} - [ ! -d ${initdir} ] && return + [ ! -d "${initdir}" ] && return runlist=$(get_prereq_pairs | tsort) - call_scripts $scriptdir + call_scripts "$scriptdir" } @@ -7,14 +7,6 @@ prereqs() echo "$PREREQ" } -fstab_files() -{ - echo /etc/fstab - if [ -d /etc/fstab.d ]; then - ls -1 /etc/fstab.d | grep '\.fstab$' | sed -e 's;^;/etc/fstab.d/;' - fi -} - # Find a specific fstab entry # $1=mountpoint # $2=fstype (optional) @@ -24,9 +16,9 @@ _read_fstab_entry () { echo "MNT_DIR=" echo "MNT_TYPE=" - fstab_files | while read file; do + for file in /etc/fstab /etc/fstab.d/*.fstab; do if [ -f "$file" ]; then - while read MNT_FSNAME MNT_DIR MNT_TYPE MNT_OPTS MNT_FREQ MNT_PASS MNT_JUNK; do + while read -r MNT_FSNAME MNT_DIR MNT_TYPE MNT_OPTS MNT_FREQ MNT_PASS MNT_JUNK; do case "$MNT_FSNAME" in ""|\#*) continue; @@ -102,7 +94,7 @@ for type in $fsck_types; do continue fi - if prog="$(command -v fsck.${type})"; then + if prog="$(command -v "fsck.${type}")"; then copy_exec "$prog" else echo "Warning: /sbin/fsck.${type} doesn't exist, can't install to initramfs, ignoring." diff --git a/hooks/keymap b/hooks/keymap index b88d95c..75703ba 100755 --- a/hooks/keymap +++ b/hooks/keymap @@ -34,9 +34,9 @@ fi . /usr/share/initramfs-tools/hook-functions copy_exec /bin/loadkeys /bin -if ! setupcon --save-keyboard ${DESTDIR}/etc/boottime.kmap.gz ; then +if ! setupcon --save-keyboard "${DESTDIR}/etc/boottime.kmap.gz"; then echo "Warning: error while trying to store keymap file - ignoring request to install /etc/boottime.kmap.gz" - rm -f ${DESTDIR}/etc/boottime.kmap.gz + rm -f "${DESTDIR}/etc/boottime.kmap.gz" exit 0 fi @@ -54,8 +54,8 @@ else fi for var in LANG LC_ALL LC_CTYPE; do - value=$(egrep "^[^#]*${var}=" $env | tail -n1 | cut -d= -f2) - eval $var=$value + value=$(grep -E "^[^#]*${var}=" $env | tail -n1 | cut -d= -f2) + eval $var="$value" done charmap=$(LANG=$LANG LC_ALL=$LC_ALL LC_CTYPE=$LC_CTYPE locale charmap) diff --git a/hooks/resume b/hooks/resume index df6cde8..1ac24f9 100755 --- a/hooks/resume +++ b/hooks/resume @@ -49,7 +49,7 @@ if ! ischroot && [ -r /proc/swaps ]; then # dm-crypt is ephemeral if the key file is /dev/urandom if [ -n "$dm_name" ] && [ -e /etc/crypttab ]; then - while read cryptdev srcdev keyfile junk; do + while read -r cryptdev srcdev keyfile junk; do if [ "$cryptdev" = "$dm_name" ] && [ "$keyfile" = /dev/urandom ]; then ephemeral=true fi @@ -90,5 +90,5 @@ if [ "$RESUME" = auto ] || [ -n "$resume_auto" ]; then if [ -z "$resume_auto" ]; then echo >&2 "W: initramfs-tools failed to select a resume device" fi - echo "RESUME=${resume_auto}" > ${DESTDIR}/conf/conf.d/zz-resume-auto + echo "RESUME=${resume_auto}" > "${DESTDIR}/conf/conf.d/zz-resume-auto" fi diff --git a/hooks/thermal b/hooks/thermal index 93f5100..5807386 100755 --- a/hooks/thermal +++ b/hooks/thermal @@ -28,7 +28,7 @@ powerpc|ppc64) [ -r /proc/cpuinfo ] || exit 0 - MODEL="`grep model /proc/cpuinfo`" + MODEL="$(grep model /proc/cpuinfo)" MODEL="${MODEL##*: }" case "$MODEL" in @@ -320,6 +320,6 @@ mount -n -o move /sys ${rootmnt}/sys mount -n -o move /proc ${rootmnt}/proc # Chain to real filesystem -exec run-init ${drop_caps} "${rootmnt}" "${init}" "$@" <${rootmnt}/dev/console >${rootmnt}/dev/console 2>&1 +exec run-init ${drop_caps} "${rootmnt}" "${init}" "$@" <"${rootmnt}/dev/console" >"${rootmnt}/dev/console" 2>&1 echo "Something went badly wrong in the initramfs." panic "Please file a bug on initramfs-tools." diff --git a/lsinitramfs b/lsinitramfs index a96308d..4f91a6c 100755 --- a/lsinitramfs +++ b/lsinitramfs @@ -4,7 +4,7 @@ set -eu usage() { - echo "Usage: $(basename $0) [-l] <initramfs file>" + echo "Usage: $(basename "$0") [-l] <initramfs file>" } if [ "$#" -eq 0 ] ; then @@ -14,7 +14,7 @@ fi umi_opts="--list" -OPTIONS=`getopt -o hl --long help,long -n "$0" -- "$@"` +OPTIONS=$(getopt -o hl --long help,long -n "$0" -- "$@") # Check for non-GNU getopt if [ $? != 0 ] ; then echo "W: non-GNU getopt" >&2 ; exit 1 ; fi diff --git a/mkinitramfs b/mkinitramfs index 2ce863d..1b15c36 100755 --- a/mkinitramfs +++ b/mkinitramfs @@ -11,7 +11,7 @@ verbose="n" BUSYBOXDIR= export BUSYBOXDIR -OPTIONS=`getopt -o c:d:ko:r:v -n "$0" -- "$@"` +OPTIONS=$(getopt -o c:d:ko:r:v -n "$0" -- "$@") # Check for non-GNU getopt if [ $? != 0 ] ; then echo "W: non-GNU getopt" >&2 ; exit 1 ; fi @@ -65,19 +65,19 @@ done . "${CONFDIR}/initramfs.conf" EXTRA_CONF='' -for i in /usr/share/initramfs-tools/conf.d/* ${CONFDIR}/conf.d/*; do - [ -e $i ] && EXTRA_CONF="${EXTRA_CONF} $(basename $i \ +for i in /usr/share/initramfs-tools/conf.d/* "${CONFDIR}"/conf.d/*; do + [ -e "$i" ] && EXTRA_CONF="${EXTRA_CONF} $(basename "$i" \ | grep '^[[:alnum:]][[:alnum:]\._-]*$' | grep -v '\.dpkg-.*$')"; done # FIXME: deprecated those settings on mkinitramfs run # these conf dirs are for boot scripts and land on initramfs for i in ${EXTRA_CONF}; do - if [ -d ${CONFDIR}/conf.d/${i} ]; then + if [ -d "${CONFDIR}/conf.d/${i}" ]; then echo "Warning: ${CONFDIR}/conf.d/${i} is a directory instead of file, ignoring." - elif [ -e ${CONFDIR}/conf.d/${i} ]; then - . ${CONFDIR}/conf.d/${i} - elif [ -e /usr/share/initramfs-tools/conf.d/${i} ]; then - . /usr/share/initramfs-tools/conf.d/${i} + elif [ -e "${CONFDIR}/conf.d/${i}" ]; then + . "${CONFDIR}/conf.d/${i}" + elif [ -e "/usr/share/initramfs-tools/conf.d/${i}" ]; then + . "/usr/share/initramfs-tools/conf.d/${i}" fi done @@ -132,7 +132,7 @@ case "${version}" in esac if [ -z "${compress:-}" ]; then - compress=${COMPRESS} + compress=${COMPRESS?} fi unset COMPRESS @@ -162,7 +162,7 @@ if [ ! -e "${MODULESDIR}" ]; then echo "Ensure all necessary drivers are built into the linux image!" fi if [ ! -e "${MODULESDIR}/modules.dep" ]; then - depmod ${version} + depmod "${version}" fi # Prepare to clean up temporary files on exit @@ -183,12 +183,12 @@ trap "exit 1" INT TERM # makes the EXIT trap effective even when killed # Create temporary directory and files for initramfs contents [ -n "${TMPDIR}" ] && [ ! -w "${TMPDIR}" ] && unset TMPDIR -DESTDIR="$(mktemp -d ${TMPDIR:-/var/tmp}/mkinitramfs_XXXXXX)" || exit 1 +DESTDIR="$(mktemp -d "${TMPDIR:-/var/tmp}/mkinitramfs_XXXXXX")" || exit 1 chmod 755 "${DESTDIR}" -__TMPCPIOGZ="$(mktemp ${TMPDIR:-/var/tmp}/mkinitramfs-OL_XXXXXX)" || exit 1 -__TMPEARLYCPIO="$(mktemp ${TMPDIR:-/var/tmp}/mkinitramfs-FW_XXXXXX)" || exit 1 +__TMPCPIOGZ="$(mktemp "${TMPDIR:-/var/tmp}/mkinitramfs-OL_XXXXXX")" || exit 1 +__TMPEARLYCPIO="$(mktemp "${TMPDIR:-/var/tmp}/mkinitramfs-FW_XXXXXX")" || exit 1 -DPKG_ARCH=`dpkg --print-architecture` +DPKG_ARCH=$(dpkg --print-architecture) # Export environment for hook scripts. # @@ -259,7 +259,7 @@ esac hidden_dep_add_modules # First file executed by linux -cp -p /usr/share/initramfs-tools/init ${DESTDIR}/init +cp -p /usr/share/initramfs-tools/init "${DESTDIR}/init" # add existant boot scripts for b in $(cd /usr/share/initramfs-tools/scripts/ && find . \ @@ -277,8 +277,8 @@ for b in $(cd "${CONFDIR}/scripts" && find . -maxdepth 2 -name '.?*' -prune -o \ cp -p "${CONFDIR}/scripts/${b}" "${DESTDIR}/scripts/$(dirname "${b}")/" done -echo "DPKG_ARCH=${DPKG_ARCH}" > ${DESTDIR}/conf/arch.conf -cp -p "${CONFDIR}/initramfs.conf" ${DESTDIR}/conf +echo "DPKG_ARCH=${DPKG_ARCH}" > "${DESTDIR}/conf/arch.conf" +cp -p "${CONFDIR}/initramfs.conf" "${DESTDIR}/conf" for i in ${EXTRA_CONF}; do if [ -e "${CONFDIR}/conf.d/${i}" ]; then copy_file config "${CONFDIR}/conf.d/${i}" /conf/conf.d @@ -290,7 +290,7 @@ done # ROOT hardcoding if [ -n "${ROOT:-}" ]; then - echo "ROOT=${ROOT}" > ${DESTDIR}/conf/conf.d/root + echo "ROOT=${ROOT}" > "${DESTDIR}/conf/conf.d/root" fi if ! command -v ldd >/dev/null 2>&1 ; then @@ -329,13 +329,13 @@ for b in $(cd "${DESTDIR}/scripts" && find . -mindepth 1 -type d); do done # generate module deps -depmod -a -b "${DESTDIR}" ${version} +depmod -a -b "${DESTDIR}" "${version}" rm -f "${DESTDIR}/lib/modules/${version}"/modules.*map # make sure that library search path is up to date cp -ar /etc/ld.so.conf* "$DESTDIR"/etc/ if ! ldconfig -r "$DESTDIR" ; then - [ $(id -u) != "0" ] \ + [ "$(id -u)" != "0" ] \ && echo "ldconfig might need uid=0 (root) for chroot()" >&2 fi # The auxiliary cache is not reproducible and is always invalid at boot @@ -373,7 +373,7 @@ if [ -s "${__TMPEARLYCPIO}" ]; then cat "${__TMPEARLYCPIO}" >"${outfile}" || exit 1 else # truncate - > "${outfile}" + true > "${outfile}" fi ( @@ -392,8 +392,11 @@ fi # work around lack of "set -o pipefail" for the following pipe: # cd "${DESTDIR}" && find . | LC_ALL=C sort | cpio --quiet $cpio_owner_root $cpio_reproducible -o -H newc | gzip >>"${outfile}" || exit 1 +ec1=1 +ec2=1 +ec3=1 exec 3>&1 -eval ` +eval "$( # http://cfaj.freeshell.org/shell/cus-faq-2.html exec 4>&1 >&3 3>&- cd "${DESTDIR}" @@ -405,7 +408,7 @@ eval ` cpio --quiet $cpio_owner_root $cpio_reproducible -o -H newc 4>&-; echo "ec2=$?;" >&4 } | ${compress} >>"${outfile}" echo "ec3=$?;" >&4 -` +)" if [ "$ec1" -ne 0 ]; then echo "E: mkinitramfs failure find $ec1 cpio $ec2 $compress $ec3" exit "$ec1" diff --git a/scripts/functions b/scripts/functions index a954a93..ae14eba 100644 --- a/scripts/functions +++ b/scripts/functions @@ -2,33 +2,33 @@ _log_msg() { - if [ "$quiet" = "y" ]; then return; fi - printf "$@" + if [ "${quiet?}" = "y" ]; then return; fi + echo -n "$*" } log_success_msg() { - _log_msg "Success: $@\n" + _log_msg "Success: $*\\n" } log_failure_msg() { - _log_msg "Failure: $@\n" + _log_msg "Failure: $*\\n" } log_warning_msg() { - _log_msg "Warning: $@\n" + _log_msg "Warning: $*\\n" } log_begin_msg() { - _log_msg "Begin: $@ ... " + _log_msg "Begin: $* ... " } log_end_msg() { - _log_msg "done.\n" + _log_msg "done.\\n" } panic() @@ -41,9 +41,9 @@ panic() echo "$@" # Disallow console access - if [ -n "${panic}" ]; then + if [ -n "${panic?}" ]; then echo "Rebooting automatically due to panic= boot argument" - sleep ${panic} + sleep "${panic}" reboot exit # in case reboot fails, force kernel panic fi @@ -54,22 +54,22 @@ panic() # and paging in more if command -v setsid >/dev/null 2>&1; then unset IFS - read console rest </proc/consoles + read -r console rest </proc/consoles if [ "${console}" = "tty0" ]; then # Need to choose a specific VT console="tty1" fi # We don't have 'setsid -c' so we need to setsid, open # the tty, and finally exec an interactive shell - REASON="$@" PS1='(initramfs) ' setsid sh -c "exec sh -i <>/dev/${console} 1>&0 2>&1" + REASON="$*" PS1='(initramfs) ' setsid sh -c "exec sh -i <>/dev/${console} 1>&0 2>&1" else - REASON="$@" PS1='(initramfs) ' sh -i </dev/console >/dev/console 2>&1 + REASON="$*" PS1='(initramfs) ' sh -i </dev/console >/dev/console 2>&1 fi } maybe_break() { - case ",$break," in + case ",${break?}," in *,$1,*) if [ "$1" = "top" ]; then # udev is not yet running, so load keyboard drivers @@ -84,7 +84,7 @@ maybe_break() sleep 2 for modalias in /sys/bus/hid/devices/*/modalias; do if [ -f "${modalias}" ]; then - modprobe ${opts} -b "$(cat ${modalias})" + modprobe ${opts} -b "$(cat "${modalias}")" fi done fi @@ -97,17 +97,17 @@ maybe_break() run_scripts() { initdir=${1} - [ ! -d ${initdir} ] && return + [ ! -d "${initdir}" ] && return shift - . ${initdir}/ORDER + . "${initdir}/ORDER" } # Load custom modules first load_modules() { if [ -e /conf/modules ]; then - cat /conf/modules | while read m; do + while read -r m; do # Skip empty lines if [ -z "$m" ]; then continue @@ -118,7 +118,7 @@ load_modules() continue fi modprobe $m - done + done < /conf/modules fi } @@ -143,8 +143,8 @@ parse_numeric() { *) # [A-Fa-f0-9]* value=$(( 0x${1} )) - minor=$(( (${value} & 0xff) | (${value} >> 12) & 0xfff00 )) - major=$(( (${value} >> 8) & 0xfff )) + minor=$(( (value & 0xff) | (value >> 12) & 0xfff00 )) + major=$(( (value >> 8) & 0xfff )) ;; esac @@ -156,13 +156,13 @@ parse_numeric() { # Return value: indicates if an fs could be recognized get_fstype () { - local FS FSTYPE FSSIZE RET + local FS FSTYPE RET FS="${1}" # blkid has a more complete list of file systems, # but fstype is more robust FSTYPE="unknown" - eval $(fstype "${FS}" 2> /dev/null) + eval "$(fstype "${FS}" 2> /dev/null)" if [ "$FSTYPE" = "unknown" ]; then FSTYPE=$(blkid -o value -s TYPE "${FS}") fi @@ -263,10 +263,10 @@ configure_networking() ipconfig -t ${ROUNDTTT} "${DEVICE}" ;; dhcp|bootp|rarp|both) - ipconfig -t ${ROUNDTTT} -c ${IP} -d "${DEVICE}" + ipconfig -t ${ROUNDTTT} -c "${IP}" -d "${DEVICE}" ;; *) - ipconfig -t ${ROUNDTTT} -d $IP + ipconfig -t ${ROUNDTTT} -d "$IP" ;; esac done @@ -274,7 +274,7 @@ configure_networking() # source ipconfig output if [ -n "${DEVICE}" ]; then # source specific bootdevice - . /run/net-${DEVICE}.conf + . "/run/net-${DEVICE}.conf" else # source any interface... # ipconfig should have quit after first response @@ -297,9 +297,9 @@ read_fstab_entry() { # Not found by default. found=1 - for file in ${rootmnt}/etc/fstab; do + for file in ${rootmnt?}/etc/fstab; do if [ -f "$file" ]; then - while read MNT_FSNAME MNT_DIR MNT_TYPE MNT_OPTS MNT_FREQ MNT_PASS MNT_JUNK; do + while read -r MNT_FSNAME MNT_DIR MNT_TYPE MNT_OPTS MNT_FREQ MNT_PASS MNT_JUNK; do case "$MNT_FSNAME" in ""|\#*) continue; @@ -357,22 +357,22 @@ _checkfs_once() log_warning_msg "fsck not present, so skipping $NAME file system" return fi - if [ "$fastboot" = "y" ] ; then + if [ "${fastboot?}" = "y" ] ; then log_warning_msg "Fast boot enabled, so skipping $NAME file system check." return fi - if [ "$forcefsck" = "y" ] + if [ "${forcefsck?}" = "y" ] then force="-f" else force="" fi - if [ "$fsckfix" = "y" ] + if [ "${fsckfix?}" = "y" ] then fix="-y" - elif [ "$fsckfix" = "n" ] + elif [ "${fsckfix?}" = "n" ] then fix="-n" else @@ -380,19 +380,19 @@ _checkfs_once() fi spinner="" - if [ -z "${debug}" ]; then + if [ -z "${debug?}" ]; then spinner="-C" fi if [ "${quiet}" = n ] then log_begin_msg "Will now check $NAME file system" - logsave -a -s $FSCK_LOGFILE fsck $spinner $force $fix -V -t $TYPE $DEV + logsave -a -s $FSCK_LOGFILE fsck $spinner $force $fix -V -t "$TYPE" "$DEV" FSCKCODE=$? log_end_msg else log_begin_msg "Checking $NAME file system" - logsave -a -s $FSCK_LOGFILE fsck $spinner $force $fix -T -t $TYPE $DEV + logsave -a -s $FSCK_LOGFILE fsck $spinner $force $fix -T -t "$TYPE" "$DEV" FSCKCODE=$? log_end_msg fi @@ -414,7 +414,7 @@ _checkfs_once() log_warning_msg "File system check failed but did not detect errors" sleep 5 else - > $FSCK_STAMPFILE + true > $FSCK_STAMPFILE fi return 0 } diff --git a/scripts/init-top/all_generic_ide b/scripts/init-top/all_generic_ide index e9539d8..120901a 100755 --- a/scripts/init-top/all_generic_ide +++ b/scripts/init-top/all_generic_ide @@ -19,7 +19,7 @@ for x in $(cat /proc/cmdline); do modprobe ata_generic all_generic_ide=1 ;; all_generic_ide=*) - if [ ${x#all_generic_ide=} ]; then + if [ -n "${x#all_generic_ide=}" ]; then modprobe ata_generic all_generic_ide=1 fi ;; diff --git a/scripts/init-top/blacklist b/scripts/init-top/blacklist index 2164906..d860603 100755 --- a/scripts/init-top/blacklist +++ b/scripts/init-top/blacklist @@ -16,7 +16,7 @@ prereqs) esac # sanity check -[ -z "${blacklist}" ] && exit 0 +[ -z "${blacklist?}" ] && exit 0 # write blacklist to modprobe.d IFS=',' diff --git a/scripts/init-top/keymap b/scripts/init-top/keymap index f011abf..00578ce 100755 --- a/scripts/init-top/keymap +++ b/scripts/init-top/keymap @@ -22,6 +22,6 @@ if [ -x /bin/kbd_mode ]; then fi # Load custom keymap -if [ -x /bin/loadkeys -a -r /etc/boottime.kmap.gz ]; then +if [ -x /bin/loadkeys ] && [ -r /etc/boottime.kmap.gz ]; then loadkeys ${OPTS} /etc/boottime.kmap.gz fi diff --git a/scripts/local b/scripts/local index 4ec926c..06d93de 100644 --- a/scripts/local +++ b/scripts/local @@ -3,7 +3,7 @@ local_top() { if [ "${local_top_used}" != "yes" ]; then - [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/local-top" + [ "${quiet?}" != "y" ] && log_begin_msg "Running /scripts/local-top" run_scripts /scripts/local-top [ "$quiet" != "y" ] && log_end_msg fi @@ -20,7 +20,7 @@ local_top() local_block() { - [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/local-block" + [ "${quiet?}" != "y" ] && log_begin_msg "Running /scripts/local-block" run_scripts /scripts/local-block "$@" [ "$quiet" != "y" ] && log_end_msg } @@ -28,7 +28,7 @@ local_block() local_premount() { if [ "${local_premount_used}" != "yes" ]; then - [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/local-premount" + [ "${quiet?}" != "y" ] && log_begin_msg "Running /scripts/local-premount" run_scripts /scripts/local-premount [ "$quiet" != "y" ] && log_end_msg fi @@ -38,7 +38,7 @@ local_premount() local_bottom() { if [ "${local_premount_used}" = "yes" ] || [ "${local_top_used}" = "yes" ]; then - [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/local-bottom" + [ "${quiet?}" != "y" ] && log_begin_msg "Running /scripts/local-bottom" run_scripts /scripts/local-bottom [ "$quiet" != "y" ] && log_end_msg fi @@ -65,7 +65,7 @@ local_device_setup() # Load ubi with the correct MTD partition and return since fstype # doesn't work with a char device like ubi. if [ -n "$UBIMTD" ]; then - modprobe ubi mtd=$UBIMTD + modprobe ubi "mtd=$UBIMTD" DEV="${dev_id}" return fi @@ -88,7 +88,7 @@ local_device_setup() # Timeout is max(30, rootdelay) seconds (approximately) slumber=30 - if [ ${ROOTDELAY:-0} -gt $slumber ]; then + if [ "${ROOTDELAY:-0}" -gt $slumber ]; then slumber=$ROOTDELAY fi @@ -125,7 +125,7 @@ local_device_setup() log_end_msg 0 break fi - if [ ${time_elapsed} -ge ${slumber} ]; then + if [ ${time_elapsed} -ge "${slumber}" ]; then log_end_msg 1 || true break fi @@ -167,23 +167,23 @@ local_mount_root() local_premount - if [ "${readonly}" = "y" ]; then + if [ "${readonly?}" = "y" ]; then roflag=-r else roflag=-w fi # FIXME This has no error checking - modprobe ${FSTYPE} + modprobe "${FSTYPE}" - checkfs ${ROOT} root "${FSTYPE}" + checkfs "${ROOT}" root "${FSTYPE}" # FIXME This has no error checking # Mount root if [ "${FSTYPE}" != "unknown" ]; then - mount ${roflag} -t ${FSTYPE} ${ROOTFLAGS} ${ROOT} ${rootmnt} + mount ${roflag} -t "${FSTYPE}" ${ROOTFLAGS} "${ROOT}" "${rootmnt?}" else - mount ${roflag} ${ROOTFLAGS} ${ROOT} ${rootmnt} + mount ${roflag} ${ROOTFLAGS} "${ROOT}" "${rootmnt}" fi } diff --git a/scripts/local-premount/resume b/scripts/local-premount/resume index 4cafcaa..88abd86 100755 --- a/scripts/local-premount/resume +++ b/scripts/local-premount/resume @@ -15,20 +15,20 @@ prereqs) ;; esac -if [ -z "${resume}" ] || [ ! -e /sys/power/resume ]; then +if [ -z "${resume?}" ] || [ ! -e /sys/power/resume ]; then exit 0 fi . /scripts/functions . /scripts/local -if ! local_device_setup ${resume} "suspend/resume device" false; then +if ! local_device_setup "${resume}" "suspend/resume device" false; then exit 0 fi # hardcode path, uswsusp ships an resume binary too -if [ -n "${resume_offset}" ]; then - /bin/resume ${DEV} ${resume_offset} +if [ -n "${resume_offset?}" ]; then + /bin/resume "${DEV}" "${resume_offset}" else - /bin/resume ${DEV} + /bin/resume "${DEV}" fi diff --git a/scripts/nfs b/scripts/nfs index 359bd46..275e2e4 100644 --- a/scripts/nfs +++ b/scripts/nfs @@ -5,7 +5,7 @@ nfs_top() { if [ "${nfs_top_used}" != "yes" ]; then - [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/nfs-top" + [ "${quiet?}" != "y" ] && log_begin_msg "Running /scripts/nfs-top" run_scripts /scripts/nfs-top [ "$quiet" != "y" ] && log_end_msg fi @@ -15,7 +15,7 @@ nfs_top() nfs_premount() { if [ "${nfs_premount_used}" != "yes" ]; then - [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/nfs-premount" + [ "${quiet?}" != "y" ] && log_begin_msg "Running /scripts/nfs-premount" run_scripts /scripts/nfs-premount [ "$quiet" != "y" ] && log_end_msg fi @@ -25,7 +25,7 @@ nfs_premount() nfs_bottom() { if [ "${nfs_premount_used}" = "yes" ] || [ "${nfs_top_used}" = "yes" ]; then - [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/nfs-bottom" + [ "${quiet?}" != "y" ] && log_begin_msg "Running /scripts/nfs-bottom" run_scripts /scripts/nfs-bottom [ "$quiet" != "y" ] && log_end_msg fi @@ -65,13 +65,13 @@ nfs_mount_root_impl() nfs_premount - if [ ${readonly} = y ]; then + if [ "${readonly?}" = y ]; then roflag="-o ro" else roflag="-o rw" fi - nfsmount -o nolock ${roflag} ${NFSOPTS} ${NFSROOT} ${rootmnt} + nfsmount -o nolock ${roflag} ${NFSOPTS} "${NFSROOT}" "${rootmnt?}" } # NFS root mounting @@ -92,13 +92,13 @@ nfs_mount_root() nfs_mount_root_impl ret=$? nfs_retry_count=0 - while [ ${nfs_retry_count} -lt ${delay} ] \ + while [ ${nfs_retry_count} -lt "${delay}" ] \ && [ $ret -ne 0 ] ; do [ "$quiet" != "y" ] && log_begin_msg "Retrying nfs mount" /bin/sleep 1 nfs_mount_root_impl ret=$? - nfs_retry_count=$(( ${nfs_retry_count} + 1 )) + nfs_retry_count=$(( nfs_retry_count + 1 )) [ "$quiet" != "y" ] && log_end_msg done } @@ -113,7 +113,7 @@ nfs_mount_fs_impl() nfs_premount - if [ ${readonly} = y ]; then + if [ "${readonly}" = y ]; then roflag="-o ro" else roflag="-o rw" diff --git a/unmkinitramfs b/unmkinitramfs index 910558b..a49ab7f 100755 --- a/unmkinitramfs +++ b/unmkinitramfs @@ -75,12 +75,12 @@ splitinitramfs() break fi magic="$(readhex "$initramfs" $end 6)" || break - test $magic = 070701 || test $magic = 070702 || break + test "$magic" = 070701 || test "$magic" = 070702 || break namesize=0x$(readhex "$initramfs" $((end + 94)) 8) filesize=0x$(readhex "$initramfs" $((end + 54)) 8) end=$(((end + 110))) - end=$(((end + $namesize + 3) & ~3)) - end=$(((end + $filesize + 3) & ~3)) + end=$(((end + namesize + 3) & ~3)) + end=$(((end + filesize + 3) & ~3)) done if [ $end -eq $start ]; then break @@ -106,10 +106,10 @@ splitinitramfs() if [ $end -gt 0 ]; then # Extract to main subdirectory - subarchive=$(mktemp ${TMPDIR:-/var/tmp}/unmkinitramfs_XXXXXX) - trap "rm -f '$subarchive'" EXIT + subarchive=$(mktemp "${TMPDIR:-/var/tmp}/unmkinitramfs_XXXXXX") + trap 'rm -f "$subarchive"' EXIT dd < "$initramfs" skip=$end iflag=skip_bytes 2> /dev/null \ - > $subarchive + > "$subarchive" xcpio "$subarchive" "${dir:+$dir/main}" -i "$@" else # Don't use subdirectories (for backward compatibility) @@ -117,7 +117,7 @@ splitinitramfs() fi } -OPTIONS=`getopt -o hv --long help,list,verbose -n "$0" -- "$@"` +OPTIONS=$(getopt -o hv --long help,list,verbose -n "$0" -- "$@") # Check for non-GNU getopt if [ $? != 0 ] ; then echo "W: non-GNU getopt" >&2 ; exit 1 ; fi diff --git a/update-initramfs b/update-initramfs index 2ef3a45..632c9de 100755 --- a/update-initramfs +++ b/update-initramfs @@ -36,7 +36,7 @@ esac usage() { if [ -n "${1:-}" ]; then - printf "${*}\n\n" >&2 + printf "%s\\n\\n" "${*}" >&2 fi cat >&2 << EOF Usage: ${0} [OPTION]... @@ -57,7 +57,7 @@ EOF mild_panic() { if [ -n "${1:-}" ]; then - printf "${*}\n" >&2 + printf "%s\\n" "${*}" >&2 fi exit 0 } @@ -65,7 +65,7 @@ mild_panic() panic() { if [ -n "${1:-}" ]; then - printf "${*}\n" >&2 + printf "%s\\n" "${*}" >&2 fi exit 1 } @@ -73,7 +73,7 @@ panic() verbose() { if [ "${verbose}" = 1 ]; then - printf "${*}\n" + printf "%s\\n" "${*}" fi } @@ -119,7 +119,7 @@ backup_booted_initramfs() boot_initramfs= uptime_days=$(awk '{printf "%d", $1 / 3600 / 24}' /proc/uptime) if [ -n "$uptime_days" ]; then - boot_initramfs=$(find "${initramfs}.bak" -mtime +${uptime_days}) + boot_initramfs=$(find "${initramfs}.bak" -mtime "+${uptime_days}") fi if [ -n "${boot_initramfs}" ]; then mv -f "${initramfs_bak}" "${initramfs}.bak" @@ -203,7 +203,7 @@ get_sorted_versions() { version_list="$( linux-version list | - while read version; do + while read -r version; do test -e "${BOOTDIR}/initrd.img-$version" && echo "$version" done | linux-version sort --reverse @@ -213,8 +213,8 @@ get_sorted_versions() set_current_version() { - if [ -f /boot/initrd.img-`uname -r` ]; then - version=`uname -r` + if [ -f "/boot/initrd.img-$(uname -r)" ]; then + version=$(uname -r) fi } @@ -350,10 +350,10 @@ while getopts "k:cudvtb:h?" flag; do esac done -shift $((${OPTIND} - 1)) +shift $((OPTIND - 1)) if [ $# -ne 0 ]; then - printf "Extra argument '%s'\n\n" "$1" >&2 + printf "Extra argument '%s'\\n\\n" "$1" >&2 usage fi @@ -363,7 +363,7 @@ if [ -z "${mode}" ]; then fi if [ "${version}" = "all" ] \ - || ( [ "${update_initramfs}" = "all" ] && [ -z "${version}" ] ); then + || { [ "${update_initramfs}" = "all" ] && [ -z "${version}" ]; }; then get_sorted_versions if [ -z "${version_list}" ]; then verbose "Nothing to do, exiting." |