--- functions | 6 ++++++ rc.shutdown | 2 +- rc.sysinit | 11 +++++------ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/functions b/functions index 401e323..8d303e8 100644 --- a/functions +++ b/functions @@ -449,6 +449,12 @@ mount_all() { run_hook "$1_postmount" } +install_file() { + local file=$1 content=$2 # remaining args go to install directly + shift 2 + install -T "$@" <(printf '%s' "$content") "$file" +} + bootlogd_stop() { [[ -f /run/bootlogd.pid ]] || return 0 touch /var/log/boot diff --git a/rc.shutdown b/rc.shutdown index fe42797..e658142 100755 --- a/rc.shutdown +++ b/rc.shutdown @@ -21,7 +21,7 @@ kill_everything shutdown stat_busy "Saving Random Seed" RANDOM_SEED=/var/lib/misc/random-seed - install -TDm 0600 <(:) $RANDOM_SEED + install_file $RANDOM_SEED "" -m 0600 -D POOL_FILE=/proc/sys/kernel/random/poolsize if [[ -r $POOL_FILE ]]; then read POOL_SIZE < $POOL_FILE diff --git a/rc.sysinit b/rc.sysinit index b6612ff..fcca765 100755 --- a/rc.sysinit +++ b/rc.sysinit @@ -218,7 +218,7 @@ stat_busy "Removing Leftover Files" [[ ! -L /var/run && ! -L /var/run/daemons ]] && rm -rf /var/run/daemons && ln -s /run/daemons /var/run/daemons - install -Tm 0664 -o root -g utmp <(:) /var/run/utmp + install_file /var/run/utmp "" -m 0664 -o root -g utmp # Keep {x,k,g}dm happy with xorg mkdir -m 1777 /tmp/.{X11,ICE}-unix stat_done @@ -229,9 +229,8 @@ if [[ $HOSTNAME ]]; then fi # Flush old locale settings and set user defined locale -stat_busy "Setting Locale: ${LOCALE:=en_US}" - echo "export LANG=$LOCALE" > /etc/profile.d/locale.sh && - chmod 0755 /etc/profile.d/locale.sh && stat_done || stat_fail +status "Setting Locale: ${LOCALE:=en_US}" \ + install_file /etc/profile.d/locale.sh "export LANG=$LOCALE"$'\n' -m 0755 if [[ ${LOCALE,,} =~ utf ]]; then stat_busy "Setting Consoles to UTF-8 mode" @@ -263,9 +262,9 @@ set_consolefont stat_busy "Saving dmesg Log" if [[ -e /proc/sys/kernel/dmesg_restrict ]] && (( $(< /proc/sys/kernel/dmesg_restrict) == 1 )); then - install -Tm 0600 <( dmesg ) /var/log/dmesg.log + install_file /var/log/dmesg.log "$( dmesg )" -m 0600 else - install -Tm 0644 <( dmesg ) /var/log/dmesg.log + install_file /var/log/dmesg.log "$( dmesg )" -m 0644 fi (( $? == 0 )) && stat_done || stat_fail -- 1.7.1