diff options
author | Bruce Dubbs <bdubbs@linuxfromscratch.org> | 2008-06-03 21:51:14 +0000 |
---|---|---|
committer | Bruce Dubbs <bdubbs@linuxfromscratch.org> | 2008-06-03 21:51:14 +0000 |
commit | 1c4800743d22d675ccfa48364d8aa558e8b7407c (patch) | |
tree | ca4254cbe5dd5adb0ed8af1f87c26bc569403164 /bootscripts/contrib/lsb-v3/init.d/cleanfs | |
parent | 9faa3e27afb932894ace74854fbb76631022446b (diff) |
Moved bootscripts and udev-config to BOOK
Updated Makefile to automatically generate bootscript and udev-config tarballs
Updated licesnse to be the same as BLFS
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@8548 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'bootscripts/contrib/lsb-v3/init.d/cleanfs')
-rw-r--r-- | bootscripts/contrib/lsb-v3/init.d/cleanfs | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/bootscripts/contrib/lsb-v3/init.d/cleanfs b/bootscripts/contrib/lsb-v3/init.d/cleanfs new file mode 100644 index 000000000..b160fbc22 --- /dev/null +++ b/bootscripts/contrib/lsb-v3/init.d/cleanfs @@ -0,0 +1,113 @@ +#!/bin/sh +# Begin /etc/init.d/cleanfs + +### BEGIN INIT INFO +# Provides: cleanfs +# Required-Start: $local_fs +# Should-Start: +# Required-Stop: +# Should-Stop: +# Default-Start: sysinit +# Default-Stop: +# Short-Description: Cleans temporary directories early in the boot process. +# Description: Cleans temporary directories /var/run, /var/lock, and +# /tmp. cleanfs also creates /var/run/utmp and any files +# defined in /etc/sysconfig/createfiles. +# X-LFS-Default-Start: S50 +# X-LFS-Default-Stop: +# X-LFS-Provided-By: LFS +### END INIT INFO + +. /lib/lsb/init-functions + +# Function to create files/directory on boot. +create_files() +{ + # Read in the configuration file. + exec 9>&0 < /etc/sysconfig/createfiles + while read name type perm usr grp dtype maj min junk + do + # Ignore comments and blank lines. + case "${name}" in + ""|\#*) continue ;; + esac + + # Ignore existing files. + if [ ! -e "${name}" ] + then + # Create stuff based on its type. + case "${type}" in + dir) + mkdir "${name}" + ;; + file) + :> "${name}" + ;; + dev) + case "${dtype}" in + char) + mknod "${name}" c ${maj} ${min} + ;; + block) + mknod "${name}" b ${maj} ${min} + ;; + pipe) + mknod "${name}" p + ;; + *) + echo -n "\n${WARNING}Unknown device type: ${dtype}" + echo "${NORMAL}" + ;; + esac + ;; + *) + echo "\n${WARNING}Unknown type: ${type}${NORMAL}" + continue + ;; + esac + + # Set up the permissions, too. + chown ${usr}:${grp} "${name}" + chmod ${perm} "${name}" + fi + done + exec 0>&9 9>&- +} + +case "${1}" in + start) + message="Cleaning file systems: " + + message="${message}${INFO} /tmp" + find /tmp -xdev -mindepth 1 ! -name lost+found \ + -delete || failed=1 + + message="${message} /var/lock" + find /var/lock -type f -exec rm -f {} \; || failed=1 + + message="${message} /var/run${NORMAL}" + find /var/run ! -type d ! -name utmp -exec rm -f {} \; || failed=1 + + > /var/run/utmp + if grep -q '^utmp:' /etc/group ; then + chmod 664 /var/run/utmp + chgrp utmp /var/run/utmp + fi + + (exit ${failed}) + evaluate_retval standard + + if egrep -qv '^(#|$)' /etc/sysconfig/createfiles 2>/dev/null + then + message="Creating files and directories..." + create_files + evaluate_retval standard + fi + ;; + *) + echo "Usage: ${0} {start}" + exit 1 + ;; +esac + +# End /etc/init.d/cleanfs |