Kurt J. Bosch, 2011-07-02 20:44:
---
  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


Dropped this from my git tree for now.

--
Kurt

Reply via email to