[arch-projects] [initscripts] [PATCH 10/11] Add install_file() for readability

Kurt J. Bosch kjb-temp-2009 at alpenjodel.de
Sun Jul 3 06:29:32 EDT 2011


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


More information about the arch-projects mailing list