Compare commits
13 Commits
openrc-0.6
...
openrc-0.6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
900d54b0fc | ||
|
|
84750f5722 | ||
|
|
f8f03bdbbf | ||
|
|
80d5f7d27b | ||
|
|
449080e145 | ||
|
|
062223a5df | ||
|
|
18064e19f6 | ||
|
|
cdf07b5970 | ||
|
|
82b265016a | ||
|
|
bdfab242b7 | ||
|
|
4ca32808dd | ||
|
|
9e5b9abf40 | ||
|
|
ac37dc2764 |
@@ -1,3 +1,3 @@
|
||||
NAME= openrc
|
||||
VERSION= 0.6.4
|
||||
VERSION= 0.6.8
|
||||
PKG= ${NAME}-${VERSION}
|
||||
|
||||
@@ -39,7 +39,7 @@ cleanup_tmp_dir()
|
||||
# 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
|
||||
[ -d /tmp/.private ] && chattr -R -a /tmp/.private 2> /dev/null
|
||||
|
||||
find $startopts ! -name . \
|
||||
! -path "./lost+found" \
|
||||
|
||||
@@ -14,13 +14,16 @@ depend()
|
||||
start()
|
||||
{
|
||||
# Mount local filesystems in /etc/fstab.
|
||||
local types="noproc" x=
|
||||
local types="noproc" x= no_netdev=
|
||||
for x in $net_fs_list; do
|
||||
types="${types},${x}"
|
||||
done
|
||||
|
||||
if [ "$RC_UNAME" = Linux ]; then
|
||||
no_netdev="-O no_netdev"
|
||||
fi
|
||||
ebegin "Mounting local filesystems"
|
||||
mount -at "$types"
|
||||
mount -at "$types" $no_netdev
|
||||
eend $? "Some local filesystem failed to mount"
|
||||
|
||||
# Always return 0 - some local mounts may not be critical for boot
|
||||
|
||||
@@ -43,7 +43,7 @@ start()
|
||||
local myneed= myuse= pmap="portmap" nfsmounts=
|
||||
[ -x @SYSCONFDIR@/init.d/rpcbind ] && pmap="rpcbind"
|
||||
|
||||
local x= fs=
|
||||
local x= fs= rc=
|
||||
for x in $net_fs_list; do
|
||||
case "$x" in
|
||||
nfs|nfs4)
|
||||
@@ -65,7 +65,12 @@ start()
|
||||
|
||||
ebegin "Mounting network filesystems"
|
||||
mount -at $fs
|
||||
ewend $? "Could not mount all network filesystems"
|
||||
rc=$?
|
||||
if [ "$RC_UNAME" = Linux ]; then
|
||||
mount -a -O _netdev
|
||||
rc=$?
|
||||
fi
|
||||
ewend $rc "Could not mount all network filesystems"
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -93,5 +98,9 @@ stop()
|
||||
retval=$?
|
||||
|
||||
eoutdent
|
||||
if [ "$RC_UNAME" = Linux ]; then
|
||||
umount -a -O _netdev
|
||||
retval=$?
|
||||
fi
|
||||
eend $retval "Failed to unmount network filesystems"
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
|
||||
depend()
|
||||
{
|
||||
use hostname
|
||||
before bootmisc logger
|
||||
keyword -prefix
|
||||
}
|
||||
|
||||
@@ -27,8 +27,8 @@ ifplugd_pre_start()
|
||||
return 0
|
||||
fi
|
||||
|
||||
# We don't work on bonded, bridges, tun/tap or vlan
|
||||
for f in bond bridge tuntap vlan; do
|
||||
# We don't work on bonded, bridges, tun/tap, vlan or wireless
|
||||
for f in bond bridge tuntap vlan wireless; do
|
||||
if type "_is_${f}" >/dev/null 2>&1; then
|
||||
if _is_${f}; then
|
||||
veinfo "ifplugd does not work with ${f}"
|
||||
|
||||
@@ -3,10 +3,14 @@
|
||||
|
||||
wpa_supplicant_depend()
|
||||
{
|
||||
if [ -x /usr/sbin/wpa_supplicant ]; then
|
||||
program start /usr/sbin/wpa_supplicant
|
||||
else
|
||||
program start /sbin/wpa_supplicant
|
||||
wpas=/usr/sbin/wpa_supplicant
|
||||
[ -x ${wpas} ] || wpas=/sbin/wpa_supplicant
|
||||
if [ -x ${wpas} ]; then
|
||||
program start ${wpas}
|
||||
# bug 345281: if wpa_supplicant is built w/ USE=dbus, we need to start
|
||||
# dbus before we can start wpa_supplicant.
|
||||
${wpas} -h |grep DBus -sq
|
||||
[ $? -eq 0 ] && need dbus
|
||||
fi
|
||||
after macnet plug
|
||||
before interface
|
||||
|
||||
@@ -6,6 +6,17 @@
|
||||
# This basically mounts $RC_SVCDIR as a ramdisk.
|
||||
# The tricky part is finding something our kernel supports
|
||||
# tmpfs and ramfs are easy, so force one or the other.
|
||||
svcdir_restorecon()
|
||||
{
|
||||
local rc=0
|
||||
if [ -x /usr/sbin/selinuxenabled -a -c /selinux/null ] &&
|
||||
selinuxenabled; then
|
||||
restorecon $RC_SVCDIR
|
||||
rc=$?
|
||||
fi
|
||||
return $rc
|
||||
}
|
||||
|
||||
mount_svcdir()
|
||||
{
|
||||
# mount from fstab if we can
|
||||
@@ -16,8 +27,12 @@ mount_svcdir()
|
||||
|
||||
# Some buggy kernels report tmpfs even when not present :(
|
||||
if grep -Eq "[[:space:]]+tmpfs$" /proc/filesystems; then
|
||||
mount -n -t tmpfs $fsopts,mode=755,size=${svcsize}k \
|
||||
rc-svcdir "$RC_SVCDIR" && return 0
|
||||
local tmpfsopts="${fsopts},mode=755,size=${svcsize}k"
|
||||
mount -n -t tmpfs $tmpfsopts rc-svcdir "$RC_SVCDIR"
|
||||
if [ $? -eq 0 ]; then
|
||||
svcdir_restorecon
|
||||
[ $? -eq 0 ] && return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
if grep -Eq "[[:space:]]+ramfs$" /proc/filesystems; then
|
||||
@@ -38,6 +53,10 @@ mount_svcdir()
|
||||
fi
|
||||
|
||||
mount -n -t "$fs" $fsopts rc-svcdir "$RC_SVCDIR"
|
||||
if [ $? -eq 0 ]; then
|
||||
svcdir_restorecon
|
||||
[ $? -eq 0 ] && return 0
|
||||
fi
|
||||
}
|
||||
|
||||
. "$RC_LIBEXECDIR"/sh/functions.sh
|
||||
|
||||
@@ -350,6 +350,8 @@ svc_exec(const char *arg1, const char *arg2)
|
||||
size_t bytes;
|
||||
bool prefixed = false;
|
||||
int slave_tty;
|
||||
sigset_t sigchldmask;
|
||||
sigset_t oldmask;
|
||||
|
||||
/* Setup our signal pipe */
|
||||
if (pipe(signal_pipe) == -1)
|
||||
@@ -439,10 +441,17 @@ svc_exec(const char *arg1, const char *arg2)
|
||||
}
|
||||
|
||||
free(buffer);
|
||||
|
||||
sigemptyset (&sigchldmask);
|
||||
sigaddset (&sigchldmask, SIGCHLD);
|
||||
sigprocmask (SIG_BLOCK, &sigchldmask, &oldmask);
|
||||
|
||||
close(signal_pipe[0]);
|
||||
close(signal_pipe[1]);
|
||||
signal_pipe[0] = signal_pipe[1] = -1;
|
||||
|
||||
sigprocmask (SIG_SETMASK, &oldmask, NULL);
|
||||
|
||||
if (master_tty >= 0) {
|
||||
/* Why did we do this? */
|
||||
/* signal (SIGWINCH, SIG_IGN); */
|
||||
|
||||
Reference in New Issue
Block a user