Compare commits
	
		
			23 Commits
		
	
	
		
			0.26
			...
			openrc-0.1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					46e871a408 | ||
| 
						 | 
					ed0696443d | ||
| 
						 | 
					9e18838c83 | ||
| 
						 | 
					f7a3ac2d10 | ||
| 
						 | 
					604902f6c2 | ||
| 
						 | 
					eb07d1169f | ||
| 
						 | 
					a198ad3d4f | ||
| 
						 | 
					0e57fade64 | ||
| 
						 | 
					d036b4ad1a | ||
| 
						 | 
					84c12adb79 | ||
| 
						 | 
					c78d012dd6 | ||
| 
						 | 
					31dbdf69d2 | ||
| 
						 | 
					c7e14b2c17 | ||
| 
						 | 
					6ceb62969a | ||
| 
						 | 
					d5ecc9d746 | ||
| 
						 | 
					6df5176462 | ||
| 
						 | 
					0c6df86503 | ||
| 
						 | 
					cd2d520fd1 | ||
| 
						 | 
					0e3860e76f | ||
| 
						 | 
					670b72b328 | ||
| 
						 | 
					3ebaa31edb | ||
| 
						 | 
					0f3813c8cf | ||
| 
						 | 
					28c13790ff | 
@@ -1,3 +1,3 @@
 | 
				
			|||||||
NAME=		openrc
 | 
					NAME=		openrc
 | 
				
			||||||
VERSION=	0.10
 | 
					VERSION=	0.10.5
 | 
				
			||||||
PKG=		${NAME}-${VERSION}
 | 
					PKG=		${NAME}-${VERSION}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,10 @@
 | 
				
			|||||||
 | 
					# The consolefont service is not activated by default. If you need to
 | 
				
			||||||
 | 
					# use it, you should run "rc-update add consolefont boot" as root.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
# consolefont specifies the default font that you'd like Linux to use on the
 | 
					# consolefont specifies the default font that you'd like Linux to use on the
 | 
				
			||||||
# console.  You can find a good selection of fonts in /usr/share/consolefonts;
 | 
					# console.  You can find a good selection of fonts in /usr/share/consolefonts;
 | 
				
			||||||
# you shouldn't specify the trailing ".psf.gz", just the font name below.
 | 
					# you shouldn't specify the trailing ".psf.gz", just the font name below.
 | 
				
			||||||
# To use the default console font, comment out the CONSOLEFONT setting below.
 | 
					# To use the default console font, comment out the CONSOLEFONT setting below.
 | 
				
			||||||
# This setting is used by the /etc/init.d/consolefont script (NOTE: if you do
 | 
					 | 
				
			||||||
# not want to use it, run "rc-update del consolefont boot" as root).
 | 
					 | 
				
			||||||
consolefont="default8x16"
 | 
					consolefont="default8x16"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# consoletranslation is the charset map file to use.  Leave commented to use
 | 
					# consoletranslation is the charset map file to use.  Leave commented to use
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,3 @@
 | 
				
			|||||||
# Sets the level at which logging of messages is done to the
 | 
					# Sets the level at which logging of messages is done to the
 | 
				
			||||||
# console.  See dmesg(8) for more info.
 | 
					# console.  See dmesg(1) for more info.
 | 
				
			||||||
dmesg_level="1"
 | 
					dmesg_level="1"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,7 +34,7 @@
 | 
				
			|||||||
# In other words, you probably should DO NOTHING HERE...
 | 
					# In other words, you probably should DO NOTHING HERE...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Prefer ifconfig over iproute2
 | 
					# Prefer ifconfig over iproute2
 | 
				
			||||||
#modules="ifconfig"
 | 
					#modules="!iproute2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# You can also specify other modules for an interface
 | 
					# You can also specify other modules for an interface
 | 
				
			||||||
# In this case we prefer udhcpc over dhcpcd
 | 
					# In this case we prefer udhcpc over dhcpcd
 | 
				
			||||||
@@ -57,7 +57,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# If you don't specify an interface then we prefer iproute2 if it's installed
 | 
					# If you don't specify an interface then we prefer iproute2 if it's installed
 | 
				
			||||||
# To prefer ifconfig over iproute2
 | 
					# To prefer ifconfig over iproute2
 | 
				
			||||||
#modules="ifconfig"
 | 
					#modules="!iproute2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# For a static configuration, use something like this
 | 
					# For a static configuration, use something like this
 | 
				
			||||||
# (They all do exactly the same thing btw)
 | 
					# (They all do exactly the same thing btw)
 | 
				
			||||||
@@ -552,26 +552,34 @@
 | 
				
			|||||||
# You can also configure the VLAN - see for ip man page for more details
 | 
					# You can also configure the VLAN - see for ip man page for more details
 | 
				
			||||||
# To change the vlan interface name. If not set, the standard "iface.vlanid"
 | 
					# To change the vlan interface name. If not set, the standard "iface.vlanid"
 | 
				
			||||||
# will be used. This is the replacement for the old 'vconfig set_name_type'
 | 
					# will be used. This is the replacement for the old 'vconfig set_name_type'
 | 
				
			||||||
# functionality.
 | 
					# functionality. If you previously relied on the DEV_PLUS_VID or
 | 
				
			||||||
 | 
					# DEV_PLUS_VID_NO_PAD options to have different VLANs with same ID value, on
 | 
				
			||||||
 | 
					# different interfaces, please note that you need to use both the interface and
 | 
				
			||||||
 | 
					# vlan number in the numbering. This applies for all of the options: name,
 | 
				
			||||||
 | 
					# txqueuelen, mac, broadcast, mtu, ingress, egress, flags
 | 
				
			||||||
#vlan1_name="vlan1"
 | 
					#vlan1_name="vlan1"
 | 
				
			||||||
#vlan2_name="eth0.2"
 | 
					#eth0_vlan2_name="eth0.2"
 | 
				
			||||||
 | 
					#eth1_vlan2_name="eth1.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# The following shows the old set_name_type setting and what new option to set:
 | 
					# The following shows the old set_name_type setting and what new option to set:
 | 
				
			||||||
# Using eth9 & VLAN VID 26 as an example.
 | 
					# Using eth9 & VLAN VID 26 as an example.
 | 
				
			||||||
# VLAN_PLUS_VID         vlan26_name="vlan0026"
 | 
					# VLAN_PLUS_VID         vlan26_name="vlan0026"
 | 
				
			||||||
# VLAN_PLUS_VID_NO_PAD  vlan26_name="vlan26"
 | 
					# VLAN_PLUS_VID_NO_PAD  vlan26_name="vlan26"
 | 
				
			||||||
# DEV_PLUS_VID          vlan26_name="eth9.0026"
 | 
					# DEV_PLUS_VID          eth9_vlan26_name="eth9.0026"
 | 
				
			||||||
# DEV_PLUS_VID_NO_PAD   vlan26_name="eth9.26"
 | 
					# DEV_PLUS_VID_NO_PAD   eth9_vlan26_name="eth9.26"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Set the vlan flags
 | 
					# Set the vlan flags
 | 
				
			||||||
#vlan1_flags="reorder_hdr off gvrp on loose_binding on"
 | 
					#vlan1_flags="reorder_hdr off gvrp on loose_binding on"
 | 
				
			||||||
 | 
					#eth0_vlan1_flags="reorder_hdr off gvrp on loose_binding on"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Configure in/egress maps
 | 
					# Configure in/egress maps
 | 
				
			||||||
#vlan1_ingress="2:6 3:5"
 | 
					#vlan1_ingress="2:6 3:5"
 | 
				
			||||||
#vlan1_egress="1:2"
 | 
					#eth0_vlan1_egress="1:2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#config_vlan1="172.16.3.1/23"
 | 
					#config_vlan1="172.16.2.1/24"
 | 
				
			||||||
#config_vlan2="172.16.2.1/23"
 | 
					#config_vlan2="172.16.3.1/24"
 | 
				
			||||||
 | 
					#config_eth0_1="172.16.4.1/24"
 | 
				
			||||||
 | 
					#config_eth1_1="172.16.5.1/24"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# NOTE: Vlans can be configured with a . in their interface names
 | 
					# NOTE: Vlans can be configured with a . in their interface names
 | 
				
			||||||
# When configuring vlans with this name type, you need to replace . with a _
 | 
					# When configuring vlans with this name type, you need to replace . with a _
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,6 +12,8 @@ depend()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
start()
 | 
					start()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						local ret=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	# Flush all pending disk writes now
 | 
						# Flush all pending disk writes now
 | 
				
			||||||
	sync; sync
 | 
						sync; sync
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -39,6 +41,9 @@ start()
 | 
				
			|||||||
	do_unmount "umount -r" \
 | 
						do_unmount "umount -r" \
 | 
				
			||||||
		--skip-point-regex "$m" \
 | 
							--skip-point-regex "$m" \
 | 
				
			||||||
		"${fs:+--skip-fstype-regex}" $fs --nonetdev
 | 
							"${fs:+--skip-fstype-regex}" $fs --nonetdev
 | 
				
			||||||
 | 
						ret=$?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	eoutdent
 | 
						eoutdent
 | 
				
			||||||
	eend $?
 | 
					
 | 
				
			||||||
 | 
						eend $ret
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,62 +2,27 @@
 | 
				
			|||||||
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
 | 
					# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
 | 
				
			||||||
# Released under the 2-clause BSD license.
 | 
					# Released under the 2-clause BSD license.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
description="Mounts network shares according to /etc/fstab."
 | 
					description="Mounts network shares, other than NFS, according to /etc/fstab."
 | 
				
			||||||
 | 
					# We skip all NFS shares in this script because they require extra
 | 
				
			||||||
need_portmap()
 | 
					# daemons to be running on the client in order to work correctly.
 | 
				
			||||||
{
 | 
					# It is best to allow nfs-utils to handle all nfs shares.
 | 
				
			||||||
	local opts=
 | 
					 | 
				
			||||||
	local IFS="
 | 
					 | 
				
			||||||
"
 | 
					 | 
				
			||||||
	set -- $(fstabinfo --options --fstype nfs,nfs4)
 | 
					 | 
				
			||||||
	for opts; do
 | 
					 | 
				
			||||||
		case ,$opts, in
 | 
					 | 
				
			||||||
			*,noauto,*|*,nolock,*);;
 | 
					 | 
				
			||||||
			*) return 0;;
 | 
					 | 
				
			||||||
		esac
 | 
					 | 
				
			||||||
	done
 | 
					 | 
				
			||||||
	return 1
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
depend()
 | 
					depend()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	# Only have portmap as a dependency if there is a nfs mount in fstab
 | 
					 | 
				
			||||||
	# that is set to mount at boot
 | 
					 | 
				
			||||||
	local pmap=
 | 
					 | 
				
			||||||
	if need_portmap; then
 | 
					 | 
				
			||||||
		pmap="rpc.statd"
 | 
					 | 
				
			||||||
		[ -x @SYSCONFDIR@/init.d/rpcbind ] \
 | 
					 | 
				
			||||||
			&& pmap="$pmap rpcbind" \
 | 
					 | 
				
			||||||
			|| pmap="$pmap portmap"
 | 
					 | 
				
			||||||
	fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	config /etc/fstab
 | 
						config /etc/fstab
 | 
				
			||||||
	need net $pmap
 | 
						need net
 | 
				
			||||||
	use afc-client amd autofs openvpn
 | 
						use afc-client amd autofs openvpn
 | 
				
			||||||
	use dns nfs nfsmount portmap rpcbind rpc.statd rpc.lockd
 | 
						use dns
 | 
				
			||||||
	keyword -jail -vserver
 | 
						keyword -jail -vserver
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start()
 | 
					start()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	local myneed= myuse= pmap="portmap" nfsmounts=
 | 
					 | 
				
			||||||
	[ -x @SYSCONFDIR@/init.d/rpcbind ] && pmap="rpcbind"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	local x= fs= rc=
 | 
						local x= fs= rc=
 | 
				
			||||||
	for x in $net_fs_list $extra_net_fs_list; do
 | 
						for x in $net_fs_list $extra_net_fs_list; do
 | 
				
			||||||
		case "$x" in
 | 
							case "$x" in
 | 
				
			||||||
			nfs|nfs4)
 | 
								nfs|nfs4)
 | 
				
			||||||
			# If the nfsmount script took care of the nfs
 | 
								continue
 | 
				
			||||||
			# filesystems, then there's no point in trying
 | 
					 | 
				
			||||||
			# them twice
 | 
					 | 
				
			||||||
			service_started nfsmount && continue
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			# Only try to mount NFS filesystems if portmap was
 | 
					 | 
				
			||||||
			# started. This is to fix "hang" problems for new
 | 
					 | 
				
			||||||
			# users who do not add portmap to the default runlevel.
 | 
					 | 
				
			||||||
			if need_portmap && ! service_started "$pmap"; then
 | 
					 | 
				
			||||||
				continue
 | 
					 | 
				
			||||||
			fi
 | 
					 | 
				
			||||||
			;;
 | 
								;;
 | 
				
			||||||
		esac
 | 
							esac
 | 
				
			||||||
		fs="$fs${fs:+,}$x"
 | 
							fs="$fs${fs:+,}$x"
 | 
				
			||||||
@@ -82,7 +47,14 @@ stop()
 | 
				
			|||||||
	. "$RC_LIBEXECDIR"/sh/rc-mount.sh
 | 
						. "$RC_LIBEXECDIR"/sh/rc-mount.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for x in $net_fs_list $extra_net_fs_list; do
 | 
						for x in $net_fs_list $extra_net_fs_list; do
 | 
				
			||||||
		fs="$fs${fs:+,}$x"
 | 
							case "$x" in
 | 
				
			||||||
 | 
								nfs|nfs4)
 | 
				
			||||||
 | 
									continue
 | 
				
			||||||
 | 
									;;
 | 
				
			||||||
 | 
								*)
 | 
				
			||||||
 | 
									fs="$fs${fs:+,}$x"
 | 
				
			||||||
 | 
									;;
 | 
				
			||||||
 | 
							esac
 | 
				
			||||||
	done
 | 
						done
 | 
				
			||||||
	if [ -n "$fs" ]; then
 | 
						if [ -n "$fs" ]; then
 | 
				
			||||||
		umount -at $fs || eerror "Failed to simply unmount filesystems"
 | 
							umount -at $fs || eerror "Failed to simply unmount filesystems"
 | 
				
			||||||
@@ -91,7 +63,14 @@ stop()
 | 
				
			|||||||
	eindent
 | 
						eindent
 | 
				
			||||||
	fs=
 | 
						fs=
 | 
				
			||||||
	for x in $net_fs_list $extra_net_fs_list; do
 | 
						for x in $net_fs_list $extra_net_fs_list; do
 | 
				
			||||||
		fs="$fs${fs:+|}$x"
 | 
							case "$x" in
 | 
				
			||||||
 | 
								nfs|nfs4)
 | 
				
			||||||
 | 
									continue
 | 
				
			||||||
 | 
									;;
 | 
				
			||||||
 | 
								*)
 | 
				
			||||||
 | 
									fs="$fs${fs:+|}$x"
 | 
				
			||||||
 | 
									;;
 | 
				
			||||||
 | 
							esac
 | 
				
			||||||
	done
 | 
						done
 | 
				
			||||||
	[ -n "$fs" ] && fs="^($fs)$"
 | 
						[ -n "$fs" ] && fs="^($fs)$"
 | 
				
			||||||
	do_unmount umount ${fs:+--fstype-regex} $fs --netdev
 | 
						do_unmount umount ${fs:+--fstype-regex} $fs --netdev
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,7 +12,10 @@ depend()
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	need localmount
 | 
						need localmount
 | 
				
			||||||
	after bootmisc
 | 
						after bootmisc
 | 
				
			||||||
	provide net
 | 
						provide lo
 | 
				
			||||||
 | 
						if [ -n "$(interfaces)" ]; then
 | 
				
			||||||
 | 
							provide net
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
	keyword -jail -vserver
 | 
						keyword -jail -vserver
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,6 +13,14 @@ start()
 | 
				
			|||||||
			return 1
 | 
								return 1
 | 
				
			||||||
		fi
 | 
							fi
 | 
				
			||||||
	fi
 | 
						fi
 | 
				
			||||||
 | 
						if ! checkpath -W "$RC_LIBEXECDIR"; then
 | 
				
			||||||
 | 
							ewarn "WARNING: ${RC_LIBEXECDIR} is not writable!"
 | 
				
			||||||
 | 
							if ! yesno "${RC_GOINGDOWN}"; then
 | 
				
			||||||
 | 
								ewarn "Unable to save deptree cache"
 | 
				
			||||||
 | 
								return 1
 | 
				
			||||||
 | 
							fi
 | 
				
			||||||
 | 
							return 0
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
	ebegin "Saving dependency cache"
 | 
						ebegin "Saving dependency cache"
 | 
				
			||||||
	local rc=
 | 
						local rc=
 | 
				
			||||||
	if [ ! -d "$RC_LIBEXECDIR"/cache ]; then
 | 
						if [ ! -d "$RC_LIBEXECDIR"/cache ]; then
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,14 +31,16 @@ stop()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	case "$RC_UNAME" in
 | 
						case "$RC_UNAME" in
 | 
				
			||||||
		Linux)
 | 
							Linux)
 | 
				
			||||||
			while read filename type rest; do
 | 
								if [ -e /proc/swaps ]; then
 | 
				
			||||||
				case "$type" in
 | 
									while read filename type rest; do
 | 
				
			||||||
					file) swapoff $filename >/dev/null;;
 | 
										case "$type" in
 | 
				
			||||||
				esac
 | 
											file) swapoff $filename >/dev/null;;
 | 
				
			||||||
				case "$filename" in
 | 
										esac
 | 
				
			||||||
					/dev/loop*) swapoff $filename >/dev/null;;
 | 
										case "$filename" in
 | 
				
			||||||
				esac
 | 
											/dev/loop*) swapoff $filename >/dev/null;;
 | 
				
			||||||
			done < /proc/swaps
 | 
										esac
 | 
				
			||||||
 | 
									done < /proc/swaps
 | 
				
			||||||
 | 
								fi
 | 
				
			||||||
			;;
 | 
								;;
 | 
				
			||||||
	esac
 | 
						esac
 | 
				
			||||||
	eend 0
 | 
						eend 0
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@ ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}}
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
depend()
 | 
					depend()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	keyword -openvz -uml -vserver -xenu
 | 
						keyword -lxc -openvz -uml -vserver -xenu
 | 
				
			||||||
	use root
 | 
						use root
 | 
				
			||||||
	after bootmisc
 | 
						after bootmisc
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -212,7 +212,7 @@ _delete_addresses()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
_has_carrier()
 | 
					_has_carrier()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return 0
 | 
						LC_ALL=C ip link show dev "${IFACE}" | grep -q "LOWER_UP"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_tunnel()
 | 
					_tunnel()
 | 
				
			||||||
@@ -287,7 +287,7 @@ iproute2_pre_start()
 | 
				
			|||||||
_iproute2_ipv6_tentative()
 | 
					_iproute2_ipv6_tentative()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	# Only check tentative when we have a carrier.
 | 
						# Only check tentative when we have a carrier.
 | 
				
			||||||
	LC_ALL=C ip link show dev "${IFACE}" | grep -q "NO-CARRIER" && return 1
 | 
						_has_carrier || return 1
 | 
				
			||||||
	LC_ALL=C ip addr show dev "${IFACE}" | \
 | 
						LC_ALL=C ip addr show dev "${IFACE}" | \
 | 
				
			||||||
		grep -q "^[[:space:]]*inet6 .* tentative"
 | 
							grep -q "^[[:space:]]*inet6 .* tentative"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -61,12 +61,12 @@ udhcpc_start()
 | 
				
			|||||||
	esac
 | 
						esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	case " ${args} " in
 | 
						case " ${args} " in
 | 
				
			||||||
		*" --hosname="*|*" -h "*|*" -H "*);;
 | 
							*" --hostname="*|*" -h "*|*" -H "*);;
 | 
				
			||||||
		*)
 | 
							*)
 | 
				
			||||||
			if ${sendhost}; then
 | 
								if ${sendhost}; then
 | 
				
			||||||
				local hname="$(hostname)"
 | 
									local hname="$(hostname)"
 | 
				
			||||||
				if [ "${hname}" != "(none)" ] && [ "${hname}" != "localhost" ]; then
 | 
									if [ "${hname}" != "(none)" ] && [ "${hname}" != "localhost" ]; then
 | 
				
			||||||
					args="${args} --hostname='${hname}'"
 | 
										args="${args} -x hostname:'${hname}'"
 | 
				
			||||||
				fi
 | 
									fi
 | 
				
			||||||
			fi
 | 
								fi
 | 
				
			||||||
			;;
 | 
								;;
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										31
									
								
								net/vlan.sh
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								net/vlan.sh
									
									
									
									
									
								
							@@ -66,26 +66,41 @@ vlan_post_start()
 | 
				
			|||||||
		einfo "Adding VLAN ${vlan} to ${IFACE}"
 | 
							einfo "Adding VLAN ${vlan} to ${IFACE}"
 | 
				
			||||||
		# We need to gather all interface configuration options
 | 
							# We need to gather all interface configuration options
 | 
				
			||||||
		# 1) naming. Default to the standard "${IFACE}.${vlan}" but it can be anything
 | 
							# 1) naming. Default to the standard "${IFACE}.${vlan}" but it can be anything
 | 
				
			||||||
		eval vname=\$vlan${vlan}_name
 | 
							eval vname=\$${IFACE}_vlan${vlan}_name
 | 
				
			||||||
 | 
							[ -z "${vname}" ] && eval vname=\$vlan${vlan}_name
 | 
				
			||||||
		[ -z "${vname}" ] && vname="${IFACE}.${vlan}"
 | 
							[ -z "${vname}" ] && vname="${IFACE}.${vlan}"
 | 
				
			||||||
		# 2) flags
 | 
							# 2) flags
 | 
				
			||||||
		eval vflags=\$vlan${vlan}_flags
 | 
							eval vflags=\$${IFACE}_vlan${vlan}_flags
 | 
				
			||||||
 | 
							[ -z "${vname}" ] && eval vflags=\$vlan${vlan}_flags
 | 
				
			||||||
		# 3) ingress/egress map
 | 
							# 3) ingress/egress map
 | 
				
			||||||
		eval vingress=\$vlan${vlan}_ingress
 | 
							eval vingress=\$${IFACE}_vlan${vlan}_ingress
 | 
				
			||||||
 | 
							[ -z "${vingress}" ] && eval vingress=\$vlan${vlan}_ingress
 | 
				
			||||||
		[ -z "${vingress}" ] || vingress="ingress-qos-map ${vingress}"
 | 
							[ -z "${vingress}" ] || vingress="ingress-qos-map ${vingress}"
 | 
				
			||||||
		eval vegress=\$vlan${vlan}_egress
 | 
							eval vegress=\$${IFACE}_vlan${vlan}_egress
 | 
				
			||||||
 | 
							[ -z "${vegress}" ] && eval vegress=\$vlan${vlan}_egress
 | 
				
			||||||
		[ -z "${vegress}" ] || vegress="egress-qos-map ${vegress}"
 | 
							[ -z "${vegress}" ] || vegress="egress-qos-map ${vegress}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							# txqueue
 | 
				
			||||||
		local txqueuelen=
 | 
							local txqueuelen=
 | 
				
			||||||
		eval txqueuelen=\$txqueuelen_vlan${vlan}
 | 
							eval txqueuelen=\$txqueuelen_${IFACE}_vlan${vlan}
 | 
				
			||||||
 | 
							[ -z "${txqueuelen}" ] && eval txqueuelen=\$txqueuelen_vlan${vlan}
 | 
				
			||||||
 | 
							# mac
 | 
				
			||||||
		local mac=
 | 
							local mac=
 | 
				
			||||||
		eval mac=\$mac_vlan${vlan}
 | 
							eval mac=\$mac_${IFACE}_vlan${vlan}
 | 
				
			||||||
 | 
							[ -z "${mac}" ] && eval mac=\$mac_vlan${vlan}
 | 
				
			||||||
 | 
							# broadcast
 | 
				
			||||||
		local broadcast=
 | 
							local broadcast=
 | 
				
			||||||
		eval broadcast=\$broadcast_vlan${vlan}
 | 
							eval broadcast=\$broadcast_${IFACE}_vlan${vlan}
 | 
				
			||||||
 | 
							[ -z "${broadcast}" ] && eval broadcast=\$broadcast_vlan${vlan}
 | 
				
			||||||
 | 
							# mtu
 | 
				
			||||||
		local mtu=
 | 
							local mtu=
 | 
				
			||||||
		eval mtu=\$mtu_vlan${vlan}
 | 
							eval mtu=\$mtu_${IFACE}_vlan${vlan}
 | 
				
			||||||
 | 
							[ -z "${mtu}" ] && eval mtu=\$mtu_vlan${vlan}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							# combine it all
 | 
				
			||||||
		local opts="${txqueuelen:+txqueuelen} ${txqueuelen} ${mac:+address} ${mac} ${broadcast:+broadcast} ${broadcast} ${mtu:+mtu} ${mtu}"
 | 
							local opts="${txqueuelen:+txqueuelen} ${txqueuelen} ${mac:+address} ${mac} ${broadcast:+broadcast} ${broadcast} ${mtu:+mtu} ${mtu}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							veinfo "ip link add link \"${IFACE}\" name \"${vname}\" ${opts} type vlan id \"${vlan}\" ${vflags} ${vingress} ${vegress}"
 | 
				
			||||||
		e="$(ip link add link "${IFACE}" name "${vname}" ${opts} type vlan id "${vlan}" ${vflags} ${vingress} ${vegress} 2>&1 1>/dev/null)"
 | 
							e="$(ip link add link "${IFACE}" name "${vname}" ${opts} type vlan id "${vlan}" ${vflags} ${vingress} ${vegress} 2>&1 1>/dev/null)"
 | 
				
			||||||
		if [ -n "${e}" ]; then
 | 
							if [ -n "${e}" ]; then
 | 
				
			||||||
			eend 1 "${e}"
 | 
								eend 1 "${e}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -37,14 +37,23 @@ fi
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# /run is a new directory for storing volatile runtime data.
 | 
					# /run is a new directory for storing volatile runtime data.
 | 
				
			||||||
# Read more about /run at https://lwn.net/Articles/436012
 | 
					# Read more about /run at https://lwn.net/Articles/436012
 | 
				
			||||||
 | 
					sys="$(rc --sys)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [ ! -d /run ]; then
 | 
					if [ ! -d /run ]; then
 | 
				
			||||||
	eerror "The /run directory does not exist. Unable to continue."
 | 
						if [ "$sys" = VSERVER ]; then
 | 
				
			||||||
	return 1
 | 
							if [ -e /run ]; then
 | 
				
			||||||
 | 
							rm -rf /run
 | 
				
			||||||
 | 
							fi
 | 
				
			||||||
 | 
							mkdir /run
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							eerror "The /run directory does not exist. Unable to continue."
 | 
				
			||||||
 | 
							return 1
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if mountinfo -q /run; then
 | 
					if [ "$sys" = VSERVER ]; then
 | 
				
			||||||
	einfo "/run is already mounted, skipping"
 | 
						rm -rf /run/*
 | 
				
			||||||
else
 | 
					elif ! mountinfo -q /run; then
 | 
				
			||||||
	ebegin "Mounting /run"
 | 
						ebegin "Mounting /run"
 | 
				
			||||||
	rc=0
 | 
						rc=0
 | 
				
			||||||
	if ! fstabinfo --mount /run; then
 | 
						if ! fstabinfo --mount /run; then
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -268,10 +268,10 @@ for FILE in $tmpfiles_d ; do
 | 
				
			|||||||
		age=$6
 | 
							age=$6
 | 
				
			||||||
		arg=$7
 | 
							arg=$7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		[ ${4} = '-' ] && uid=0
 | 
							[ "${4}" = '-' -o "${4}" = '' ] && uid=0
 | 
				
			||||||
		[ ${5} = '-' ] && gid=0
 | 
							[ "${5}" = '-' -o "${5}" = '' ] && gid=0
 | 
				
			||||||
		[ ${6} = '-' ] && age=0
 | 
							[ "${6}" = '-' -o "${6}" = '' ] && age=0
 | 
				
			||||||
		[ ${7} = '-' ] && arg=''
 | 
							[ "${7}" = '-' -o "${7}" = '' ] && arg=''
 | 
				
			||||||
		set -- "$path" "$mode" "$uid" "$gid" "$age" "$arg"
 | 
							set -- "$path" "$mode" "$uid" "$gid" "$age" "$arg"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		[ "$VERBOSE" -eq "1" ] && echo _$cmd "$@"
 | 
							[ "$VERBOSE" -eq "1" ] && echo _$cmd "$@"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -393,8 +393,7 @@ mountinfo(int argc, char **argv)
 | 
				
			|||||||
	bool quiet;
 | 
						bool quiet;
 | 
				
			||||||
	char *this_path;
 | 
						char *this_path;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Ensure that we are only quiet when explicitly told to be */
 | 
						quiet = rc_yesno(getenv("EINFO_QUIET"));
 | 
				
			||||||
	unsetenv("EINFO_QUIET");
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define DO_REG(_var)							      \
 | 
					#define DO_REG(_var)							      \
 | 
				
			||||||
	if (_var) free(_var);						      \
 | 
						if (_var) free(_var);						      \
 | 
				
			||||||
@@ -475,7 +474,6 @@ mountinfo(int argc, char **argv)
 | 
				
			|||||||
	REG_FREE(args.skip_options_regex);
 | 
						REG_FREE(args.skip_options_regex);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	result = EXIT_FAILURE;
 | 
						result = EXIT_FAILURE;
 | 
				
			||||||
	quiet = rc_yesno(getenv("EINFO_QUIET"));
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* We should report the mounts in reverse order to ease unmounting */
 | 
						/* We should report the mounts in reverse order to ease unmounting */
 | 
				
			||||||
	TAILQ_FOREACH_REVERSE(s, nodes, rc_stringlist, entries) {
 | 
						TAILQ_FOREACH_REVERSE(s, nodes, rc_stringlist, entries) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -343,7 +343,7 @@ do_mark_service(int argc, char **argv)
 | 
				
			|||||||
	if (service == NULL || *service == '\0')
 | 
						if (service == NULL || *service == '\0')
 | 
				
			||||||
		eerrorx("%s: no service specified", applet);
 | 
							eerrorx("%s: no service specified", applet);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (strncmp(applet, "mark_", 5) &&
 | 
						if (!strncmp(applet, "mark_", 5) &&
 | 
				
			||||||
	    (bit = lookup_service_state(applet + 5)))
 | 
						    (bit = lookup_service_state(applet + 5)))
 | 
				
			||||||
		ok = rc_service_mark(service, bit);
 | 
							ok = rc_service_mark(service, bit);
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user