summaryrefslogtreecommitdiff
path: root/mk/rootfs/openrc/etc/init.d/bootmisc
diff options
context:
space:
mode:
Diffstat (limited to 'mk/rootfs/openrc/etc/init.d/bootmisc')
-rw-r--r--mk/rootfs/openrc/etc/init.d/bootmisc216
1 files changed, 0 insertions, 216 deletions
diff --git a/mk/rootfs/openrc/etc/init.d/bootmisc b/mk/rootfs/openrc/etc/init.d/bootmisc
deleted file mode 100644
index 8a1b008..0000000
--- a/mk/rootfs/openrc/etc/init.d/bootmisc
+++ /dev/null
@@ -1,216 +0,0 @@
-#!/sbin/openrc-run
-# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
-# Released under the 2-clause BSD license.
-
-depend()
-{
- need localmount
- after root sysctl
- keyword -timeout
-}
-
-: ${wipe_tmp:=${WIPE_TMP:-yes}}
-: ${log_dmesg:=${LOG_DMESG:-yes}}
-
-cleanup_tmp_dir()
-{
- local dir="$1"
-
- if ! [ -d "$dir" ]; then
- mkdir -p "$dir" || return $?
- fi
- checkpath -W "$dir" || return 1
- chmod a+rwt "$dir" 2> /dev/null
- cd "$dir" || return 1
- if yesno $wipe_tmp; then
- ebegin "Wiping $dir directory"
-
- # Faster than raw find
- if ! rm -rf -- [!ajlq\.]* 2>/dev/null ; then
- # Blah, too many files
- find . -maxdepth 1 -name '[!ajlq\.]*' -exec rm -rf -- {} +
- fi
-
- # pam_mktemp creates a .private directory within which
- # each user gets a private directory with immutable
- # bit set; remove the immutable bit before trying to
- # remove it.
- [ -d /tmp/.private ] && chattr -R -a /tmp/.private 2> /dev/null
-
- # Prune the paths that are left
- find . -maxdepth 1 \
- ! -name . \
- ! -name lost+found \
- ! -name quota.user \
- ! -name aquota.user \
- ! -name quota.group \
- ! -name aquota.group \
- ! -name journal \
- -exec rm -rf -- {} +
- eend 0
- else
- ebegin "Cleaning $dir directory"
- rm -rf -- .X*-lock esrv* kio* \
- jpsock.* .fam* .esd* \
- orbit-* ssh-* ksocket-* \
- .*-unix
- eend 0
- fi
-}
-
-cleanup_var_run_dir()
-{
- ebegin "Cleaning /var/run"
- for x in $(find /var/run ! -type d ! -name utmp \
- ! -name random-seed ! -name dev.db \
- ! -name ld-elf.so.hints ! -name ld.so.hints);
- do
- # Clean stale sockets
- if [ -S "$x" ]; then
- if command -v fuser >/dev/null 2>&1; then
- fuser "$x" >/dev/null 2>&1 || rm -- "$x"
- else
- rm -- "$x"
- fi
- fi
- [ ! -f "$x" ] && continue
- # Do not remove pidfiles of already running daemons
- case "$x" in
- *.pid)
- start-stop-daemon --test --quiet \
- --stop --pidfile "$x" && continue
- ;;
- esac
- rm -f -- "$x"
- done
- eend 0
-}
-
-mkutmp()
-{
- : >"$1"
- # Not all systems have the utmp group
- chgrp utmp "$1" 2>/dev/null
- chmod 0664 "$1"
-}
-
-migrate_to_run()
-{
- src="$1"
- dst="$2"
- if [ -L $src -a "$(readlink -f $src)" != $dst ]; then
- ewarn "$src does not point to $dst."
- ewarn "Setting $src to point to $dst."
- rm $src
- elif [ ! -L $src -a -d $src ]; then
- ebegin "Migrating $src to $dst"
- cp -a $src/* $dst/
- rm -rf $src
- eend $?
- fi
- # If $src doesn't exist at all, just run this
- if [ ! -e $src ]; then
- ln -s $dst $src
- fi
-}
-
-clean_run()
-{
- [ "$RC_SYS" = VSERVER ] && return 0
- local dir
- dir=$(mktemp -d)
- mount --bind / $dir
- rm -rf $dir/run/*
- umount $dir
- rm -rf $dir
-}
-
-start()
-{
- # Remove any added console dirs
- rm -rf "$RC_LIBEXECDIR"/console/*
-
- local logw=false runw=false extra=
- # Ensure that our basic dirs exist
- if [ "$RC_UNAME" = Linux ]; then
- # Satisfy Linux FHS
- extra=/var/lib/misc
- if [ ! -d /run ]; then
- extra="/var/run $extra"
- fi
- else
- extra=/var/run
- fi
- for x in /var/log /tmp $extra; do
- if ! [ -d $x ]; then
- if ! mkdir -p $x; then
- eend 1 "failed to create needed directory $x"
- return 1
- fi
- fi
- done
-
- if [ "$RC_UNAME" = Linux -a -d /run ]; then
- migrate_to_run /var/lock /run/lock
- migrate_to_run /var/run /run
- clean_run
- fi
-
- if checkpath -W /var/run; then
- ebegin "Creating user login records"
- local xtra=
- [ "$RC_UNAME" = NetBSD ] && xtra=x
- for x in "" $xtra; do
- mkutmp /var/run/utmp$x
- done
- [ -e /var/log/wtmp ] || mkutmp /var/log/wtmp
- eend 0
-
- mountinfo -q -f tmpfs /var/run || cleanup_var_run_dir
- fi
-
- # Clean up /tmp directories
- local tmp=
- for tmp in ${clean_tmp_dirs:-${wipe_tmp_dirs-/tmp}}; do
- mountinfo -q -f tmpfs "$tmp" || cleanup_tmp_dir "$tmp"
- done
-
- if checkpath -W /tmp; then
- # Make sure our X11 stuff have the correct permissions
- # Omit the chown as bootmisc is run before network is up
- # and users may be using lame LDAP auth #139411
- rm -rf /tmp/.ICE-unix /tmp/.X11-unix
- mkdir -p /tmp/.ICE-unix /tmp/.X11-unix
- chmod 1777 /tmp/.ICE-unix /tmp/.X11-unix
- if [ -x /sbin/restorecon ]; then
- restorecon /tmp/.ICE-unix /tmp/.X11-unix
- fi
- fi
-
- if yesno $log_dmesg; then
- if $logw || checkpath -W /var/log; then
- # Create an 'after-boot' dmesg log
- if [ "$RC_SYS" != VSERVER -a "$RC_SYS" != OPENVZ -a "$RC_SYS" != LXC ]; then
- dmesg > /var/log/dmesg
- chmod 640 /var/log/dmesg
- fi
- fi
- fi
-
- return 0
-}
-
-stop()
-{
- # Write a halt record if we're shutting down
- if [ "$RC_RUNLEVEL" = shutdown ]; then
- [ "$RC_UNAME" = Linux ] && halt -w
- if [ "$RC_SYS" = OPENVZ ]; then
- yesno $RC_REBOOT && printf "" >/reboot
- fi
- fi
-
- return 0
-}
-
-# vim: ft=sh