Compare commits
	
		
			2 Commits
		
	
	
		
			openrc-0.1
			...
			openrc-0.9
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 02e7df3f92 | ||
|   | a4ecc0eedc | 
							
								
								
									
										8
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								Makefile
									
									
									
									
									
								
							| @@ -4,10 +4,10 @@ | ||||
|  | ||||
| include Makefile.inc | ||||
|  | ||||
| SUBDIR=		conf.d etc init.d local.d man scripts sh src sysctl.d | ||||
| SUBDIR=		conf.d etc init.d local.d man scripts sh src | ||||
|  | ||||
| # Build our old net foo or not | ||||
| ifeq (${MKNET},oldnet) | ||||
| ifeq (${MKOLDNET},yes) | ||||
| SUBDIR+=	net doc | ||||
| endif | ||||
|  | ||||
| @@ -30,10 +30,6 @@ include ${MK}/dist.mk | ||||
| include ${MK}/git.mk | ||||
|  | ||||
| _installafter: | ||||
| ifeq (${MKPREFIX},yes) | ||||
| 	${INSTALL} -d ${DESTDIR}/${LIBEXECDIR}/init.d | ||||
| else ifneq (${OS},Linux) | ||||
| 	${INSTALL} -d ${DESTDIR}/${LIBEXECDIR}/init.d | ||||
| endif | ||||
| 	${INSTALL} -d ${DESTDIR}/${LIBEXECDIR}/tmp | ||||
| 	${ECHO} "${VERSION}${GITVER}" > ${DESTDIR}/${LIBEXECDIR}/version | ||||
|   | ||||
| @@ -1,3 +1,3 @@ | ||||
| NAME=		openrc | ||||
| VERSION=	0.11.5 | ||||
| VERSION=	0.9.1 | ||||
| PKG=		${NAME}-${VERSION} | ||||
|   | ||||
							
								
								
									
										21
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								README
									
									
									
									
									
								
							| @@ -10,14 +10,13 @@ You may wish to tweak the installation with the below arguments | ||||
| PROGLDFLAGS=-static | ||||
| LIBNAME=lib64 | ||||
| DESTDIR=/tmp/openrc-image | ||||
| MKNET=oldnet | ||||
| MKPAM=pam | ||||
| MKPREFIX=yes | ||||
| MKPKGCONFIG=no | ||||
| MKRCSYS=prefix | ||||
| MKSELINUX=yes | ||||
| MKSTATICLIBS=no | ||||
| MKTERMCAP=ncurses | ||||
| MKTERMCAP=termcap | ||||
| MKOLDNET=yes | ||||
| PKG_PREFIX=/usr/pkg | ||||
| LOCAL_PREFIX=/usr/local | ||||
| PREFIX=/usr/local | ||||
| @@ -26,8 +25,6 @@ We don't support building a static OpenRC with PAM. | ||||
| You may need to use PROGLDFLAGS=-Wl,-Bstatic on glibc instead of just -static. | ||||
| If you debug memory under valgrind, add -DDEBUG_MEMORY to your CPPFLAGS | ||||
| so that all malloc memory should be freed at exit. | ||||
| If you are building OpenRC for a Gentoo Prefix installation, add | ||||
| MKPREFIX=yes. | ||||
|  | ||||
| You can also brand OpenRC if you so wish like so | ||||
| BRANDING=\"Gentoo/$(uname -s)\" | ||||
| @@ -37,6 +34,20 @@ LOCAL_PREFIX should be set when to where user maintained packages are. | ||||
| Only set LOCAL_PREFIX if different from PKG_PREFIX. | ||||
| PREFIX should be set when OpenRC is not installed to /. | ||||
|  | ||||
| MKRCSYS should be set only if you need to specify a default system | ||||
| subtype. The subtype should be set to match the type of environment the | ||||
| file is installed into, not the virtualization the environment is | ||||
| capable of handling. Here is a list of subtypes and their meanings. | ||||
|  | ||||
| jail	FreeBSD jail | ||||
| lxc	Linux container | ||||
| openvz	Linux OpenVZ | ||||
| prefix	Linux and *BSD prefix system | ||||
| uml	UsermodeLinux | ||||
| vserver	Linux vserver | ||||
| xen0 Linux and NetBSD xen0 Domain | ||||
| xenU Linux and NetBSD xenU Domain | ||||
|  | ||||
| If any of the following files exist then we do not overwrite them | ||||
| /etc/devd.conf | ||||
| /etc/rc | ||||
|   | ||||
							
								
								
									
										16
									
								
								TODO
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								TODO
									
									
									
									
									
								
							| @@ -1,21 +1,7 @@ | ||||
| - ensure all forks block, restore and unblock signals. needs review | ||||
| - ensure all forks block, restore and unblock signals. needs review  | ||||
|  | ||||
| - add support somehow for optional translations | ||||
|  | ||||
| - oldnet[bridging]: Review setting of bridge configuration on dynamic interface add | ||||
|  | ||||
| - Document rc-depend binary. | ||||
|  | ||||
| - _ifindex is not a reliable means of calculating metrics: | ||||
| 	_ifindex is used for calculating metrics for new devices but has a major | ||||
| 	problem: Since it's only the nth entry in /proc/net/dev | ||||
| 	And devices may be removed from that file, and reordered, you won't always | ||||
| 	get the same result. | ||||
| 	If you do: | ||||
| 	- add eth0 - _ifindex (eth0=0) | ||||
| 	- add vlan1 - _ifindex (eth0=0,vlan1=1) | ||||
| 	- add vlan2 - _ifindex (eth0=0,vlan1=1,vlan2=2) | ||||
| 	- rem vlan1 - _ifindex (eth0=0,vlan2=1) | ||||
| 	- add vlan3 - _ifindex (eth0=0,vlan2=1,vlan3=2) | ||||
| 	Now your routing table has entries for both vlan2 and vlan3 with a metric of 2. | ||||
|  | ||||
|   | ||||
| @@ -1,26 +1,19 @@ | ||||
| DIR=	${CONFDIR} | ||||
| CONF=	bootmisc fsck hostname localmount netmount urandom tmpfiles \ | ||||
| 		${CONF-${OS}} | ||||
| CONF=	bootmisc fsck hostname localmount network staticroute urandom | ||||
|  | ||||
| ifeq (${MKNET},) | ||||
| CONF+= network staticroute | ||||
| TARGETS+=	network staticroute | ||||
| CLEANFILES+=	network staticroute | ||||
| endif | ||||
|  | ||||
| MK=	../mk | ||||
| include ${MK}/os.mk | ||||
|  | ||||
| CONF-FreeBSD=	ipfw moused powerd rarpd savecore syscons | ||||
|  | ||||
| CONF-Linux=	consolefont dmesg hwclock keymaps killprocs modules | ||||
|  | ||||
| CONF-NetBSD=	moused rarpd savecore | ||||
|  | ||||
| include Makefile.${OS} | ||||
| include ${MK}/scripts.mk | ||||
|  | ||||
| network: network.in network${SFX} | ||||
| 	cat $^ > $@ | ||||
| SOS?=	BSD | ||||
|  | ||||
| staticroute: staticroute${SFX} | ||||
| 	cp $@${SFX} $@ | ||||
| network: network.in network.${SOS} | ||||
| 	cp $@.in $@ | ||||
| 	[ -e $@.${SOS} ] && cat $@.${SOS} >> $@ || true | ||||
|  | ||||
| staticroute: staticroute.${SOS} | ||||
| 	cp $@.${SOS} $@ | ||||
|   | ||||
							
								
								
									
										1
									
								
								conf.d/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								conf.d/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| CONF+=	ipfw moused powerd rarpd savecore syscons | ||||
							
								
								
									
										2
									
								
								conf.d/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								conf.d/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| CONF+=	consolefont dmesg hwclock keymaps killprocs modules | ||||
| SOS=	Linux | ||||
							
								
								
									
										1
									
								
								conf.d/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								conf.d/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| CONF+=	moused rarpd savecore | ||||
| @@ -1,10 +1,10 @@ | ||||
| # Set CLOCK to "UTC" if your system clock is set to UTC (also known as | ||||
| # Greenwich Mean Time).  If your clock is set to the local time, then | ||||
| # set CLOCK to "local".  Note that if you dual boot with Windows, then | ||||
| # Greenwich Mean Time).  If your clock is set to the local time, then  | ||||
| # set CLOCK to "local".  Note that if you dual boot with Windows, then  | ||||
| # you should set it to "local". | ||||
| clock="UTC" | ||||
|  | ||||
| # If you want to set the Hardware Clock to the current System Time | ||||
| # If you want to set the Hardware Clock to the current System Time  | ||||
| # during shutdown, then say "YES" here. | ||||
| # You normally don't need to do this if you run a ntp daemon. | ||||
| clock_systohc="NO" | ||||
|   | ||||
| @@ -4,7 +4,3 @@ clean_tmp_dirs="/tmp" | ||||
| # Should we wipe the tmp paths completely or just selectively remove known | ||||
| # locks / files / etc... ? | ||||
| wipe_tmp="YES" | ||||
|  | ||||
| # Write the initial dmesg log into /var/log/dmesg after boot | ||||
| # This may be useful if you need the kernel boot log afterwards | ||||
| log_dmesg="YES" | ||||
|   | ||||
| @@ -1,10 +1,9 @@ | ||||
| # 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 | ||||
| # 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. | ||||
| # 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" | ||||
|  | ||||
| # 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 | ||||
| # console.  See dmesg(1) for more info. | ||||
| # console.  See dmesg(8) for more info. | ||||
| dmesg_level="1" | ||||
|   | ||||
| @@ -13,13 +13,6 @@ | ||||
| #fsck_passno=">1" | ||||
| #fsck_passno="<2" | ||||
|  | ||||
| # If passno is not enough granularity, you can also specify mountpoints to | ||||
| # check. This should NOT be used for the default non-multiplexed fsck, or your | ||||
| # system might not be checked. Additionally, it is mutually exclusive with | ||||
| # the fsck_passno setting. | ||||
| #fsck_mnt="" | ||||
| #fsck_mnt="/home" | ||||
|  | ||||
| # Most modern fs's don't require a full fsck on boot, but for those that do | ||||
| # it may be advisable to skip this when running on battery. | ||||
| # WARNING: Do not turn this off if you have any JFS partitions. | ||||
|   | ||||
| @@ -1,20 +1,22 @@ | ||||
| # Set CLOCK to "UTC" if your Hardware Clock is set to UTC (also known as | ||||
| # Greenwich Mean Time).  If that clock is set to the local time, then | ||||
| # set CLOCK to "local".  Note that if you dual boot with Windows, then | ||||
| # Greenwich Mean Time).  If that clock is set to the local time, then  | ||||
| # set CLOCK to "local".  Note that if you dual boot with Windows, then  | ||||
| # you should set it to "local". | ||||
| clock="UTC" | ||||
|  | ||||
| # If you want the hwclock script to set the system time (software clock) | ||||
| # to match the current hardware clock during bootup, leave this | ||||
| # commented out. | ||||
| # However, you can set this to "NO" ifyou are running a modern kernel | ||||
| # with CONFIG_RTC_HCTOSYS set to y and your hardware clock set to UTC. | ||||
| #clock_hctosys="YES" | ||||
|  | ||||
| # If you do not want to set the hardware clock to the current system | ||||
| # time (software clock) during shutdown, set this to no. | ||||
| #clock_systohc="YES" | ||||
| # If you want to set the Hardware Clock to the current System Time  | ||||
| # (software clock) during shutdown, then say "YES" here. | ||||
| # You normally don't need to do this if you run a ntp daemon. | ||||
| clock_systohc="NO" | ||||
|  | ||||
| # If you want to set the system time to the current hardware clock | ||||
| # during bootup, then say "YES" here. You do not need this if you are | ||||
| # running a modern kernel with CONFIG_RTC_HCTOSYS set to y. | ||||
| # Also, be aware that if you set this to "NO", the system time will | ||||
| # never be saved to the hardware clock unless you set | ||||
| # clock_systohc="YES" above. | ||||
| clock_hctosys="YES" | ||||
|   | ||||
| # If you wish to pass any other arguments to hwclock during bootup, | ||||
| # you may do so here. Alpha users may wish to use --arc or --srm here. | ||||
| clock_args="" | ||||
|   | ||||
| @@ -12,7 +12,7 @@ windowkeys="NO" | ||||
| extended_keymaps="" | ||||
| #extended_keymaps="backspace keypad euro2" | ||||
|  | ||||
| # Tell dumpkeys(1) to interpret character action codes to be | ||||
| # Tell dumpkeys(1) to interpret character action codes to be  | ||||
| # from the specified character set. | ||||
| # This only matters if you set unicode="yes" in /etc/rc.conf. | ||||
| # For a list of valid sets, run `dumpkeys --help` | ||||
|   | ||||
| @@ -11,6 +11,6 @@ | ||||
|  | ||||
| # You can also multiplex the init script for each device like so | ||||
| #   ln -s moused /etc/init.d/moused.ums0 | ||||
| # This enables you to have a config file per mouse (forces moused_device | ||||
| # This enables you to have a config file per mouse (forces moused_device  | ||||
| # to ums0 in this case) and control each mouse. | ||||
| # devd can also start and stop these mice, which laptop users will find handy. | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| # This blank configuration will automatically use DHCP for any net.* | ||||
| # scripts in /etc/init.d.  To create a more complete configuration, | ||||
| # please review /usr/share/doc/openrc*/net.example* and save your configuration | ||||
| # please review /usr/share/doc/openrc/net.example and save your configuration | ||||
| # in /etc/conf.d/net (this file :]!). | ||||
|   | ||||
| @@ -1,20 +0,0 @@ | ||||
| # Depending on how mounting your network file systems behaves when your | ||||
| # network interfaces are down, you may need to set the netmount script to | ||||
| # require  specific network interfaces to be active. This file gives | ||||
| # examples of how to do this: | ||||
| # | ||||
| # If you are using newnet and configuring the interface with a static | ||||
| # address with the network script: | ||||
| # rc_need="network" | ||||
| # | ||||
| # If you are using oldnet, you must list the specific net.* services you | ||||
| # need: | ||||
| # | ||||
| # rc_need="net.eth0" | ||||
| # rc_need="net.eth1 net.eth2" | ||||
| # | ||||
| # If you are using a dynamic network management tool like | ||||
| # networkmanager, dhcpcd, etc, you should list that tool here. | ||||
| # | ||||
| # rc_need="networkmanager" | ||||
| # rc_need="dhcpcd" | ||||
| @@ -1,3 +0,0 @@ | ||||
| # Extra options for tmpfiles.sh | ||||
| #tmpfiles_opts="--verbose" | ||||
| tmpfiles_opts="" | ||||
| @@ -2,4 +2,4 @@ | ||||
| # (say for crypt swap), so you will need to customize this | ||||
| # behavior.  If you have /var on a separate partition, then | ||||
| # make sure this path lives on your root device somewhere. | ||||
| urandom_seed="/var/lib/misc/random-seed" | ||||
| urandom_seed="/var/run/random-seed" | ||||
|   | ||||
| @@ -1,11 +1,7 @@ | ||||
| DIR=	${DOCDIR}/openrc | ||||
| SRCS=	net.example.in | ||||
| INC=	net.example | ||||
|  | ||||
| MK=	../mk | ||||
| include ${MK}/os.mk | ||||
|  | ||||
| %.example.in: %.example${SFX} | ||||
| 	${CP} $< $@ | ||||
|  | ||||
| include Makefile.${OS} | ||||
| include ${MK}/scripts.mk | ||||
|   | ||||
							
								
								
									
										5
									
								
								doc/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								doc/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| SRCS+=		net.example.in | ||||
|  | ||||
| .SUFFIXES:	.BSD.in | ||||
| .BSD.in: | ||||
| 	${CP} $< $@ | ||||
							
								
								
									
										5
									
								
								doc/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								doc/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| SRCS+=		net.example.in | ||||
|  | ||||
| .SUFFIXES:	.Linux.in | ||||
| .Linux.in: | ||||
| 	${CP} $< $@ | ||||
							
								
								
									
										5
									
								
								doc/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								doc/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| SRCS+=		net.example.in | ||||
|  | ||||
| .SUFFIXES:	.BSD.in | ||||
| .BSD.in: | ||||
| 	${CP} $< $@ | ||||
| @@ -80,9 +80,9 @@ | ||||
| # Most drivers that report carrier status function correctly, but some do not | ||||
| # One of these faulty drivers is for the Intel e1000 network card, but only | ||||
| # at boot time. To get around this you may alter the carrier_timeout value for | ||||
| # the interface. 0 is disable and any other number of seconds is how | ||||
| # long we wait for carrier. The current default is disabled. | ||||
| #carrier_timeout_eth0=0 | ||||
| # the interface. -1 is disable, 0 is infinite and any other number of seconds | ||||
| # is how long we wait for carrier. The current default is 3 seconds | ||||
| #carrier_timeout_eth0=-1 | ||||
|  | ||||
| # You may wish to disable the interface being brought down when stopping. | ||||
| # This is only of use for WakeOnLan. | ||||
| @@ -388,17 +388,6 @@ | ||||
| # | ||||
| # ${IFACE} is set to the interface being brought up/down | ||||
| # ${IFVAR} is ${IFACE} converted to variable name bash allows | ||||
| # | ||||
| # For historical and compatibility reasons, preup is actually normally called | ||||
| # in the following sequence: up ; preup ; up. | ||||
| # The first up causes the kernel to initialize the device, so | ||||
| # that it is available for use in the preup function.  However, for some | ||||
| # hardware, e.g. CAN devices, some configuration is needed before trying to up | ||||
| # the interface will actually work. For such hardware, the | ||||
| # up_before_preup variables will allow skipping the first up call if set | ||||
| # to yes. | ||||
| #up_before_preup_IFVAR="NO" | ||||
| #up_before_preup="NO" | ||||
|  | ||||
| #preup() { | ||||
| #	# Remember to return 0 on success | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
| # In other words, you probably should DO NOTHING HERE... | ||||
|  | ||||
| # Prefer ifconfig over iproute2 | ||||
| #modules="!iproute2" | ||||
| #modules="ifconfig" | ||||
|  | ||||
| # You can also specify other modules for an interface | ||||
| # 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 | ||||
| # To prefer ifconfig over iproute2 | ||||
| #modules="!iproute2" | ||||
| #modules="ifconfig" | ||||
|  | ||||
| # For a static configuration, use something like this | ||||
| # (They all do exactly the same thing btw) | ||||
| @@ -68,7 +68,6 @@ | ||||
| # NOTE: ifconfig creates an aliased device for each extra IPv4 address | ||||
| #       (eth0:1, eth0:2, etc) | ||||
| #       iproute2 does not do this as there is no need to | ||||
| # WARNING: You cannot mix multiple addresses on a line with other parameters! | ||||
| #config_eth0="192.168.0.2/24 192.168.0.3/24 192.168.0.4/24" | ||||
| # However, that only works with CIDR addresses, so you can't use netmask. | ||||
|  | ||||
| @@ -86,14 +85,6 @@ | ||||
| # If you don't want ANY address (only useful when calling for advanced stuff) | ||||
| #config_eth0="null" | ||||
|  | ||||
| # If you need to pass parameters to go with an address, you can do so on the | ||||
| # same line as the address. You should split multiple addresses with newlines. | ||||
| # WARNING: You cannot mix multiple addresses on a line with other parameters! | ||||
| #config_eth0="192.168.0.2/24 scope host" | ||||
| #config_eth0="4321:0:1:2:3:4:567:89ab/64 nodad home preferred_lft 0" | ||||
| #config_eth0="192.168.0.2/24 scope host | ||||
| #4321:0:1:2:3:4:567:89ab/64 nodad home preferred_lft 0" | ||||
|  | ||||
| # Here's how to do routing if you need it | ||||
| # We add an IPv4 default route, IPv4 subnet route and an IPv6 unicast route | ||||
| #routes_eth0="default via 192.168.0.1 | ||||
| @@ -126,13 +117,6 @@ | ||||
| # tables you may have to set a global metric as the due to a simple read of | ||||
| # the routing table taking over a minute at a time. | ||||
|  | ||||
| # Most drivers that report carrier status function correctly, but some do not | ||||
| # One of these faulty drivers is for the Intel e1000 network card, but only | ||||
| # at boot time. To get around this you may alter the carrier_timeout value for | ||||
| # the interface. 0 is disable and any other number of seconds is how | ||||
| # long we wait for carrier. The current default is disabled. | ||||
| #carrier_timeout_eth0=0 | ||||
|  | ||||
| # You may wish to disable the interface being brought down when stopping. | ||||
| # This is only of use for WakeOnLan. | ||||
| #ifdown_eth0="NO" | ||||
| @@ -366,7 +350,7 @@ | ||||
| # By default we don't wait for wpa_supplicant to associate and authenticate. | ||||
| # If you need to change this behaviour then you don't know how our scripts work | ||||
| # and setting this value could cause strange things to happen. | ||||
| # If you would like it to wait, you can specify how long in seconds. | ||||
| # If you would like to, so can specify how long in seconds. | ||||
| #associate_timeout_eth0=60 | ||||
| # A value of 0 means wait forever. | ||||
|  | ||||
| @@ -559,34 +543,26 @@ | ||||
| # 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" | ||||
| # will be used. This is the replacement for the old 'vconfig set_name_type' | ||||
| # 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 | ||||
| # functionality. | ||||
| #vlan1_name="vlan1" | ||||
| #eth0_vlan2_name="eth0.2" | ||||
| #eth1_vlan2_name="eth1.2" | ||||
| #vlan2_name="eth0.2" | ||||
|  | ||||
| # The following shows the old set_name_type setting and what new option to set: | ||||
| # Using eth9 & VLAN VID 26 as an example. | ||||
| # VLAN_PLUS_VID         vlan26_name="vlan0026" | ||||
| # VLAN_PLUS_VID_NO_PAD  vlan26_name="vlan26" | ||||
| # DEV_PLUS_VID          eth9_vlan26_name="eth9.0026" | ||||
| # DEV_PLUS_VID_NO_PAD   eth9_vlan26_name="eth9.26" | ||||
| # DEV_PLUS_VID          vlan26_name="eth9.0026" | ||||
| # DEV_PLUS_VID_NO_PAD   vlan26_name="eth9.26" | ||||
|  | ||||
| # Set the vlan flags | ||||
| #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 | ||||
| #vlan1_ingress="2:6 3:5" | ||||
| #eth0_vlan1_egress="1:2" | ||||
| #vlan1_egress="1:2" | ||||
|  | ||||
| #config_vlan1="172.16.2.1/24" | ||||
| #config_vlan2="172.16.3.1/24" | ||||
| #config_eth0_1="172.16.4.1/24" | ||||
| #config_eth1_1="172.16.5.1/24" | ||||
| #config_vlan1="172.16.3.1/23" | ||||
| #config_vlan2="172.16.2.1/23" | ||||
|  | ||||
| # NOTE: Vlans can be configured with a . in their interface names | ||||
| # When configuring vlans with this name type, you need to replace . with a _ | ||||
| @@ -601,27 +577,10 @@ | ||||
| #vlan_start_eth0="no" | ||||
|  | ||||
| # If you do the above then you may want to depend on eth0 like so | ||||
| # rc_net_vlan1_need="net.eth0" | ||||
| # rc_need_vlan1="net.eth0" | ||||
| # NOTE: depend functions only work in /etc/conf.d/net | ||||
| # and not in profile configs such as /etc/conf.d/net.foo | ||||
|  | ||||
| # Also, you might want to make eth0 not provide net in this case so that | ||||
| # dependent services will start when the vlan is active instead of the | ||||
| # physical interface. | ||||
| # rc_net_eth0_provide="!net" | ||||
|  | ||||
| # MAC-VLAN support | ||||
| # The following configuration can be used to create a new interface 'macvlan0' | ||||
| # linked to 'eth0' | ||||
| #macvlan_macvlan0="eth0" | ||||
|  | ||||
| # MAC-VLAN mode (private, vepa, bridge, passtru) | ||||
| #mode_macvlan0="private" | ||||
|  | ||||
| # IP address, MAC address, ... are configured as a normal interface | ||||
| #config_macvlan0="192.168.20.20/24" | ||||
| #mac_macvlan0="00:50:06:20:20:20" | ||||
|  | ||||
| #----------------------------------------------------------------------------- | ||||
| # Bonding | ||||
| # For link bonding/trunking on 2.4 kernels, or kernels without sysfs | ||||
| @@ -631,39 +590,15 @@ | ||||
| #slaves_bond0="eth0 eth1 eth2" | ||||
| #config_bond0="null" # You may not want to assign an IP the the bond | ||||
|  | ||||
| # Please note, that you should generally NOT try to change the MAC addresses of | ||||
| # a bond interface yourself. If you do so, the kernel and your network switches | ||||
| # may not work quite right. It is permissible to set the MAC addresses of bond | ||||
| # slaves BEFORE the bond comes up, but not after the bond is up (it will change | ||||
| # MAC addresses of the slaves on it's own). | ||||
|  | ||||
| # You can also configure the parameters of the bond here, which must be done | ||||
| # via sysfs on 2.6 kernels or newer. The description of all the options can be | ||||
| # found in the kernel: /usr/src/linux-*/Documentation/networking/bonding.txt | ||||
| # You will probably want the 'mode' option at the least. | ||||
| # Some possible parameters: mode fail_over_mac arp_validate arp_interval | ||||
| # arp_ip_target downdelay updelay lacp_rate ad_select xmit_hash_policy | ||||
| # num_grat_arp num_unsol_na miimon primary primary_reselect use_carrier | ||||
| # active_slave queue_id all_slaves_active resend_igmp min_links | ||||
| #mode_bond0="round-robin" | ||||
| #miimon_bond0="100" | ||||
| # You can also configure the bond here, which must be done via sysfs on 2.6 | ||||
| # kernels or newer. See the kernel bonding documentation for a description of | ||||
| # these options. | ||||
| #arp_ip_target_bond0="+26.0.0.0" | ||||
|  | ||||
| # If any of the slaves require extra configuration - for example wireless or | ||||
| # ppp devices - we need to depend function on the bonded interfaces | ||||
| #rc_net_bond0_need="net.eth0 net.eth1" | ||||
| #rc_need_bond0="net.eth0 net.eth1" | ||||
|  | ||||
| # Bonding subsume support (prevents crashes for root-on-NFS) | ||||
| #  - Only tested in the default bonding mode ('active-backup') with | ||||
| # IPv4 | ||||
| #  - Only subsumes basic interface characteristics (IP, netmask) and | ||||
| #    excludes additional routes, interface properties such as MTU, | ||||
| #    interface-associated netfilter rules, etc. | ||||
| # In the example below, the (usually kernel-autoconfigured) | ||||
| # 'eth0' interface is a member of bond0, which subsumes the | ||||
| # existing interface configuration without upsetting NFS. | ||||
| #slaves_bond0="eth0 eth1" | ||||
| #subsume_bond0="eth0" | ||||
|  | ||||
| #----------------------------------------------------------------------------- | ||||
| # Classical IP over ATM | ||||
| @@ -779,7 +714,7 @@ | ||||
| # If the link require extra configuration - for example wireless or | ||||
| # RFC 268 bridge - we need to depend on the bridge so they get | ||||
| # configured correctly. | ||||
| #rc_net_ppp0_need="net.nas0" | ||||
| #rc_need_ppp0="net.nas0" | ||||
|  | ||||
| #WARNING: if MTU of the PPP interface is less than 1500 and you use this | ||||
| #machine as a router, you should add the following rule to your firewall | ||||
| @@ -819,8 +754,6 @@ | ||||
|  | ||||
| #----------------------------------------------------------------------------- | ||||
| # MAC changer | ||||
| # Warning: Do NOT use this on bonding interfaces! Bonding changes MACs itself. | ||||
| # | ||||
| # To set a specific MAC address | ||||
| #mac_eth0="00:11:22:33:44:55" | ||||
|  | ||||
| @@ -845,7 +778,7 @@ | ||||
|  | ||||
| #----------------------------------------------------------------------------- | ||||
| # TUN/TAP | ||||
| # For TUN/TAP support install iproute2, openvpn or usermode-utilities | ||||
| # For TUN/TAP support emerge net-misc/openvpn or sys-apps/usermode-utilities | ||||
| # | ||||
| # You must specify if we're a tun or tap device. Then you can give it any | ||||
| # name you like - such as vpn | ||||
| @@ -856,9 +789,6 @@ | ||||
| #tuntap_tap0="tap" | ||||
| #config_tap0="192.168.0.1/24" | ||||
|  | ||||
| # Use something like this to pass custom options to iproute2 during | ||||
| # tunnel creation. This sets the user and group ownership of the node. | ||||
| #iproute2_tun1="user foo group bar" | ||||
| # For passing custom options to tunctl use something like the following.  This | ||||
| # example sets the owner to adm | ||||
| #tunctl_tun1="-u adm" | ||||
| @@ -893,13 +823,13 @@ | ||||
|  | ||||
| # If any of the ports require extra configuration - for example wireless or | ||||
| # ppp devices - we need to depend on them like so. | ||||
| #rc_net_br0_need="net.eth0 net.eth1" | ||||
| #rc_need_br0="net.eth0 net.eth1" | ||||
|  | ||||
| # Below is an example of configuring the bridge | ||||
| # Consult "man brctl" for more details | ||||
| #brctl_br0="setfd 15 | ||||
| #sethello 2 | ||||
| #stp on" | ||||
| #brctl_br0="setfd 0 | ||||
| #sethello 0 | ||||
| #stp off" | ||||
|  | ||||
| # You can also configure the bridge or bridge members via sysfs on 2.6 kernels | ||||
| # or newer. See the kernel bridge documentation for a description of these | ||||
| @@ -944,7 +874,7 @@ | ||||
| # link_6to4="eth0"		# Interface to base its addresses on | ||||
| # config_6to4="ip6to4" | ||||
| # You may want to depend on eth0 like so | ||||
| #rc_net_6to4_need="net.eth0" | ||||
| #rc_need_6to4="net.eth0" | ||||
| # To ensure that eth0 is configured before 6to4. Of course, the tunnel could be | ||||
| # any name and this also works for any configured interface. | ||||
| # NOTE: If you're not using iproute2 then your 6to4 tunnel has to be called | ||||
| @@ -987,8 +917,6 @@ | ||||
| # /etc/iproute2/rt_tables, an example follows: | ||||
| # 2 oob | ||||
| # 3 external | ||||
| # | ||||
| # IPv6 RPDB entries are to be found in the rules6_IFVAR variables: | ||||
|  | ||||
| #rules_eth0=" | ||||
| #from ZZZ.ZZZ.200.128/27 table oob priority 500 | ||||
| @@ -1003,11 +931,6 @@ | ||||
| #XXX.XXX.112.0/24 dev eth1 table external scope link | ||||
| #default via XXX.XXX.112.1 dev eth1" | ||||
|  | ||||
| # IPv6 example: | ||||
| #rules6_eth0=" | ||||
| #from 2001:0DB8:AAAA:BBBB::/64 table vpn priority 100 | ||||
| #to 2001:0DB8:AAAA:BBBB::/64 table vpn priority 150" | ||||
|  | ||||
|  | ||||
| #----------------------------------------------------------------------------- | ||||
| # System | ||||
| @@ -1137,13 +1060,6 @@ | ||||
| # Hypothetical network card that requires a change-eeprom toggle to enable flashing | ||||
| #ethtool_order_eth0="change-eeprom flash change pause coalesce ring offload nfc rxfh-indir ntuple" | ||||
|  | ||||
| #----------------------------------------------------------------------------- | ||||
| # Firewalld support | ||||
| # If you are using the firewalld daemon to configure your firewall | ||||
| # settings and you have specific zones you want to apply to your | ||||
| # interfaces, you can do this here. | ||||
| #firewalld_zone_eth0="myzone" | ||||
|  | ||||
| ############################################################################## | ||||
| # ADVANCED CONFIGURATION | ||||
| # | ||||
| @@ -1164,17 +1080,6 @@ | ||||
| # | ||||
| # ${IFACE} is set to the interface being brought up/down | ||||
| # ${IFVAR} is ${IFACE} converted to variable name bash allows | ||||
| # | ||||
| # For historical and compatibility reasons, preup is actually normally called | ||||
| # in the following sequence: up ; preup ; up. | ||||
| # The first up causes the kernel to initialize the device, so | ||||
| # that it is available for use in the preup function.  However, for some | ||||
| # hardware, e.g. CAN devices, some configuration is needed before trying to up | ||||
| # the interface will actually work. For such hardware, the | ||||
| # up_before_preup variables will allow skipping the first up call if set | ||||
| # to yes. | ||||
| #up_before_preup_IFVAR="NO" | ||||
| #up_before_preup="NO" | ||||
|  | ||||
| #preup() { | ||||
| #	# Test for link on the interface prior to bringing it up.  This | ||||
|   | ||||
							
								
								
									
										29
									
								
								etc/Makefile
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								etc/Makefile
									
									
									
									
									
								
							| @@ -1,28 +1,21 @@ | ||||
| DIR=	${SYSCONFDIR} | ||||
| SRCS=	rc.conf.in rc.in rc.shutdown.in | ||||
| BIN=	${BIN-${OS}} | ||||
| CONF=	rc.conf ${BIN-${OS}} | ||||
| CONF=	rc.conf | ||||
|  | ||||
| CLEANFILES+=	rc.conf | ||||
|  | ||||
| MK=	../mk | ||||
| include ${MK}/os.mk | ||||
|  | ||||
| SED_EXTRA-FreeBSD=	-e 's:@TERM@:cons25:g' | ||||
| BIN-FreeBSD=		rc rc.shutdown rc.devd | ||||
| CONF-FreeBSD=		devd.conf | ||||
|  | ||||
| SED_EXTRA-Linux=	-e 's:@TERM@:wsvt25:g' | ||||
| BIN-Linux= | ||||
| CONF-Linux= | ||||
|  | ||||
| SED_EXTRA-NetBSD=	-e 's:@TERM@:wsvt25:g' | ||||
| BIN-NetBSD=		rc rc.shutdown | ||||
| CONF-NetBSD= | ||||
|  | ||||
| SED_EXTRA=	${SED_EXTRA-${OS}} | ||||
|  | ||||
| include Makefile.${OS} | ||||
| include ${MK}/scripts.mk | ||||
|  | ||||
| # We can't use "ifndef" here because that treats set-but-empty | ||||
| # as not-set which is not what we want | ||||
| MKRCSYS ?= automagicplease | ||||
| ifeq ($(MKRCSYS),automagicplease) | ||||
| # If the user isn't picking a default, then have the | ||||
| # config go with runtime automagic detection #357247 | ||||
| rc.conf: SED_EXTRA += -e '/^rc_sys=""/s:^:\#:' | ||||
| MKRCSYS = | ||||
| endif | ||||
| rc.conf: rc.conf.in rc.conf.${OS} | ||||
| 	${SED} ${SED_REPLACE} ${SED_EXTRA} $^ > $@ | ||||
|   | ||||
							
								
								
									
										4
									
								
								etc/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								etc/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| SED_EXTRA=	-e 's:@TERM@:cons25:g' | ||||
| SRCS+=		rc.conf.in rc.in rc.shutdown.in | ||||
| CONF+=		devd.conf | ||||
| BIN+=		rc rc.shutdown rc.devd | ||||
							
								
								
									
										2
									
								
								etc/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								etc/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| SED_EXTRA=	-e 's:@TERM@:wsvt25:g' | ||||
| SRCS+=		rc.conf.in rc.in rc.shutdown.in | ||||
							
								
								
									
										3
									
								
								etc/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								etc/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| SED_EXTRA=	-e 's:@TERM@:wsvt25:g' | ||||
| SRCS+=		rc.conf.in rc.in rc.shutdown.in | ||||
| BIN+=		rc rc.shutdown | ||||
| @@ -5,9 +5,10 @@ | ||||
| # ""        - nothing special | ||||
| # "jail"    - FreeBSD jails | ||||
| # "prefix"  - Prefix | ||||
| # If this is commented out, automatic detection will be used. | ||||
| # If this is commented out, automatic detection will be attempted. | ||||
| # Note that automatic detection does not work in a prefix environment. | ||||
| # | ||||
| # This should be set to the value representing the environment this file is | ||||
| # PRESENTLY in, not the virtualization the environment is capable of. | ||||
| #rc_sys="" | ||||
| rc_sys="@RC_SYS_DEFAULT@" | ||||
|  | ||||
|   | ||||
| @@ -10,20 +10,15 @@ | ||||
| # "vserver" - Linux vserver | ||||
| # "xen0"    - Xen0 Domain | ||||
| # "xenU"    - XenU Domain | ||||
| # If this is commented out, automatic detection will be used. | ||||
| # If this is commented out, automatic detection will be attempted. | ||||
| # Note that autodetection will not work in a prefix environment or in a | ||||
| # linux container. | ||||
| # | ||||
| # This should be set to the value representing the environment this file is | ||||
| # PRESENTLY in, not the virtualization the environment is capable of. | ||||
| #rc_sys="" | ||||
| rc_sys="@RC_SYS_DEFAULT@" | ||||
|  | ||||
| # This is the number of tty's used in most of the rc-scripts (like | ||||
| # consolefont, numlock, etc ...) | ||||
| rc_tty_number=12 | ||||
|  | ||||
| # If you have cgroups turned on in your kernel, this switch controls | ||||
| # whether or not a group for each controler is mounted under | ||||
| # /sys/fs/cgroup. | ||||
| # Support for process management by cgroups is planned in the future, | ||||
| # so if you turn this off, be aware that you may not be able to use that | ||||
| # feature. | ||||
| #rc_controller_cgroups="YES" | ||||
|   | ||||
| @@ -6,9 +6,10 @@ | ||||
| # "prefix"  - Prefix | ||||
| # "xen0"    - Xen0 Domain | ||||
| # "xenU"    - XenU Domain | ||||
| # If this is commented out, automatic detection will be used. | ||||
| # If this is commented out, automatic detection will be attempted. | ||||
| # Note that automatic detection does not work in a prefix environment. | ||||
| # | ||||
| # This should be set to the value representing the environment this file is | ||||
| # PRESENTLY in, not the virtualization the environment is capable of. | ||||
| #rc_sys="" | ||||
| rc_sys="@RC_SYS_DEFAULT@" | ||||
|  | ||||
|   | ||||
| @@ -94,10 +94,6 @@ | ||||
| # These variables are documented here, but should be configured in | ||||
| # /etc/conf.d/foo for service foo and NOT enabled here unless you | ||||
| # really want them to work on a global basis. | ||||
| # If your service has characters in its name which are not legal in | ||||
| # shell variable names and you configure the variables for it in this | ||||
| # file, those characters should be replaced with underscores in the | ||||
| # variable names as shown below. | ||||
|  | ||||
| # Some daemons are started and stopped via start-stop-daemon. | ||||
| # We can set some things on a per service basis, like the nicelevel. | ||||
| @@ -120,13 +116,6 @@ | ||||
| #rc_foo_need="openvpn" | ||||
| #rc_foo_after="clock" | ||||
|  | ||||
| # Below is an example for service foo-bar. Note that the '-' is illegal | ||||
| # in a shell variable name, so we convert it to an underscore. | ||||
| # example for service foo-bar. | ||||
| #rc_foo_bar_config="/etc/foo-bar" | ||||
| #rc_foo_bar_need="openvpn" | ||||
| #rc_foo_bar_after="clock" | ||||
|  | ||||
| # You can also remove dependencies. | ||||
| # This is mainly used for saying which servies do NOT provide net. | ||||
| #rc_net_tap0_provide="!net" | ||||
|   | ||||
| @@ -7,5 +7,5 @@ MK=	../mk | ||||
|  | ||||
| SED_EXTRA+= -e 's:@VARBASE@:/var:g' | ||||
|  | ||||
| include ${MK}/os.mk | ||||
| include ${MK}/scripts.mk | ||||
| include Makefile.${OS} | ||||
|   | ||||
							
								
								
									
										1
									
								
								init.d.misc/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								init.d.misc/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| PKG_PREFIX?=	/usr/local | ||||
							
								
								
									
										1
									
								
								init.d.misc/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								init.d.misc/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| PKG_PREFIX?=/usr | ||||
							
								
								
									
										1
									
								
								init.d.misc/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								init.d.misc/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| PKG_PREFIX?=	/usr/pkg | ||||
							
								
								
									
										2
									
								
								init.d/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								init.d/.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -11,7 +11,6 @@ network | ||||
| root | ||||
| savecache | ||||
| swap | ||||
| swapfiles | ||||
| sysctl | ||||
| urandom | ||||
| devfs | ||||
| @@ -41,4 +40,3 @@ syslogd | ||||
| termencoding | ||||
| ttys | ||||
| wscons | ||||
| tmpfiles.setup | ||||
|   | ||||
| @@ -1,48 +1,25 @@ | ||||
| DIR=	${INITDIR} | ||||
| SRCS=	bootmisc.in fsck.in hostname.in local.in localmount.in netmount.in \ | ||||
| 	root.in savecache.in swap.in swapfiles.in \ | ||||
| 	tmpfiles.setup.in swclock.in sysctl.in urandom.in ${SRCS-${OS}} | ||||
| 	network.in root.in savecache.in staticroute.in swap.in swclock.in \ | ||||
| 	sysctl.in urandom.in | ||||
| BIN=	${OBJS} | ||||
|  | ||||
| # Build our old net foo or not | ||||
| ifeq (${MKNET},) | ||||
| SRCS+= network.in staticroute.in | ||||
| ifeq (${MKOLDNET},yes) | ||||
| _OLDNET=	net.lo | ||||
| endif | ||||
| _NET_LO=	${_OLDNET} | ||||
|  | ||||
| ifeq (${MKNET},oldnet) | ||||
| INSTALLAFTER=	_installafter_net.lo | ||||
| SRCS+= net.lo.in | ||||
| endif | ||||
| INSTALLAFTER=	_installafter_${_NET_LO} | ||||
| CLEANFILES+=	${_NET_LO} | ||||
| TARGETS+=	${_NET_LO} | ||||
|  | ||||
| MK=	../mk | ||||
| include ${MK}/os.mk | ||||
|  | ||||
| NET_LO-FreeBSD=	net.lo0 | ||||
| # Generic BSD scripts | ||||
| SRCS-FreeBSD=	hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \ | ||||
| 		rpcbind.in savecore.in syslogd.in | ||||
| # These are FreeBSD specific | ||||
| SRCS-FreeBSD+=	adjkerntz.in devd.in dumpon.in encswap.in ipfw.in \ | ||||
| 		mixer.in nscd.in powerd.in syscons.in | ||||
|  | ||||
| NET_LO-Linux=	net.lo | ||||
| SRCS-Linux=	devfs.in dmesg.in hwclock.in consolefont.in keymaps.in \ | ||||
| 		killprocs.in modules.in mount-ro.in mtab.in numlock.in \ | ||||
| 		procfs.in sysfs.in termencoding.in | ||||
|  | ||||
| NET_LO-NetBSD=	net.lo0 | ||||
| # Generic BSD scripts | ||||
| SRCS-NetBSD=	hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \ | ||||
| 		rpcbind.in savecore.in syslogd.in | ||||
| # These are NetBSD specific | ||||
| SRCS-NetBSD+=	devdb.in swap-blk.in ttys.in wscons.in | ||||
|  | ||||
| %.in: %${SFX} | ||||
| 	sed ${SED_REPLACE} ${SED_EXTRA} $< > $@ | ||||
|  | ||||
| include Makefile.${OS} | ||||
| include ${MK}/scripts.mk | ||||
|  | ||||
| _installafter_: realinstall | ||||
|  | ||||
| _installafter_net.lo: realinstall | ||||
| 	${INSTALL} -m ${BINMODE} net.lo ${DESTDIR}/${INITDIR}/${NET_LO-${OS}} | ||||
| 	${INSTALL} -m ${BINMODE} net.lo ${DESTDIR}/${INITDIR}/${NET_LO} | ||||
|   | ||||
							
								
								
									
										13
									
								
								init.d/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								init.d/Makefile.FreeBSD
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| NET_LO=	net.lo0 | ||||
|  | ||||
| # Generic BSD scripts | ||||
| SRCS+=	hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \ | ||||
| 	rpcbind.in savecore.in syslogd.in | ||||
|  | ||||
| # These are FreeBSD specific | ||||
| SRCS+=	adjkerntz.in devd.in dumpon.in ipfw.in mixer.in nscd.in \ | ||||
| 	powerd.in syscons.in | ||||
|  | ||||
| .SUFFIXES:	.BSD.in | ||||
| .BSD.in: | ||||
| 	sed ${SED_REPLACE} ${SED_EXTRA} $< > $@ | ||||
							
								
								
									
										9
									
								
								init.d/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								init.d/Makefile.Linux
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| NET_LO=	net.lo | ||||
|  | ||||
| SRCS+=	devfs.in dmesg.in hwclock.in consolefont.in keymaps.in killprocs.in \ | ||||
| 	modules.in mount-ro.in mtab.in numlock.in procfs.in sysfs.in \ | ||||
| 	termencoding.in | ||||
|  | ||||
| .SUFFIXES:	.Linux.in | ||||
| .Linux.in: | ||||
| 	sed ${SED_REPLACE} ${SED_EXTRA} $< > $@ | ||||
							
								
								
									
										12
									
								
								init.d/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								init.d/Makefile.NetBSD
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| NET_LO=	net.lo0 | ||||
|  | ||||
| # Generic BSD scripts | ||||
| SRCS+=	hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \ | ||||
| 	rpcbind.in savecore.in syslogd.in | ||||
|  | ||||
| # These are NetBSD specific | ||||
| SRCS+=	devdb.in swap-blk.in ttys.in wscons.in | ||||
|  | ||||
| .SUFFIXES:	.BSD.in | ||||
| .BSD.in: | ||||
| 	sed ${SED_REPLACE} ${SED_EXTRA} $< > $@ | ||||
| @@ -10,8 +10,12 @@ depend() | ||||
| 	keyword -prefix -timeout | ||||
| } | ||||
|  | ||||
| dir_writeable() | ||||
| { | ||||
| 	mkdir "$1"/.test.$$ 2>/dev/null && rmdir "$1"/.test.$$ | ||||
| } | ||||
|  | ||||
| : ${wipe_tmp:=${WIPE_TMP:-yes}} | ||||
| : ${log_dmesg:=${LOG_DMESG:-yes}} | ||||
|  | ||||
| cleanup_tmp_dir() | ||||
| { | ||||
| @@ -20,7 +24,7 @@ cleanup_tmp_dir() | ||||
| 	if ! [ -d "$dir" ]; then | ||||
| 		mkdir -p "$dir" || return $? | ||||
| 	fi | ||||
| 	checkpath -W "$dir" || return 1 | ||||
| 	dir_writeable "$dir" || return 1 | ||||
| 	chmod a+rwt "$dir" 2> /dev/null | ||||
| 	cd "$dir" || return 1 | ||||
| 	if yesno $wipe_tmp; then | ||||
| @@ -67,26 +71,6 @@ mkutmp() | ||||
| 	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 | ||||
| } | ||||
|  | ||||
| start() | ||||
| { | ||||
| 	# Remove any added console dirs | ||||
| @@ -94,16 +78,8 @@ start() | ||||
|  | ||||
| 	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 | ||||
| 	[ "$RC_UNAME" = Linux ] && extra=/var/lib/misc # Satisfy Linux FHS | ||||
| 	for x in /var/log /var/run /tmp $extra; do | ||||
| 		if ! [ -d $x ]; then | ||||
| 			if ! mkdir -p $x; then | ||||
| 				eend 1 "failed to create needed directory $x" | ||||
| @@ -112,12 +88,7 @@ start() | ||||
| 		fi | ||||
| 	done | ||||
|  | ||||
| 	if [ "$RC_UNAME" = Linux -a -d /run ]; then | ||||
| 		migrate_to_run	/var/lock /run/lock | ||||
| 		migrate_to_run	/var/run /run | ||||
| 	fi | ||||
|  | ||||
| 	if checkpath -W /var/run; then | ||||
| 	if dir_writeable /var/run; then | ||||
| 		ebegin "Creating user login records" | ||||
| 		local xtra= | ||||
| 		[ "$RC_UNAME" = NetBSD ] && xtra=x | ||||
| @@ -159,7 +130,7 @@ start() | ||||
| 		cleanup_tmp_dir "$tmp" | ||||
| 	done | ||||
|  | ||||
| 	if checkpath -W /tmp; then | ||||
| 	if dir_writeable /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 | ||||
| @@ -171,16 +142,15 @@ start() | ||||
| 		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 ]; then | ||||
| 				dmesg > /var/log/dmesg | ||||
| 				chmod 640 /var/log/dmesg | ||||
| 			fi | ||||
| 	if $logw || dir_writeable /var/log; then | ||||
| 		# Create an 'after-boot' dmesg log | ||||
| 		if [ "$RC_SYS" != VSERVER -a "$RC_SYS" != OPENVZ ]; then | ||||
| 			dmesg > /var/log/dmesg | ||||
| 			chmod 640 /var/log/dmesg | ||||
| 		fi | ||||
| 	fi | ||||
|  | ||||
| 	[ -w /etc/nologin ] && rm -f /etc/nologin | ||||
| 	return 0 | ||||
| } | ||||
|  | ||||
| @@ -196,5 +166,3 @@ stop() | ||||
|  | ||||
| 	return 0 | ||||
| } | ||||
|  | ||||
| # vim: ft=sh | ||||
|   | ||||
| @@ -49,12 +49,12 @@ start() | ||||
| 			retval=1 | ||||
| 			break | ||||
| 		fi | ||||
| 		: $(( x += 1 )) | ||||
| 		x=$(($x + 1)) | ||||
| 	done | ||||
| 	eend $retval | ||||
|  | ||||
| 	# Store the last font so we can use it ASAP on boot | ||||
| 	if [ $retval -eq 0 ] && checkpath -W "$RC_LIBEXECDIR"; then | ||||
| 	if [ $retval -eq 0 -a -w "$RC_LIBEXECDIR" ]; then | ||||
| 		mkdir -p "$RC_LIBEXECDIR"/console | ||||
| 		for font in /usr/share/consolefonts/"$consolefont".*; do | ||||
| 			: | ||||
|   | ||||
| @@ -11,7 +11,7 @@ depend() | ||||
|  | ||||
| start() | ||||
| { | ||||
| 	ebegin "Building the dev database" | ||||
| 	ebegin "Bulding the dev database" | ||||
| 	if [ /var/run/dev.db -nt /dev ]; then | ||||
| 		: | ||||
| 	else | ||||
|   | ||||
| @@ -5,8 +5,7 @@ | ||||
| description="Mount system critical filesystems in /dev." | ||||
|  | ||||
| depend() { | ||||
| 	use dev-mount | ||||
| 	before dev | ||||
| 	use dev | ||||
| 	keyword -prefix -vserver | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -7,7 +7,7 @@ description="Set the dmesg level for a cleaner boot" | ||||
| depend() | ||||
| { | ||||
| 	before dev modules | ||||
| 	keyword -lxc -prefix -vserver | ||||
| 	keyword -vserver | ||||
| } | ||||
|  | ||||
| start() | ||||
|   | ||||
| @@ -19,7 +19,7 @@ start() { | ||||
| } | ||||
|  | ||||
| stop() { | ||||
| 	ebegin "Deactivating kernel core dump device" | ||||
| 	ebegin "Deactiving kernel core dump device" | ||||
| 	dumpon off | ||||
| 	eend $? | ||||
| } | ||||
|   | ||||
| @@ -1,43 +0,0 @@ | ||||
| #!@PREFIX@/sbin/runscript | ||||
| # Copyright 1992-2012 FreeBSD Project | ||||
| # Released under the 2-clause BSD license | ||||
|  | ||||
| depend() { | ||||
| 	before swap | ||||
| } | ||||
|  | ||||
| start() { | ||||
| 	while read device mountpoint type options rest ; do | ||||
| 		case ":${device}:${type}:${options}" in | ||||
| 		:#*) | ||||
| 			;; | ||||
| 		*.bde:swap:sw) | ||||
| 			passphrase=$(dd if=/dev/random count=1 2>/dev/null | md5 -q) | ||||
| 			device="${device%.bde}" | ||||
| 			gbde init "${device}" -P "${passphrase}" || return 1 | ||||
| 			gbde attach "${device}" -p "${passphrase}" || return 1 | ||||
| 			;; | ||||
| 		*.eli:swap:sw) | ||||
| 			device="${device%.eli}" | ||||
| 			geli onetime ${geli_swap_flags} "${device}" || return 1 | ||||
| 			;; | ||||
| 		esac | ||||
| 	done < /etc/fstab | ||||
| } | ||||
|  | ||||
| stop() { | ||||
| 	while read device mountpoint type options rest ; do | ||||
| 		case ":${device}:${type}:${options}" in | ||||
| 		:#*) | ||||
| 			;; | ||||
| 		*.bde:swap:sw) | ||||
| 			device="${device%.bde}" | ||||
| 			gbde detach "${device}" | ||||
| 			;; | ||||
| 		*.eli:swap:sw) | ||||
| 			# Nothing here, because geli swap devices should be | ||||
| 			# created with the auto-detach-on-last-close option. | ||||
| 			;; | ||||
| 		esac | ||||
| 	done < /etc/fstab | ||||
| } | ||||
| @@ -48,13 +48,8 @@ start() | ||||
|  | ||||
| 	if [ -n "$fsck_passno" ]; then | ||||
| 		check_extra="[passno $fsck_passno] $check_extra" | ||||
| 		if [ -n "$fsck_mnt" ]; then | ||||
| 			eerror "Only 1 of fsck_passno and fsck_mnt must be set!" | ||||
| 			return 1 | ||||
| 		fi | ||||
| 	fi | ||||
| 	ebegin "Checking local filesystems $check_extra" | ||||
| 	# Append passno mounts | ||||
| 	for p in $fsck_passno; do | ||||
| 		local IFS="$_IFS" | ||||
| 		case "$p" in | ||||
| @@ -63,21 +58,10 @@ start() | ||||
| 		set -- "$@" $(fstabinfo --passno "$p") | ||||
| 		unset IFS | ||||
| 	done | ||||
| 	# Append custom mounts | ||||
| 	for m in $fsck_mnt ; do | ||||
| 		local IFS="$_IFS" | ||||
| 		set -- "$@" "$m" | ||||
| 		unset IFS | ||||
| 	done | ||||
|  | ||||
| 	if [ "$RC_UNAME" = Linux ]; then | ||||
| 		local skiptypes x | ||||
| 		for x in $net_fs_list $extra_net_fs_list; do | ||||
| 			skiptypes="${skiptypes}no${x}," | ||||
| 		done | ||||
| 		skiptypes="${skiptypes}noopts=_netdev" | ||||
| 		fsck_opts="$fsck_opts -C0 -T -t $skiptypes" | ||||
| 		if [ -z "$fsck_passno" -a -z "$fsck_mnt" ]; then | ||||
| 		fsck_opts="$fsck_opts -C0 -T" | ||||
| 		if [ -z "$fsck_passno" ]; then | ||||
| 			fsck_args=${fsck_args--A -p} | ||||
| 			if echo 2>/dev/null >/.test.$$; then | ||||
| 				rm -f /.test.$$ | ||||
| @@ -107,7 +91,7 @@ start() | ||||
| 			_reboot | ||||
| 		fi;; | ||||
| 	8)	ewend 1 "Operational error"; return 0;; | ||||
| 	12)	ewend 1 "fsck interrupted";; | ||||
| 	12)	ewend 1 "fsck interupted";; | ||||
| 	*)	eend 2 "Filesystems couldn't be fixed";; | ||||
| 	esac | ||||
| 	_abort || return 1 | ||||
|   | ||||
| @@ -85,7 +85,7 @@ start() | ||||
|  | ||||
| 	if [ -e /etc/adjtime ] && yesno $clock_adjfile; then | ||||
| 		_hwclock --adjust $utc_cmd | ||||
| 		: $(( retval += $? )) | ||||
| 		retval=$(($retval + $?)) | ||||
| 	fi | ||||
|  | ||||
| 	# If setting UTC, don't bother to run hwclock when first booting | ||||
| @@ -94,12 +94,12 @@ start() | ||||
| 		"$utc_cmd" != --utc -o \ | ||||
| 		-n "$clock_args" ]; | ||||
| 	then | ||||
| 		if yesno ${clock_hctosys:-YES}; then | ||||
| 		if yesno $clock_hctosys; then | ||||
| 			_hwclock --hctosys $utc_cmd $clock_args | ||||
| 		else | ||||
| 			_hwclock --systz $utc_cmd $clock_args | ||||
| 		fi | ||||
| 		: $(( retval += $? )) | ||||
| 		retval=$(($retval + $?)) | ||||
| 	fi | ||||
|  | ||||
| 	eend $retval "Failed to set the system clock" | ||||
| @@ -111,7 +111,7 @@ stop() | ||||
| { | ||||
| 	# Don't tweak the hardware clock on LiveCD halt. | ||||
| 	[ -n "$CDBOOT" ] && return 0 | ||||
| 	yesno ${clock_systohc:-YES} || return 0 | ||||
| 	yesno $clock_systohc || return 0 | ||||
|  | ||||
| 	local retval=0 errstr="" | ||||
| 	setupopts | ||||
|   | ||||
| @@ -59,7 +59,7 @@ start() { | ||||
| 		return 1 | ||||
| 	fi | ||||
|  | ||||
| 	# Use a stateful firewall | ||||
| 	# Use a statefull firewall | ||||
| 	ipfw add check-state | ||||
| 	ipfw add pass tcp from me to any established | ||||
|  | ||||
| @@ -123,7 +123,7 @@ start() { | ||||
| 	ipfw add deny udp from any to any 520 in | ||||
|  | ||||
| 	# Noise from webbrowsing. | ||||
| 	# The stateful filter is a bit aggressive, and will cause some | ||||
| 	# The statefull filter is a bit agressive, and will cause some | ||||
| 	# connection teardowns to be logged. | ||||
| 	ipfw add deny tcp from any 80,443 to any 1024-65535 in | ||||
|  | ||||
|   | ||||
| @@ -47,7 +47,7 @@ start() | ||||
| 	n=1 | ||||
| 	while [ $n -le $ttyn ]; do | ||||
| 		kbd_mode $kmode -C $ttydev$n | ||||
| 		: $(( n += 1 )) | ||||
| 		n=$(($n + 1)) | ||||
| 	done | ||||
| 	eend 0 | ||||
|  | ||||
| @@ -63,7 +63,7 @@ start() | ||||
| 	fi | ||||
|  | ||||
| 	# Save the keymapping for use immediately at boot | ||||
| 	if checkpath -W "$RC_LIBEXECDIR"; then | ||||
| 	if [ -w "$RC_LIBEXECDIR" ]; then | ||||
| 		mkdir -p "$RC_LIBEXECDIR"/console | ||||
| 		dumpkeys >"$RC_LIBEXECDIR"/console/keymap | ||||
| 	fi | ||||
|   | ||||
| @@ -33,14 +33,9 @@ start() | ||||
|  | ||||
| stop() | ||||
| { | ||||
| 	yesno $RC_GOINGDOWN || return 0 | ||||
| 	# We never unmount / or /dev or $RC_SVCDIR | ||||
|  | ||||
| 	# Bug 381783 | ||||
| 	local rc_svcdir=$(echo $RC_SVCDIR | sed 's:/lib\(32\|64\)\?/:/lib(32|64)?/:g') | ||||
|  | ||||
| 	local x= no_umounts_r="/|/dev|/dev/.*|${rc_svcdir}" | ||||
| 	no_umounts_r="${no_umounts_r}|/bin|/sbin|/lib(32|64)?|/libexec" | ||||
| 	local x= no_umounts_r="/|/dev|/dev/.*|${RC_SVCDIR}" | ||||
| 	no_umounts_r="${no_umounts_r}|/bin|/sbin|/lib|/libexec" | ||||
| 	# RC_NO_UMOUNTS is an env var that can be set by plugins | ||||
| 	local IFS="$IFS:" | ||||
| 	for x in $no_umounts $RC_NO_UMOUNTS; do | ||||
| @@ -48,7 +43,7 @@ stop() | ||||
| 	done | ||||
|  | ||||
| 	if [ "$RC_UNAME" = Linux ]; then | ||||
| 		no_umounts_r="$no_umounts_r|/proc|/proc/.*|/run|/sys|/sys/.*|/usr" | ||||
| 		no_umounts_r="$no_umounts_r|/proc|/proc/.*|/run|/sys|/sys/.*" | ||||
| 	fi | ||||
| 	no_umounts_r="^($no_umounts_r)$" | ||||
|  | ||||
| @@ -74,7 +69,7 @@ stop() | ||||
| 	done | ||||
| 	[ -n "$fs" ] && fs="^($fs)$" | ||||
| 	do_unmount umount --skip-point-regex "$no_umounts_r" \ | ||||
| 		"${fs:+--skip-fstype-regex}" $fs --nonetdev | ||||
| 		${fs:+--skip-fstype-regex} $fs --nonetdev | ||||
| 	eoutdent | ||||
|  | ||||
| 	return 0 | ||||
|   | ||||
| @@ -21,7 +21,7 @@ restore() | ||||
| 			mixer -f "$mixer" \ | ||||
| 			$(cat "/var/db/${mixer#/dev/}-state") >/dev/null | ||||
| 			veend $? | ||||
| 			: $(( retval += $? )) | ||||
| 			: $((retval += $?)) | ||||
| 		fi | ||||
| 	done | ||||
| } | ||||
| @@ -40,7 +40,7 @@ stop() | ||||
| 		vebegin "$mixer" | ||||
| 		mixer -f "$mixer" -s >/var/db/"${mixer#/dev/}"-state | ||||
| 		veend $? | ||||
| 		: $(( retval += $? )) | ||||
| 		: $((retval += $?)) | ||||
| 	done | ||||
| 	eoutdent | ||||
| 	eend $retval | ||||
|   | ||||
| @@ -57,7 +57,7 @@ start() | ||||
| 		[ -z "$args" ] && eval args=\$module_${aa}_args | ||||
| 		[ -z "$args" ] && eval args=\$module_${xx}_args | ||||
| 		eval modprobe -q "$mpargs" "$x" "$args" | ||||
| 		eend $? "Failed to load $x" && : $(( cnt += 1 )) | ||||
| 		eend $? "Failed to load $x" && cnt=$(($cnt + 1)) | ||||
| 	done | ||||
| 	einfo "Autoloaded $cnt module(s)" | ||||
| } | ||||
|   | ||||
| @@ -7,13 +7,11 @@ description="Re-mount filesytems read-only for a clean reboot." | ||||
| depend() | ||||
| { | ||||
| 	need killprocs savecache | ||||
| 	keyword -openvz -prefix -vserver -lxc | ||||
| 	keyword -prefix -openvz -vserver -lxc | ||||
| } | ||||
|  | ||||
| start() | ||||
| { | ||||
| 	local ret=0 | ||||
|  | ||||
| 	# Flush all pending disk writes now | ||||
| 	sync; sync | ||||
|  | ||||
| @@ -21,12 +19,8 @@ start() | ||||
| 	# We need the do_unmount function | ||||
| 	. "$RC_LIBEXECDIR"/sh/rc-mount.sh | ||||
| 	eindent | ||||
|  | ||||
| 	# Bug 381783 | ||||
| 	local rc_svcdir=$(echo $RC_SVCDIR | sed 's:/lib\(32\|64\)\?/:/lib(32|64)?/:g') | ||||
|  | ||||
| 	local m="/dev|/dev/.*|/proc|/proc.*|/sys|/sys/.*|/run|${rc_svcdir}" x= fs= | ||||
| 	m="$m|/bin|/sbin|/lib(32|64)?|/libexec" | ||||
| 	local m="/dev|/dev/.*|/proc|/proc.*|/sys|/sys/.*|${RC_SVCDIR}" x= fs= | ||||
| 	m="$m|/bin|/sbin|/lib|/libexec" | ||||
| 	# RC_NO_UMOUNTS is an env var that can be set by plugins | ||||
| 	local IFS="$IFS:" | ||||
| 	for x in $no_umounts $RC_NO_UMOUNTS; do | ||||
| @@ -40,10 +34,7 @@ start() | ||||
| 	[ -n "$fs" ] && fs="^($fs)$" | ||||
| 	do_unmount "umount -r" \ | ||||
| 		--skip-point-regex "$m" \ | ||||
| 		"${fs:+--skip-fstype-regex}" $fs --nonetdev | ||||
| 	ret=$? | ||||
|  | ||||
| 		${fs:+--skip-fstype-regex} $fs --nonetdev | ||||
| 	eoutdent | ||||
|  | ||||
| 	eend $ret | ||||
| 	eend $? | ||||
| } | ||||
|   | ||||
| @@ -54,7 +54,7 @@ start() | ||||
| 		local ttyv= | ||||
| 		for ttyv in /dev/ttyv*; do | ||||
| 			vidcontrol < "$ttyv" -m on | ||||
| 			: $(( retval += $? )) | ||||
| 			: $((retval+= $?)) | ||||
| 		done | ||||
| 	fi | ||||
|  | ||||
|   | ||||
| @@ -12,7 +12,7 @@ depend() | ||||
|  | ||||
| start() | ||||
| { | ||||
| 	if [ -L /etc/mtab ] | ||||
| 	if [ -l /etc/mtab ] | ||||
| 	then | ||||
| 		einfo "Skipping mtab update (mtab is a symbolic link)" | ||||
| 		return 0 | ||||
|   | ||||
							
								
								
									
										129
									
								
								init.d/net.lo.in
									
									
									
									
									
								
							
							
						
						
									
										129
									
								
								init.d/net.lo.in
									
									
									
									
									
								
							| @@ -19,18 +19,13 @@ depend() | ||||
| 	local IFVAR=$(shell_var "${IFACE}") | ||||
|  | ||||
| 	need localmount | ||||
| 	if [ "$RC_UNAME" = Linux -a "$IFACE" != lo ]; then | ||||
| 		need sysfs | ||||
| 	fi | ||||
| 	after bootmisc | ||||
| 	provide net | ||||
| 	keyword -jail -prefix -vserver | ||||
|  | ||||
| 	case "${IFACE}" in | ||||
| 		lo|lo0) ;; | ||||
| 		*) | ||||
| 			after net.lo net.lo0 dbus | ||||
| 			provide net | ||||
| 			;; | ||||
| 		lo|lo0);; | ||||
| 		*) after net.lo net.lo0;; | ||||
| 	esac | ||||
|  | ||||
| 	if [ "$(command -v "depend_${IFVAR}")" = "depend_${IFVAR}" ]; then | ||||
| @@ -42,23 +37,11 @@ depend() | ||||
| 		eval prov=\$rc_${dep}_${IFVAR} | ||||
| 		if [ -n "${prov}" ]; then | ||||
| 			${dep} ${prov} | ||||
| 			ewarn "rc_${dep}_${IFVAR} is deprecated." | ||||
| 			ewarn "Please use rc_net_${IFVAR}_${dep} instead." | ||||
| 		fi | ||||
| 	done | ||||
| } | ||||
|  | ||||
| # Support bash arrays - sigh | ||||
| _array_helper() | ||||
| { | ||||
| 	local _a= | ||||
|  | ||||
| 	eval _a=\$$1 | ||||
| 	_a=$(echo "${_a}" | sed -e 's:^[[:space:]]*::' -e 's:[[:space:]]*$::' -e '/^$/d' -e 's:[[:space:]]\{1,\}: :g') | ||||
|  | ||||
| 	[ -n "${_a}" ] && printf "%s\n" "${_a}" | ||||
| } | ||||
|  | ||||
| _get_array() | ||||
| { | ||||
| 	local _a= | ||||
| @@ -77,7 +60,10 @@ _get_array() | ||||
| 		esac | ||||
| 	fi | ||||
|  | ||||
| 	_array_helper $1 | ||||
| 	eval _a=\$$1 | ||||
| 	printf "%s" "${_a}" | ||||
| 	printf "\n" | ||||
| 	[ -n "${_a}" ] | ||||
| } | ||||
|  | ||||
| # Flatten bash arrays to simple strings | ||||
| @@ -98,7 +84,10 @@ _flatten_array() | ||||
| 		esac | ||||
| 	fi | ||||
|  | ||||
| 	_array_helper $1 | ||||
| 	eval _a=\$$1 | ||||
| 	printf "%s" "${_a}" | ||||
| 	printf "\n" | ||||
| 	[ -n "${_a}" ] | ||||
| } | ||||
|  | ||||
| _wait_for_carrier() | ||||
| @@ -108,7 +97,7 @@ _wait_for_carrier() | ||||
| 	_has_carrier  && return 0 | ||||
|  | ||||
| 	eval timeout=\$carrier_timeout_${IFVAR} | ||||
| 	timeout=${timeout:-${carrier_timeout:-0}} | ||||
| 	timeout=${timeout:-${carrier_timeout:-5}} | ||||
|  | ||||
| 	# Incase users don't want this nice feature ... | ||||
| 	[ ${timeout} -le 0 ] && return 0 | ||||
| @@ -122,7 +111,7 @@ _wait_for_carrier() | ||||
| 			eend 0 | ||||
| 			return 0 | ||||
| 		fi | ||||
| 		: $(( timeout -= 1 )) | ||||
| 		timeout=$((${timeout} - 1)) | ||||
| 		[ "${efunc}" = "einfon" ] && printf "." | ||||
| 	done | ||||
|  | ||||
| @@ -151,9 +140,9 @@ _netmask2cidr() | ||||
| 	local i= len= | ||||
| 	local IFS=. | ||||
| 	for i in $1; do | ||||
| 		while [ ${i} -ne 0 ]; do | ||||
| 			: $(( len += i % 2 )) | ||||
| 			: $(( i >>= 1 )) | ||||
| 		while [ ${i} != "0" ]; do | ||||
| 			len=$((${len} + ${i} % 2)) | ||||
| 			i=$((${i} >> 1)) | ||||
| 		done | ||||
| 	done | ||||
|  | ||||
| @@ -176,36 +165,6 @@ _configure_variables() | ||||
| 	done | ||||
| } | ||||
|  | ||||
| _which() | ||||
| { | ||||
| 	local i OIFS | ||||
| 	# Empty | ||||
| 	[ -z "$1" ] && return | ||||
| 	# check paths | ||||
| 	OIFS="$IFS" | ||||
| 	IFS=: | ||||
| 	for i in $PATH ; do | ||||
| 		[ -x $i/$1 ] && echo $i/$1 && break | ||||
| 	done | ||||
| 	IFS=$OIFS | ||||
| } | ||||
|  | ||||
| # Like _which, but also consider shell builtins, and multiple alternatives | ||||
| _program_available() | ||||
| { | ||||
| 	[ -z "$1" ] && return 0 | ||||
| 	local x= | ||||
| 	for x; do | ||||
| 		case "${x}" in | ||||
| 			/*) [ -x "${x}" ] && break;; | ||||
| 			*) type "${x}" >/dev/null 2>&1 && break;; | ||||
| 		esac | ||||
| 		unset x | ||||
| 	done | ||||
| 	[ -n "${x}" ] && echo $x && return 0 | ||||
| 	return 1 | ||||
| } | ||||
|  | ||||
| _show_address() | ||||
| { | ||||
| 	einfo "received address $(_get_inet_address "${IFACE}")" | ||||
| @@ -314,7 +273,7 @@ _gen_module_list() | ||||
| 		echo "module_${i}_program_start='${PROGRAM_START}'" >> "${MODULESLIST}" | ||||
| 		echo "module_${i}_program_stop='${PROGRAM_STOP}'" >> "${MODULESLIST}" | ||||
| 		echo "module_${i}_provide='${PROVIDE}'" >> "${MODULESLIST}" | ||||
| 		: $(( i += 1 )) | ||||
| 		i=$((${i} + 1)) | ||||
| 	done | ||||
| 	echo "module_${i}=" >> "${MODULESLIST}" | ||||
| 	) | ||||
| @@ -341,17 +300,18 @@ _load_modules() | ||||
|  | ||||
| 	local i=-1 x= mod= f= provides= | ||||
| 	while true; do | ||||
| 		: $(( i += 1 )) | ||||
| 		i=$((${i} + 1)) | ||||
| 		eval mod=\$module_${i} | ||||
| 		[ -z "${mod}" ] && break | ||||
| 		[ -e "${MODULESDIR}/${mod}.sh" ] || continue | ||||
|  | ||||
| 		eval set -- \$module_${i}_program | ||||
| 		if [ -n "$1" ]; then | ||||
| 			if ! _program_available "$@" >/dev/null; then | ||||
| 				vewarn "Skipping module $mod due to missing program: $@" | ||||
| 				continue | ||||
| 			fi | ||||
| 			x= | ||||
| 			for x; do | ||||
| 				[ -x "${x}" ] && break | ||||
| 			done | ||||
| 			[ -x "${x}" ] || continue | ||||
| 		fi | ||||
| 		if ${starting}; then | ||||
| 			eval set -- \$module_${i}_program_start | ||||
| @@ -359,10 +319,15 @@ _load_modules() | ||||
| 			eval set -- \$module_${i}_program_stop | ||||
| 		fi | ||||
| 		if [ -n "$1" ]; then | ||||
| 			if ! _program_available "$@" >/dev/null; then | ||||
| 				vewarn "Skipping module $mod due to missing program: $@" | ||||
| 				continue | ||||
| 			fi | ||||
| 			x= | ||||
| 			for x; do | ||||
| 				case "${x}" in | ||||
| 					/*) [ -x "${x}" ] && break;; | ||||
| 					*) type "${x}" >/dev/null 2>&1 && break;; | ||||
| 				esac | ||||
| 				unset x | ||||
| 			done | ||||
| 			[ -n "${x}" ] || continue | ||||
| 		fi | ||||
|  | ||||
| 		eval provides=\$module_${i}_provide | ||||
| @@ -438,18 +403,16 @@ _load_config() | ||||
| 	set -- ${config} | ||||
|  | ||||
| 	# We should support a space separated array for cidr configs | ||||
| 	# But only as long as they do not contain other parameters for the address | ||||
| 	if [ $# = 1 ]; then | ||||
| 		unset IFS | ||||
| 		set -- ${config} | ||||
| 		# Of course, we may have a single address added old style. | ||||
| 		# If the NEXT argument is a v4 or v6 address, it's the next config. | ||||
| 		# Otherwise, it's arguments to the first config... | ||||
| 		if [ "${2#*.*}" = "${2}" -a "${2#*:*}" = "${2}" ]; then | ||||
| 			# Not an IPv4/IPv6 | ||||
| 			local IFS="$__IFS" | ||||
| 			set -- ${config} | ||||
| 		fi | ||||
| 		case "$2" in | ||||
| 			netmask|broadcast|brd|brd+|peer|pointopoint) | ||||
| 				local IFS="$__IFS" | ||||
| 				set -- ${config} | ||||
| 				;; | ||||
| 		esac | ||||
| 	fi | ||||
|  | ||||
| 	# Ensure that loopback has the correct address | ||||
| @@ -471,7 +434,7 @@ _load_config() | ||||
| 	# so modules can influence it | ||||
| 	for cmd; do | ||||
| 		eval config_${config_index}="'${cmd}'" | ||||
| 		: $(( config_index += 1 )) | ||||
| 		config_index=$((${config_index} + 1)) | ||||
| 	done | ||||
| 	# Terminate the list | ||||
| 	eval config_${config_index}= | ||||
| @@ -479,7 +442,7 @@ _load_config() | ||||
| 	config_index=0 | ||||
| 	for cmd in ${fallback}; do | ||||
| 		eval fallback_${config_index}="'${cmd}'" | ||||
| 		: $(( config_index += 1 )) | ||||
| 		config_index=$((${config_index} + 1)) | ||||
| 	done | ||||
| 	# Terminate the list | ||||
| 	eval fallback_${config_index}= | ||||
| @@ -521,9 +484,7 @@ start() | ||||
| { | ||||
| 	local IFACE=${RC_SVCNAME#*.} oneworked=false fallback=false module= | ||||
| 	local IFVAR=$(shell_var "${IFACE}") cmd= our_metric= | ||||
| 	local metric=0 _up_before_preup | ||||
| 	eval _up_before_preup="\$up_before_preup_${IFVAR}" | ||||
| 	[ -z "${_up_before_preup}" ] && _up_before_preup=$up_before_preup | ||||
| 	local metric=0 | ||||
|  | ||||
| 	einfo "Bringing up interface ${IFACE}" | ||||
| 	eindent | ||||
| @@ -537,7 +498,7 @@ start() | ||||
| 	# available in preup and afterwards incase the user inadvertently | ||||
| 	# brings it down | ||||
| 	if [ "$(command -v preup)" = "preup" ]; then | ||||
| 		yesno "${_up_before_preup:-yes}" && _up 2>/dev/null | ||||
| 		_up 2>/dev/null | ||||
| 		ebegin "Running preup" | ||||
| 		eindent | ||||
| 		preup || return 1 | ||||
| @@ -576,7 +537,7 @@ start() | ||||
| 	if [ -n "${our_metric}" ]; then | ||||
| 		metric=${our_metric} | ||||
| 	elif [ "${IFACE}" != "lo" -a "${IFACE}" != "lo0" ]; then | ||||
| 		: $(( metric += $(_ifindex) )) | ||||
| 		metric=$((${metric} + $(_ifindex))) | ||||
| 	fi | ||||
|  | ||||
| 	while true; do | ||||
| @@ -616,11 +577,11 @@ start() | ||||
| 				eindent | ||||
| 				eval config_${config_index}=\$config | ||||
| 				unset fallback_${config_index} | ||||
| 				: $(( config_index -= 1 )) | ||||
| 				config_index=$((${config_index} - 1)) | ||||
| 			fi | ||||
| 		fi | ||||
| 		eoutdent | ||||
| 		: $(( config_index += 1 )) | ||||
| 		config_index=$((${config_index} + 1)) | ||||
| 	done | ||||
|  | ||||
| 	if ! ${oneworked}; then | ||||
|   | ||||
| @@ -2,26 +2,62 @@ | ||||
| # Copyright (c) 2007-2009 Roy Marples <roy@marples.name> | ||||
| # Released under the 2-clause BSD license. | ||||
|  | ||||
| description="Mounts network shares, other than NFS, according to /etc/fstab." | ||||
| # We skip all NFS shares in this script because they require extra | ||||
| # daemons to be running on the client in order to work correctly. | ||||
| # It is best to allow nfs-utils to handle all nfs shares. | ||||
| description="Mounts network shares according to /etc/fstab." | ||||
|  | ||||
| need_portmap() | ||||
| { | ||||
| 	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() | ||||
| { | ||||
| 	# 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 | ||||
| 	need net $pmap | ||||
| 	use afc-client amd autofs openvpn | ||||
| 	use dns | ||||
| 	use dns nfs nfsmount portmap rpcbind rpc.statd rpc.lockd | ||||
| 	keyword -jail -prefix -vserver | ||||
| } | ||||
|  | ||||
| start() | ||||
| { | ||||
| 	local myneed= myuse= pmap="portmap" nfsmounts= | ||||
| 	[ -x @SYSCONFDIR@/init.d/rpcbind ] && pmap="rpcbind" | ||||
|  | ||||
| 	local x= fs= rc= | ||||
| 	for x in $net_fs_list $extra_net_fs_list; do | ||||
| 		case "$x" in | ||||
| 			nfs|nfs4) | ||||
| 			continue | ||||
| 			# If the nfsmount script took care of the nfs | ||||
| 			# 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 | ||||
| 		fs="$fs${fs:+,}$x" | ||||
| @@ -46,14 +82,7 @@ stop() | ||||
| 	. "$RC_LIBEXECDIR"/sh/rc-mount.sh | ||||
|  | ||||
| 	for x in $net_fs_list $extra_net_fs_list; do | ||||
| 		case "$x" in | ||||
| 			nfs|nfs4) | ||||
| 				continue | ||||
| 				;; | ||||
| 			*) | ||||
| 				fs="$fs${fs:+,}$x" | ||||
| 				;; | ||||
| 		esac | ||||
| 		fs="$fs${fs:+,}$x" | ||||
| 	done | ||||
| 	if [ -n "$fs" ]; then | ||||
| 		umount -at $fs || eerror "Failed to simply unmount filesystems" | ||||
| @@ -62,14 +91,7 @@ stop() | ||||
| 	eindent | ||||
| 	fs= | ||||
| 	for x in $net_fs_list $extra_net_fs_list; do | ||||
| 		case "$x" in | ||||
| 			nfs|nfs4) | ||||
| 				continue | ||||
| 				;; | ||||
| 			*) | ||||
| 				fs="$fs${fs:+|}$x" | ||||
| 				;; | ||||
| 		esac | ||||
| 		fs="$fs${fs:+|}$x" | ||||
| 	done | ||||
| 	[ -n "$fs" ] && fs="^($fs)$" | ||||
| 	do_unmount umount ${fs:+--fstype-regex} $fs --netdev | ||||
|   | ||||
| @@ -12,9 +12,7 @@ depend() | ||||
| { | ||||
| 	need localmount | ||||
| 	after bootmisc | ||||
| 	if [ -n "$(interfaces)" ]; then | ||||
| 		provide net | ||||
| 	fi | ||||
| 	provide net | ||||
| 	keyword -jail -prefix -vserver | ||||
| } | ||||
|  | ||||
| @@ -283,7 +281,7 @@ start() | ||||
| 		tentative || break | ||||
| 		[ $r = 5 ] && vebegin "Waiting for tentative addresses" | ||||
| 		sleep 1 | ||||
| 		: $(( r -= 1 )) | ||||
| 		r=$(($r - 1)) | ||||
| 	done | ||||
| 	if [ $r != 5 ]; then | ||||
| 		[ $r != 0 ] | ||||
|   | ||||
| @@ -21,7 +21,7 @@ _setleds() | ||||
|  | ||||
| 	while [ $i -le $ttyn ]; do | ||||
| 		setleds -D "$1"num < $dev$i || retval=1 | ||||
| 		: $(( i += 1 )) | ||||
| 		i=$(($i + 1)) | ||||
| 	done | ||||
|  | ||||
| 	return $retval | ||||
|   | ||||
| @@ -20,29 +20,6 @@ start() | ||||
|  | ||||
| 	[ -e /proc/filesystems ] || return 0 | ||||
|  | ||||
| 	# Setup Kernel Support for miscellaneous Binary Formats | ||||
| 	if [ -d /proc/sys/fs/binfmt_misc -a ! -e /proc/sys/fs/binfmt_misc/register ]; then | ||||
| 		if grep -qs binfmt_misc /proc/filesystems; then | ||||
| 			ebegin "Mounting misc binary format filesystem" | ||||
| 			mount -t binfmt_misc -o nodev,noexec,nosuid \ | ||||
| 				binfmt_misc /proc/sys/fs/binfmt_misc | ||||
| 			if eend $? ; then | ||||
| 				local fmts | ||||
| 				ebegin "Loading custom binary format handlers" | ||||
| 				fmts=$(grep -hsv -e '^[#;]' -e '^[[:space:]]*$' \ | ||||
| 					/run/binfmt.d/*.conf \ | ||||
| 					@SYSCONFDIR@/binfmt.d/*.conf \ | ||||
| 					""/usr/lib/binfmt.d/*.conf) | ||||
| 				if [ -n "${fmts}" ]; then | ||||
| 					echo "${fmts}" > /proc/sys/fs/binfmt_misc/register | ||||
| 				fi | ||||
| 				eend $? | ||||
| 			fi | ||||
| 		fi | ||||
| 	fi | ||||
|  | ||||
| 	[ "$RC_SYS" = "OPENVZ" ] && return 0 | ||||
|  | ||||
| 	# Check what USB fs the kernel support.  Currently | ||||
| 	# 2.5+ kernels, and later 2.4 kernels have 'usbfs', | ||||
| 	# while older kernels have 'usbdevfs'. | ||||
| @@ -60,6 +37,27 @@ start() | ||||
| 		fi | ||||
| 	fi | ||||
|  | ||||
| 	# Setup Kernel Support for the NFS daemon status | ||||
| 	if [ -d /proc/fs/nfsd ] && ! mountinfo -q /proc/fs/nfsd; then | ||||
| 		if grep -qs nfsd /proc/filesystems; then | ||||
| 			ebegin "Mounting NFS filesystem" | ||||
| 			mount -t nfsd -o nodev,noexec,nosuid \ | ||||
| 				nfsd /proc/fs/nfsd | ||||
| 			eend $? | ||||
| 		fi | ||||
| 	fi | ||||
|  | ||||
| 	# Setup Kernel Support for miscellaneous Binary Formats | ||||
| 	if [ -d /proc/sys/fs/binfmt_misc ] \ | ||||
| 		&& ! mountinfo -q /proc/sys/fs/binfmt_misc; then | ||||
| 		if grep -qs binfmt_misc /proc/filesystems; then | ||||
| 			ebegin "Mounting misc binary format filesystem" | ||||
| 			mount -t binfmt_misc -o nodev,noexec,nosuid \ | ||||
| 				binfmt_misc /proc/sys/fs/binfmt_misc | ||||
| 			eend $? | ||||
| 		fi | ||||
| 	fi | ||||
|  | ||||
| 	# Setup Kernel Support for SELinux | ||||
| 	if [ -d /selinux ] && ! mountinfo -q /selinux; then | ||||
| 		if grep -qs selinuxfs /proc/filesystems; then | ||||
|   | ||||
| @@ -33,7 +33,7 @@ start() | ||||
|  | ||||
| 		# Good to go! | ||||
| 		"$svc" start && started="$started $svc" | ||||
| 		: $(( retval += $? )) | ||||
| 		: $((retval += $?)) | ||||
| 	done | ||||
| 	service_set_value started "$started" | ||||
| 	eend $retval "Some local rc services failed to start" | ||||
| @@ -46,7 +46,7 @@ stop() | ||||
| 	local svc= retval=0 | ||||
| 	for svc in $(rcorder $(service_get_value started) 2>/dev/null | sort -r); do | ||||
| 		"$svc" stop | ||||
| 		: $(( retval += $? )) | ||||
| 		: $((retval += $?)) | ||||
| 	done | ||||
| 	eend $retval "Some local rc services failed to stop" | ||||
| 	return 0 | ||||
|   | ||||
| @@ -13,41 +13,20 @@ depend() | ||||
| start() | ||||
| { | ||||
| 	case ",$(fstabinfo -o /)," in | ||||
| 		*,ro,*) | ||||
| 		;; | ||||
| 		*) | ||||
| 			# Check if the rootfs isn't already writable. | ||||
| 			if checkpath -W /; then | ||||
| 				rm -f /fastboot /forcefsck | ||||
| 			else | ||||
| 				ebegin "Remounting root filesystem read/write" | ||||
| 				case "$RC_UNAME" in | ||||
| 					Linux) | ||||
| 						mount -n -o remount,rw / | ||||
| 					;; | ||||
| 					*) | ||||
| 						mount -u -o rw / | ||||
| 					;; | ||||
| 				esac | ||||
| 				eend $? "Root filesystem could not be mounted read/write" | ||||
| 				if [ $?  -eq 0 ]; then | ||||
| 					rm -f /fastboot /forcefsck | ||||
| 				fi | ||||
| 			fi | ||||
| 		;; | ||||
| 	*,ro,*) return 0;; | ||||
| 	esac | ||||
|  | ||||
| 	ebegin "Remounting filesystems" | ||||
| 	local mountpoint | ||||
| 	for mountpoint in $(fstabinfo); do | ||||
| 		case "${mountpoint}" in | ||||
| 			/) | ||||
| 			;; | ||||
| 			/*) | ||||
| 				mountinfo -q "${mountpoint}" && \ | ||||
| 					fstabinfo --remount "${mountpoint}" | ||||
| 			;; | ||||
| 		esac | ||||
| 	done | ||||
| 	eend 0 | ||||
| 	if echo 2>/dev/null >/.test.$$; then | ||||
| 		rm -f /.test.$$ /fastboot /forcefsck | ||||
| 		return 0 | ||||
| 	fi | ||||
|  | ||||
| 	ebegin "Remounting root filesystem read/write" | ||||
| 	case "$RC_UNAME" in | ||||
| 		Linux)	mount -n -o remount,rw /;; | ||||
| 		*)	mount -u -o rw /;; | ||||
| 	esac | ||||
| 	if eend $? "Root filesystem could not be mounted read/write"; then | ||||
| 		rm -f /fastboot /forcefsck | ||||
| 	fi | ||||
| } | ||||
|   | ||||
| @@ -13,14 +13,6 @@ start() | ||||
| 			return 1 | ||||
| 		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" | ||||
| 	local rc= | ||||
| 	if [ ! -d "$RC_LIBEXECDIR"/cache ]; then | ||||
|   | ||||
| @@ -6,8 +6,7 @@ description="Saves a kernel dump." | ||||
|  | ||||
| depend() | ||||
| { | ||||
| 	need dumpon localmount | ||||
| 	before encswap | ||||
| 	need localmount | ||||
| 	keyword -jail -prefix | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|  | ||||
| depend() | ||||
| { | ||||
| 	before localmount | ||||
| 	need localmount | ||||
| 	keyword -jail -openvz -prefix -vserver -lxc | ||||
| } | ||||
|  | ||||
| @@ -12,7 +12,6 @@ start() | ||||
| { | ||||
| 	ebegin "Activating swap devices" | ||||
| 	case "$RC_UNAME" in | ||||
| 		Linux)		swapon -a -e >/dev/null;; | ||||
| 		NetBSD|OpenBSD) swapctl -A -t noblk >/dev/null;; | ||||
| 		*)		swapon -a >/dev/null;; | ||||
| 	esac | ||||
| @@ -24,7 +23,7 @@ stop() | ||||
| 	ebegin "Deactivating swap devices" | ||||
|  | ||||
| 	# Try to unmount all tmpfs filesystems not in use, else a deadlock may | ||||
| 	# occur. As $RC_SVCDIR may also be tmpfs we cd to it to lock it | ||||
| 	# occure. As $RC_SVCDIR may also be tmpfs we cd to it to lock it | ||||
| 	cd "$RC_SVCDIR" | ||||
| 	umount -a -t tmpfs 2>/dev/null | ||||
|  | ||||
|   | ||||
| @@ -1,47 +0,0 @@ | ||||
| #!@PREFIX@/sbin/runscript | ||||
| # Copyright (c) 2007-2009 Roy Marples <roy@marples.name> | ||||
| # Released under the 2-clause BSD license. | ||||
|  | ||||
| depend() | ||||
| { | ||||
| 	need localmount | ||||
| 	keyword -jail -openvz -prefix -vserver -lxc | ||||
| } | ||||
|  | ||||
| start() | ||||
| { | ||||
| 	ebegin "Activating additional swap space" | ||||
| 	case "$RC_UNAME" in | ||||
| 		NetBSD|OpenBSD) swapctl -A -t noblk >/dev/null;; | ||||
| 		*)		swapon -a >/dev/null;; | ||||
| 	esac | ||||
| 	eend 0 # If swapon has nothing todo it errors, so always return 0 | ||||
| } | ||||
|  | ||||
| stop() | ||||
| { | ||||
| 	ebegin "Deactivating additional swap space" | ||||
|  | ||||
| 	# Try to unmount all tmpfs filesystems not in use, else a deadlock may | ||||
| 	# occur. As $RC_SVCDIR may also be tmpfs we cd to it to lock it | ||||
| 	# fixme: Do we need this here since we are only unmounting swap files | ||||
| 	# and loopback swap? | ||||
| 	cd "$RC_SVCDIR" | ||||
| 	umount -a -t tmpfs 2>/dev/null | ||||
|  | ||||
| 	case "$RC_UNAME" in | ||||
| 		Linux) | ||||
| 			if [ -e /proc/swaps ]; then | ||||
| 				while read filename type rest; do | ||||
| 					case "$type" in | ||||
| 						file) swapoff $filename >/dev/null;; | ||||
| 					esac | ||||
| 					case "$filename" in | ||||
| 						/dev/loop*) swapoff $filename >/dev/null;; | ||||
| 					esac | ||||
| 				done < /proc/swaps | ||||
| 			fi | ||||
| 			;; | ||||
| 	esac | ||||
| 	eend 0 | ||||
| } | ||||
| @@ -14,7 +14,7 @@ start() | ||||
| 	local retval=0 var= comments= conf= | ||||
| 	ebegin "Configuring kernel parameters" | ||||
| 	eindent | ||||
| 	for conf in @SYSCONFDIR@/sysctl.conf @SYSCONFDIR@/sysctl.d/*.conf; do | ||||
| 	for conf in /etc/sysctl.d/*.conf /etc/sysctl.conf; do | ||||
| 		if [ -r "$conf" ]; then | ||||
| 			vebegin "applying $conf" | ||||
| 			while read var comments; do | ||||
|   | ||||
| @@ -5,7 +5,7 @@ | ||||
| depend() | ||||
| { | ||||
| 	before bootmisc logger | ||||
| 	keyword -lxc -prefix -vserver | ||||
| 	keyword -prefix -vserver | ||||
| } | ||||
|  | ||||
| start() | ||||
| @@ -15,12 +15,12 @@ start() | ||||
| 	ebegin "Configuring kernel parameters" | ||||
| 	eindent | ||||
|  | ||||
| 	for conf in @SYSCONFDIR@/sysctl.conf @SYSCONFDIR@/sysctl.d/*.conf; do | ||||
| 	for conf in /etc/sysctl.d/*.conf /etc/sysctl.conf; do | ||||
| 		if [ -r "$conf" ]; then | ||||
| 			vebegin "applying $conf" | ||||
| 			if ! err=$(sysctl -p "$conf" 2>&1 >/dev/null) ; then | ||||
| 			if ! err=$(sysctl -q -p "$conf" 2>&1) ; then | ||||
| 				errs="${errs} ${err}" | ||||
| 				sysctl -e -p "${conf}" >/dev/null | ||||
| 				sysctl -q -e -p "${conf}" | ||||
| 			fi | ||||
| 			veend $? || retval=1 | ||||
| 		fi | ||||
|   | ||||
| @@ -6,7 +6,7 @@ description="Mount the sys filesystem." | ||||
|  | ||||
| depend() | ||||
| { | ||||
| 	keyword -lxc -prefix -vserver | ||||
| 	keyword -prefix -vserver | ||||
| } | ||||
|  | ||||
| mount_sys() | ||||
| @@ -50,48 +50,6 @@ mount_misc() | ||||
| 			eend $? | ||||
| 		fi | ||||
| 	fi | ||||
|  | ||||
| 	# Setup Kernel Support for configfs | ||||
| 	if [ -d /sys/kernel/config ] && ! mountinfo -q /sys/kernel/config; then | ||||
| 		if grep -qs configfs /proc/filesystems; then | ||||
| 			ebegin "Mounting config filesystem" | ||||
| 			mount -n -t configfs -o  nodev,noexec,nosuid \ | ||||
| 				configfs /sys/kernel/config | ||||
| 			eend $? | ||||
| 		fi | ||||
| 	fi | ||||
|  | ||||
| 	# set up kernel support for cgroups | ||||
| 	if [ -d /sys/fs/cgroup ] && ! mountinfo -q /sys/fs/cgroup; then | ||||
| 		if grep -qs cgroup /proc/filesystems; then | ||||
| 			ebegin "Mounting cgroup filesystem" | ||||
| 			local opts="nodev,noexec,nosuid,mode=755,size=${rc_cgroupsize:-10m}" | ||||
| 			mount -n -t tmpfs -o ${opts} cgroup_root /sys/fs/cgroup | ||||
| 			eend $? | ||||
| 		fi | ||||
| 	fi | ||||
| } | ||||
|  | ||||
| mount_cgroups() | ||||
| { | ||||
| 		mountinfo -q /sys/fs/cgroup || return 0 | ||||
|  | ||||
| 	local agent="@LIBEXECDIR@/sh/cgroup-release-agent.sh" | ||||
| 	mkdir /sys/fs/cgroup/openrc | ||||
| 	mount -n -t cgroup \ | ||||
| 		-o none,nodev,noexec,nosuid,name=openrc,release_agent="$agent" \ | ||||
| 		openrc /sys/fs/cgroup/openrc | ||||
| 	echo 1 > /sys/fs/cgroup/openrc/notify_on_release | ||||
|  | ||||
| 	yesno ${rc_controller_cgroups:-YES} && [ -e /proc/cgroups ] || return 0 | ||||
| 	while read name hier groups enabled rest; do | ||||
| 		case "${enabled}" in | ||||
| 			1)	mkdir /sys/fs/cgroup/${name} | ||||
| 				mount -n -t cgroup -o nodev,noexec,nosuid,${name} \ | ||||
| 					${name} /sys/fs/cgroup/${name} | ||||
| 				;; | ||||
| 		esac | ||||
| 	done < /proc/cgroups | ||||
| } | ||||
|  | ||||
| start() | ||||
| @@ -101,11 +59,6 @@ start() | ||||
| 	retval=$? | ||||
| 	if [ $retval -eq 0 ]; then | ||||
| 		mount_misc | ||||
| 		retval=$? | ||||
| 	fi | ||||
| 	if [ $retval -eq 0 ]; then | ||||
| 		mount_cgroups | ||||
| 		retval=$? | ||||
| 	fi | ||||
| 	return $retval | ||||
| } | ||||
|   | ||||
| @@ -9,8 +9,8 @@ ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}} | ||||
|  | ||||
| depend() | ||||
| { | ||||
| 	keyword -lxc -openvz -prefix -uml -vserver -xenu | ||||
| 	use root | ||||
| 	keyword -openvz -prefix -uml -vserver -xenu | ||||
| 	need root | ||||
| 	after bootmisc | ||||
| } | ||||
|  | ||||
| @@ -31,11 +31,11 @@ start() | ||||
| 	n=1 | ||||
| 	while [ ${n} -le "$ttyn" ]; do | ||||
| 		printf "\033%s" "$termencoding" >$ttydev$n | ||||
| 		: $(( n += 1 )) | ||||
| 		n=$(($n + 1)) | ||||
| 	done | ||||
|  | ||||
| 	# Save the encoding for use immediately at boot | ||||
| 	if checkpath -W "$RC_LIBEXECDIR"; then | ||||
| 	if [ -w "$RC_LIBEXECDIR" ]; then | ||||
| 		mkdir -p "$RC_LIBEXECDIR"/console | ||||
| 		if yesno ${unicode:-${UNICODE}}; then | ||||
| 			echo "" > "$RC_LIBEXECDIR"/console/unicode | ||||
|   | ||||
| @@ -1,18 +0,0 @@ | ||||
| #!@PREFIX@/sbin/runscript | ||||
| # Copyright 1999-2012 Gentoo Foundation | ||||
| # Released under the 2-clause BSD license. | ||||
|  | ||||
| description="set up tmpfiles.d entries" | ||||
|  | ||||
| depend() | ||||
| { | ||||
| 	need localmount | ||||
| } | ||||
|  | ||||
| start() | ||||
| { | ||||
| 	ebegin "setting up tmpfiles.d entries" | ||||
| 	@LIBEXECDIR@/sh/tmpfiles.sh --create --remove ${tmpfiles_opts} | ||||
| 	eend $? | ||||
| 	return 0 | ||||
| } | ||||
| @@ -2,13 +2,13 @@ | ||||
| # Copyright (c) 2007-2009 Roy Marples <roy@marples.name> | ||||
| # Released under the 2-clause BSD license. | ||||
|  | ||||
| : ${urandom_seed:=${URANDOM_SEED:-/var/lib/misc/random-seed}} | ||||
| : ${urandom_seed:=${URANDOM_SEED:-/var/run/random-seed}} | ||||
| description="Initializes the random number generator." | ||||
|  | ||||
| depend() | ||||
| { | ||||
| 	need localmount | ||||
| 	keyword -jail -lxc -openvz -prefix | ||||
| 	keyword -jail -openvz -prefix | ||||
| } | ||||
|  | ||||
| save_seed() | ||||
| @@ -16,7 +16,7 @@ save_seed() | ||||
| 	local psz=1 | ||||
|  | ||||
| 	if [ -e /proc/sys/kernel/random/poolsize ]; then | ||||
| 		: $(( psz = $(cat /proc/sys/kernel/random/poolsize) / 4096 )) | ||||
| 		psz=$(($(cat /proc/sys/kernel/random/poolsize) / 4096)) | ||||
| 	fi | ||||
|  | ||||
| 	(	# sub shell to prevent umask pollution | ||||
|   | ||||
| @@ -27,7 +27,7 @@ install: | ||||
| 	for man in ${MAN3}; do \ | ||||
| 		${INSTALL} -m ${MANMODE} "$$man" ${DESTDIR}/${MANDIR}/man3 || exit $$?; \ | ||||
| 		${MAKE_LINKS} \ | ||||
| 	done | ||||
| 	done	 | ||||
| 	${INSTALL} -d ${DESTDIR}/${MANDIR}/man8 | ||||
| 	for man in ${MAN8}; do \ | ||||
| 		${INSTALL} -m ${MANMODE} "$$man" ${DESTDIR}/${MANDIR}/man8 || exit $$?; \ | ||||
|   | ||||
| @@ -115,7 +115,7 @@ to true. | ||||
| These functions are designed to output a whole line, so they also | ||||
| append a newline to the string. To stop this behaviour, you can use the | ||||
| functions | ||||
| .Fn einfon , | ||||
| .Fn einfon ,  | ||||
| .Fn ewarnn , | ||||
| .Fn eerrorn , | ||||
| .Fn einfovn , | ||||
| @@ -149,7 +149,7 @@ does the same as | ||||
| .Fn eend | ||||
| but prints | ||||
| .Fa msg | ||||
| instead of ok or !! in the color | ||||
| instead of ok or !! in the color  | ||||
| .Fa color | ||||
| at the column | ||||
| .Fa col . | ||||
|   | ||||
| @@ -26,7 +26,7 @@ | ||||
| .Os OpenRC | ||||
| .Sh NAME | ||||
| .Nm rc-service | ||||
| .Nd locate and run an OpenRC service with the given arguments | ||||
| .Nd locate and run an OpenRC service with the given arguments  | ||||
| .Sh SYNOPSIS | ||||
| .Nm | ||||
| .Op Fl i , -ifexists | ||||
| @@ -41,7 +41,7 @@ | ||||
| .Fl r , -resolve | ||||
| .Ar service | ||||
| .Sh DESCRIPTION | ||||
| Service scripts could be in different places on different systems. | ||||
| Service scripts could be in different places on different systems.  | ||||
| .Nm | ||||
| locates the specified service and runs it with the given arguments. | ||||
| If | ||||
|   | ||||
| @@ -33,8 +33,8 @@ | ||||
| .Op Ar runlevel | ||||
| .Sh DESCRIPTION | ||||
| .Nm | ||||
| gathers and displays information about the status of services | ||||
| in different runlevels.  The default behavior is to show information | ||||
| gathers and displays information about the status of services  | ||||
| in different runlevels.  The default behavior is to show information  | ||||
| about the current runlevel and any unassigned services that are not stopped, | ||||
| but any runlevel can be quickly examined. | ||||
| .Pp | ||||
| @@ -46,7 +46,7 @@ Show all runlevels and their services. | ||||
| List all services that have crashed. | ||||
| .It Fl l , -list | ||||
| List all defined runlevels. | ||||
| .It Fl r , -runlevel | ||||
| .It fl r , -runlevel | ||||
| Print the current runlevel name. | ||||
| .It Fl s , -servicelist | ||||
| Show all services. | ||||
|   | ||||
| @@ -26,7 +26,7 @@ | ||||
| .Os OpenRC | ||||
| .Sh NAME | ||||
| .Nm rc-update | ||||
| .Nd add and remove services to and from a runlevel | ||||
| .Nd add and remove services to and from a runlevel  | ||||
| .Sh SYNOPSIS | ||||
| .Nm | ||||
| .Op Fl s , -stack | ||||
| @@ -44,7 +44,7 @@ | ||||
| .Ar show | ||||
| .Op Ar runlevel ... | ||||
| .Sh DESCRIPTION | ||||
| OpenRC uses named runlevels.  Rather than editing some obscure | ||||
| OpenRC uses named runlevels.  Rather than editing some obscure  | ||||
| file or managing a directory of symlinks, | ||||
| .Nm | ||||
| exists to quickly add or delete services to and from from different runlevels. | ||||
|   | ||||
| @@ -32,7 +32,7 @@ | ||||
| .Sh LIBRARY | ||||
| Run Command library (librc, -lrc) | ||||
| .Sh SYNOPSIS | ||||
| .In rc.h | ||||
| .In rc.h  | ||||
| .Ft bool Fn rc_deptree_update void | ||||
| .Ft bool Fn rc_deptree_update_needed void | ||||
| .Ft RC_DEPTREE Fn rc_deptree_load void | ||||
| @@ -77,7 +77,7 @@ loads the deptree and returns a pointer to it which needs to be freed by | ||||
| when done. | ||||
| .Pp | ||||
| .Fn rc_deptree_depend , | ||||
| .Fn rc_deptree_depends | ||||
| .Fn rc_deptree_depends  | ||||
| and | ||||
| .Fn rc_deptree_order | ||||
| return a list of services from the | ||||
|   | ||||
| @@ -31,7 +31,7 @@ | ||||
| .Sh LIBRARY | ||||
| Run Command library (librc, -lrc) | ||||
| .Sh SYNOPSIS | ||||
| .In rc.h | ||||
| .In rc.h  | ||||
| .Ft "char *" Fn rc_runlevel_get void | ||||
| .Ft bool Fn rc_runlevel_exists | ||||
| .Ft "RC_STRINGLIST *" Fn rc_runlevel_list void | ||||
|   | ||||
| @@ -37,7 +37,7 @@ | ||||
| .Sh LIBRARY | ||||
| Run Command library (librc, -lrc) | ||||
| .Sh SYNOPSIS | ||||
| .In rc.h | ||||
| .In rc.h  | ||||
| .Ft bool Fn rc_service_add "const char *runlevel" "const char *service" | ||||
| .Ft bool Fn rc_service_delete "const char *runlevel" "const char *service" | ||||
| .Ft bool Fo rc_service_daemon_set | ||||
|   | ||||
| @@ -32,7 +32,7 @@ | ||||
| Run Command library (librc, -lrc) | ||||
| .Sh SYNOPSIS | ||||
| .In rc.h | ||||
| .Ft "RC_STRINGLIST *" Fn rc_stringlist_new void | ||||
| .Ft "RC_STRINGLIST *" Fn rc_stringlist_new void  | ||||
| .Ft "RC_STRING *" Fn rc_stringlist_add "RC_STRINGLIST *list" "const char *item" | ||||
| .Ft "RC_STRING *" Fn rc_stringlist_addu "RC_STRINGLIST *list" "const char *item" | ||||
| .Ft bool Fn rc_stringlist_delete RC_STRINGLIST "const char *item" | ||||
|   | ||||
| @@ -21,23 +21,22 @@ | ||||
| .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||
| .\" SUCH DAMAGE. | ||||
| .\" | ||||
| .Dd December 31, 2011 | ||||
| .Dd November 4, 2009 | ||||
| .Dt RUNSCRIPT 8 SMM | ||||
| .Os OpenRC | ||||
| .Sh NAME | ||||
| .Nm runscript | ||||
| .Nm runscript  | ||||
| .Nd a means of hooking shell commands into a service | ||||
| .Sh SYNOPSIS | ||||
| .Nm | ||||
| .Op Fl D , -nodeps | ||||
| .Op Fl d , -debug | ||||
| .Op Fl s , -ifstarted | ||||
| .Op Fl S , -ifstopped | ||||
| .Op Fl Z , -dry-run | ||||
| .Op Ar command ... | ||||
| .Sh DESCRIPTION | ||||
| .Nm | ||||
| is basically an interpreter for shell scripts which provides an easy interface | ||||
| is basically an interpreter for shell scripts which provide an easy interface | ||||
| to the often complex system commands and daemons. | ||||
| When a service runs a command it first loads its multiplexed configuration | ||||
| file, then its master configuration file, then | ||||
| @@ -77,8 +76,6 @@ Set xtrace on in the shell to assist in debugging. | ||||
| Ignore all dependency information the service supplies. | ||||
| .It Fl s , -ifstarted | ||||
| Only run the command if the service has been started. | ||||
| .It Fl S , -ifstopped | ||||
| Only run the command if the service has been stopped. | ||||
| .It Fl q , -quiet | ||||
| Turns off all informational output the service generates. | ||||
| Output from any non OpenRC commands is not affected. | ||||
| @@ -92,42 +89,24 @@ or stopping them. | ||||
| The following variables affect the service script: | ||||
| .Bl -tag -width "RC_DEFAULTLEVEL" | ||||
| .It Ar extra_commands | ||||
| Space separated list of extra commands the service defines. These should | ||||
| not depend on the service being stopped or started. | ||||
| Space separated list of extra commands the service defines. | ||||
| .It Ar extra_started_commands | ||||
| Space separated list of extra commands the service defines. These only work if | ||||
| the service has already been started. | ||||
| .It Ar extra_stopped_commands | ||||
| Space separated list of extra commands the service defines. These only work if | ||||
| the service has already been stopped. | ||||
| .It Ar description | ||||
| String describing the service. | ||||
| .It Ar description_$command | ||||
| String describing the extra command. | ||||
| .It Ar start_stop_daemon_args | ||||
| List of arguments passed to start-stop-daemon when starting the daemon. | ||||
| String describing the extra command the. | ||||
| .It Ar command | ||||
| Daemon to start or stop via | ||||
| .Nm start-stop-daemon | ||||
| if no start or stop function is defined by the service. | ||||
| .It Ar command_args | ||||
| List of arguments to pass to the daemon when starting. | ||||
| .It Ar command_background | ||||
| Set this to "true", "yes" or "1" (case-insensitive) to force the daemon into | ||||
| the background. This implies the "--make-pidfile" and "--pidfile" option of | ||||
| .Xr start-stop-daemon 8 | ||||
| so the pidfile variable must be set. | ||||
| .It Ar pidfile | ||||
| Pidfile to use for the above defined command. | ||||
| .It Ar name | ||||
| Display name used for the above defined command. | ||||
| .It Ar retry | ||||
| Retry schedule to use when stopping the daemon. It can either be a | ||||
| timeout in seconds or multiple signal/timeout pairs (like SIGTERM/5). | ||||
| .It Ar required_dirs | ||||
| A list of directories which must exist for the service to start. | ||||
| .It Ar required_files | ||||
| A list of files which must exist for the service to start. | ||||
| .El | ||||
| .Sh DEPENDENCIES | ||||
| You should define a | ||||
| @@ -140,7 +119,7 @@ Here is a list of the functions you can use in a | ||||
| .Ic depend | ||||
| function. You simply pass the names of the services to it to add to that | ||||
| dependency type, or prefix it with ! to remove it. | ||||
| .Bl -tag -width "RC_DEFAULTLEVEL" | ||||
| .Bl -tag -width "RC_DEFAULTLEVEL"  | ||||
| .It Ic need | ||||
| The service will refuse to start until needed services have started and it | ||||
| will refuse to stop until any services that need it have stopped. | ||||
| @@ -156,11 +135,11 @@ We provide this virtual service. For example, named provides dns. | ||||
| .It Ic config | ||||
| We should recalculate our dependencies if the listed files have changed. | ||||
| .It Ic keyword | ||||
| Tags a service with a keyword. These are the keywords we currently understand: | ||||
| Tags a service with a keyword. Here's the keywords we currently understand:- | ||||
| .Bl -tag -width indent | ||||
| .It Dv -shutdown | ||||
| Don't stop this service when shutting the system down. | ||||
| This is normally quite safe as remaining daemons will be sent a SIGTERM just | ||||
| This normally quite safe as remaining daemons will be sent a SIGTERM just | ||||
| before final shutdown. | ||||
| Network related services such as the network and dhcpcd init scripts normally | ||||
| have this keyword. | ||||
| @@ -172,9 +151,9 @@ Other services should wait indefinitely for this service to start. Use | ||||
| this keyword if your service may take longer than 60 seconds to start. | ||||
| .It Dv -jail | ||||
| When in a jail, exclude this service from any dependencies. The service can | ||||
| still be run directly. Set via | ||||
| .Ic rc_sys | ||||
| in | ||||
| still be run directly. Set via  | ||||
| .Ic rc_sys  | ||||
| in  | ||||
| .Pa /etc/rc.conf | ||||
| .It Dv -lxc | ||||
| Same as -jail, but for Linux Resource Containers (LXC). | ||||
| @@ -242,7 +221,7 @@ seconds until all files exist. | ||||
| Returns 0 if all files exist, otherwise non zero. | ||||
| If | ||||
| .Ar timeout | ||||
| is less than 1 then we wait indefinitely. | ||||
| is less then 1 then we wait indefinitely. | ||||
| .It Ic is_newer_than Ar file1 Ar file2 ... | ||||
| If | ||||
| .Ar file1 | ||||
| @@ -309,22 +288,14 @@ Mark the service as coldplugged. | ||||
| Mark the service as inactive. | ||||
| .It Xo | ||||
| .Ic checkpath | ||||
| .Op Fl D , -directory-truncate | ||||
| .Op Fl d , -directory | ||||
| .Op Fl F , -file-truncate | ||||
| .Op Fl f , -file | ||||
| .Op Fl p , -pipe | ||||
| .Op Fl m , -mode Ar mode | ||||
| .Op Fl o , owner Ar owner | ||||
| .Ar path ... | ||||
| .Xc | ||||
| Checks to see if the path exists, is of the right type, owned by the right | ||||
| people and has the correct access modes. If not, then it corrects the path. | ||||
| .It Ic checkpath | ||||
| .Op Fl W , -writable | ||||
| .Ar path | ||||
| .Xc | ||||
| checks to see if the path is writable. | ||||
| .It Ic yesno Ar value | ||||
| If | ||||
| .Ar value | ||||
| @@ -333,18 +304,11 @@ matches YES, TRUE, ON or 1 regardless of case then we return 0, otherwise 1. | ||||
| .Sh ENVIRONMENT | ||||
| .Nm | ||||
| sets the following environment variables for use in the service scripts: | ||||
| .Bl -tag -width "RC_DEFAULTLEVEL" | ||||
| .Bl -tag -width "RC_DEFAULTLEVEL"  | ||||
| .It Va RC_SVCNAME | ||||
| Name of the service. | ||||
| .It Va RC_RUNLEVEL | ||||
| Current runlevel that rc is in. Note that, in OpenRC, the reboot | ||||
| runlevel is mapped to the shutdown runlevel. This was done because most | ||||
| services do not need to know if a system is shutting down or rebooting. | ||||
| If you are writing a service that does need to know this, see the | ||||
| RC_REBOOT variable. | ||||
| .It Va RC_REBOOT | ||||
| This variable contains YES if the system is rebooting. If your service | ||||
| needs to know the system is rebooting, you should test this variable. | ||||
| Current runlevel that rc is in. | ||||
| .It Va RC_BOOTLEVEL | ||||
| Boot runlevel chosen. Default is boot. | ||||
| .It Va RC_DEFAULTLEVEL | ||||
| @@ -352,14 +316,8 @@ Default runlevel chosen. Default is default. | ||||
| .It Va RC_SYS | ||||
| A special variable to describe the system more. | ||||
| Possible values are OPENVZ, XENU, XEN0, UML and VSERVER. | ||||
| .It Va RC_PREFIX | ||||
| In a Gentoo Prefix installation, this variable contains the prefix | ||||
| offset. Otherwise it is undefined. | ||||
| .It Va RC_UNAME | ||||
| The result of `uname -s`. | ||||
| .It Va RC_CMD | ||||
| This contains the name of the command the service script is executing, such | ||||
| as start, stop, restart etc. | ||||
| .El | ||||
| .Sh FILES | ||||
| .Pp | ||||
| @@ -398,7 +356,7 @@ rc_net_tap1_provide="!net" | ||||
|  | ||||
| # It's also possible to negate keywords. This is mainly useful for prefix | ||||
| # users testing OpenRC. | ||||
| rc_keyword="!-prefix" | ||||
| rc_keyword="!noprefix" | ||||
| .Ed | ||||
| .Sh EXAMPLES | ||||
| .Pp | ||||
| @@ -441,28 +399,14 @@ depend() | ||||
| 	_need=`service_get_value need` | ||||
|     else | ||||
| 	if _need_dbus; then | ||||
| 	   _need="${_need} dbus" | ||||
| 	   _need="${_need} dbus"  | ||||
| 	fi | ||||
|     fi | ||||
|     need ${_need} | ||||
| } | ||||
|  | ||||
| # This function does any pre-start setup. If it fails, the service will | ||||
| # not be started. | ||||
| # If you need this function to behave differently for a restart command, | ||||
| # you should check the value of RC_CMD for "restart". | ||||
| # This also applies to start_post, stop_pre and stop_post. | ||||
| start_pre() | ||||
| { | ||||
| 	if [ "$RC_CMD" = restart ]; then | ||||
| 		# This block will only execute for a restart command. Use a | ||||
| 		# structure like this if you need special processing for a | ||||
| 		# restart which you do not need for a normal start. | ||||
| 		# The function can also fail from here, which will mean that a | ||||
| 		# restart can fail. | ||||
| 		# This logic can also be used in start_post, stop_pre and | ||||
| 		# stop_post. | ||||
| 	fi | ||||
|     # Ensure that our dirs are correct | ||||
|     checkpath --dir --owner foo:foo --mode 0664 \\ | ||||
| 	/var/run/foo /var/cache/foo | ||||
| @@ -502,7 +446,7 @@ eat() | ||||
| 	veinfo "Eating `basename ${food}`" | ||||
| 	${command} --eat ${food} | ||||
| 	retval=$? | ||||
| 	: $(( result += retval )) | ||||
| 	: $((${result} += ${retval})) | ||||
| 	[ ${retval} = 0 ] && ate="${ate} `basename ${food}`" | ||||
|     done | ||||
|  | ||||
| @@ -518,12 +462,6 @@ show() | ||||
|  | ||||
| .Ed | ||||
| .Sh BUGS | ||||
| Because of the way we load our configuration files and the need to handle | ||||
| more than one service directory, you can only use symlinks in service | ||||
| directories to other services in the same directory. | ||||
| You cannot symlink to a service in a different directory even if it is | ||||
| another service directory. | ||||
| .Pp | ||||
| is_older_than should return 0 on success. | ||||
| Instead we return 1 to be compliant with Gentoo baselayout. | ||||
| Users are encouraged to use the is_newer_than function which returns correctly. | ||||
|   | ||||
| @@ -58,7 +58,7 @@ is used in an OpenRC service, then OpenRC can in turn check to see if the | ||||
| daemon is still running. If not, then the service is marked as crashed. | ||||
| .Pp | ||||
| Here are the options to specify the daemon and how it should start or stop: | ||||
| .Bl -tag -width indent | ||||
| .Bl -tag -width indent  | ||||
| .It Fl x , -exec Ar daemon | ||||
| The | ||||
| .Ar daemon | ||||
| @@ -162,8 +162,9 @@ but with the standard error output. | ||||
| These options are only used for stopping daemons: | ||||
| .Bl -tag -width indent | ||||
| .It Fl R , -retry Ar timeout | Ar signal Ns / Ns Ar timeout | ||||
| The retry specification can be either a timeout in seconds or multiple | ||||
| signal/timeout pairs (like SIGTERM/5). | ||||
| You can either specify a timeout in seconds or a multiple signal/timeout | ||||
| pairs as a stopping schedule. | ||||
| If not specified then a default value of SIGTERM/5 is assumed. | ||||
| .El | ||||
| .Sh ENVIRONMENT | ||||
| .Va SSD_NICELEVEL | ||||
|   | ||||
							
								
								
									
										18
									
								
								mk/lib.mk
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								mk/lib.mk
									
									
									
									
									
								
							| @@ -8,22 +8,18 @@ SHLIB_NAME=		lib${LIB}.so.${SHLIB_MAJOR} | ||||
| SHLIB_LINK=		lib${LIB}.so | ||||
| SONAME?=		${SHLIB_NAME} | ||||
|  | ||||
| SOBJS+=			${SRCS:.c=.So} | ||||
|  | ||||
| MKSTATICLIBS?=  yes | ||||
| ifeq (${MKSTATICLIBS},yes) | ||||
| OBJS+=			${SRCS:.c=.o} | ||||
| _LIBS+=			lib${LIB}.a | ||||
| endif | ||||
|  | ||||
| _LIBS+=			${SHLIB_NAME} | ||||
| SOBJS+=			${OBJS:.o=.So} | ||||
| _LIBS=			lib${LIB}.a ${SHLIB_NAME} | ||||
|  | ||||
| CLEANFILES+=		${OBJS} ${SOBJS} ${_LIBS} ${SHLIB_LINK} | ||||
|  | ||||
| %.o: %.c | ||||
| .SUFFIXES:		.So | ||||
|  | ||||
| .c.o: | ||||
| 	${CC} ${CFLAGS} ${CPPFLAGS} -c $< -o $@ | ||||
|  | ||||
| %.So: %.c | ||||
| .c.So: | ||||
| 	${CC} ${PICFLAG} -DPIC ${CPPFLAGS} ${CFLAGS} -c $< -o $@ | ||||
|  | ||||
| all: depend ${_LIBS} | ||||
| @@ -45,10 +41,8 @@ ${SHLIB_NAME}:	${SOBJS} | ||||
| 	${SOBJS} ${LDADD} | ||||
|  | ||||
| install: all | ||||
| ifeq (${MKSTATICLIBS},yes) | ||||
| 	${INSTALL} -d ${DESTDIR}${LIBDIR} | ||||
| 	${INSTALL} -m ${LIBMODE} lib${LIB}.a ${DESTDIR}${LIBDIR} | ||||
| endif | ||||
| 	${INSTALL} -d ${DESTDIR}${SHLIBDIR} | ||||
| 	${INSTALL} -m ${LIBMODE} ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR} | ||||
| 	ln -fs ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}/${SHLIB_LINK} | ||||
|   | ||||
| @@ -3,7 +3,4 @@ | ||||
|  | ||||
| # Generic definitions | ||||
|  | ||||
| PKG_PREFIX?=	/usr/local | ||||
| SFX=		.BSD.in | ||||
|  | ||||
| LIBKVM?=	-lkvm | ||||
|   | ||||
| @@ -1,8 +1,5 @@ | ||||
| # Copyright (c) 2008 Roy Marples <roy@marples.name> | ||||
| # Released under the 2-clause BSD license. | ||||
|  | ||||
| SFX=		.Linux.in | ||||
| PKG_PREFIX?=	/usr | ||||
|  | ||||
| CPPFLAGS+=	-D_BSD_SOURCE -D_XOPEN_SOURCE=700 | ||||
| CPPFLAGS+=	-D_BSD_SOURCE -D_XOPEN_SOURCE=600 | ||||
| LIBDL=		-Wl,-Bdynamic -ldl | ||||
|   | ||||
| @@ -1,6 +0,0 @@ | ||||
| # Copyright (c) 2012 William Hubbs <w.d.hubbs@gmail.com> | ||||
| # Released under the 2-clause BSD license. | ||||
|  | ||||
| ifeq (${MKPREFIX},yes) | ||||
| CPPFLAGS+=	-DPREFIX | ||||
| endif | ||||
							
								
								
									
										2
									
								
								mk/os.mk
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								mk/os.mk
									
									
									
									
									
								
							| @@ -7,6 +7,6 @@ _OS_SH=		uname -s | ||||
| _OS:= 		$(shell ${_OS_SH}) | ||||
| OS?= 		${_OS} | ||||
| include ${MK}/os-${OS}.mk | ||||
| include ${MK}/os-prefix.mk | ||||
|  | ||||
| RC_LIB=		/$(LIBNAME)/rc | ||||
|  | ||||
|   | ||||
| @@ -24,7 +24,7 @@ CLEANFILES+=		${OBJS} ${PROG} | ||||
|  | ||||
| all: depend ${PROG} | ||||
|  | ||||
| %.o: %.c | ||||
| .c.o: | ||||
| 	${CC} ${CFLAGS} ${CPPFLAGS} -c $< -o $@ | ||||
|  | ||||
| ${PROG}: ${SCRIPTS} ${OBJS} | ||||
|   | ||||
| @@ -12,13 +12,14 @@ _PKG_SED:=		$(shell ${_PKG_SED_SH}) | ||||
| _LCL_SED_SH=		if test "${PREFIX}" = "${LOCAL_PREFIX}"; then echo "-e 's:@LOCAL_PREFIX@::g'"; else echo "-e 's:@LOCAL_PREFIX@:${LOCAL_PREFIX}:g'"; fi | ||||
| _LCL_SED:=		$(shell ${_LCL_SED_SH}) | ||||
|  | ||||
| SED_REPLACE=		-e 's:@SHELL@:${SH}:g' -e 's:@LIB@:${LIBNAME}:g' -e 's:@SYSCONFDIR@:${SYSCONFDIR}:g' -e 's:@LIBEXECDIR@:${LIBEXECDIR}:g' -e 's:@PREFIX@:${PREFIX}:g' ${_PKG_SED} ${_LCL_SED} | ||||
| SED_REPLACE=		-e 's:@SHELL@:${SH}:g' -e 's:@LIB@:${LIBNAME}:g' -e 's:@SYSCONFDIR@:${SYSCONFDIR}:g' -e 's:@LIBEXECDIR@:${LIBEXECDIR}:g' -e 's:@PREFIX@:${PREFIX}:g' -e 's:@RC_SYS_DEFAULT@:${MKRCSYS}:g' ${_PKG_SED} ${_LCL_SED} | ||||
|  | ||||
| # Tweak our shell scripts | ||||
| %.sh: %.sh.in | ||||
| .SUFFIXES:	.sh.in .in | ||||
| .sh.in.sh: | ||||
| 	${SED} ${SED_REPLACE} ${SED_EXTRA} $< > $@ | ||||
|  | ||||
| %: %.in | ||||
| .in: | ||||
| 	${SED} ${SED_REPLACE} ${SED_EXTRA} $< > $@ | ||||
|  | ||||
| all: ${OBJS} ${TARGETS} | ||||
| @@ -53,6 +54,6 @@ check test:: | ||||
| # so we ensure that it has a bogus argument | ||||
| CLEANFILES+=	${OBJS} | ||||
| clean: | ||||
| 	@if test -n "${CLEANFILES}"; then echo "rm -f ${CLEANFILES}"; rm -f ${CLEANFILES}; fi | ||||
| 	@if test -n "${CLEANFILES}"; then echo "rm -f ${CLEANFILES}"; rm -f ${CLEANFILES}; fi  | ||||
|  | ||||
| include ${MK}/gitignore.mk | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| # Released under the 2-clause BSD license. | ||||
|  | ||||
| _+_ ?= + | ||||
| ECHODIR ?= echo | ||||
| ECHODIR ?= echo  | ||||
| _SUBDIR = @${_+_}for x in ${SUBDIR}; do \ | ||||
| 	if test -d $$x; then \ | ||||
| 	${ECHODIR} "===> ${DIRPRFX}$$x (${@:realinstall=install})"; \ | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user