Compare commits
	
		
			28 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 7a66bdb5b9 | ||
|   | 670861da88 | ||
|   | bd4b217607 | ||
|   | cded32f748 | ||
|   | f93396793a | ||
|   | c79b6d4730 | ||
|   | 3f8eb261ac | ||
|   | 505af695d8 | ||
|   | f419d8b03a | ||
|   | fd699ddf2f | ||
|   | 66651180a7 | ||
|   | 7d63dc928c | ||
|   | 8e16828bd3 | ||
|   | 3a30710916 | ||
|   | 290a91e8e9 | ||
|   | 04d94be766 | ||
|   | fa6707e5b3 | ||
|   | 3286a98fe6 | ||
|   | dc0ab571a2 | ||
|   | fb37e1aa96 | ||
|   | 8769cca710 | ||
|   | 506f2887e1 | ||
|   | 83223a6e97 | ||
|   | 2747f40f82 | ||
|   | 933972da53 | ||
|   | dbcb8ba3fe | ||
|   | e462c3223e | ||
|   | 06f195ce37 | 
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| *.gz | *.bz2 | ||||||
|  |  | ||||||
| *.diff | *.diff | ||||||
| *.patch | *.patch | ||||||
|   | |||||||
| @@ -1,5 +1,4 @@ | |||||||
| Using Busybox as your Default Shell with OpenRC | # Using Busybox as your Default Shell with OpenRC | ||||||
| =============================================== |  | ||||||
|  |  | ||||||
| If you have/bin/sh linked to busybox, you need to be aware of several | If you have/bin/sh linked to busybox, you need to be aware of several | ||||||
| incompatibilities between busybox's applets and the standalone | incompatibilities between busybox's applets and the standalone | ||||||
| @@ -23,6 +22,9 @@ or recognize the nofail option in fstab. | |||||||
|  |  | ||||||
| CONFIG_SETFONT -- The setfont applet does not support the -u option from kbd. | CONFIG_SETFONT -- The setfont applet does not support the -u option from kbd. | ||||||
|  |  | ||||||
|  | CONFIG_IP -- The ip applet  doesn't support the "scope" modifier for | ||||||
|  | "ip route add" and "ip address add". | ||||||
|  |  | ||||||
| CONFIG_BB_SYSCTL -- The sysctl applet does not support the --system command | CONFIG_BB_SYSCTL -- The sysctl applet does not support the --system command | ||||||
| line switch. | line switch. | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,12 +1,11 @@ | |||||||
| Features Scheduled for Removal | # Features Scheduled for Removal | ||||||
| ============================== |  | ||||||
|  |  | ||||||
| The following is a list of files and features that are going to be removed in | The following is a list of files and features that are going to be removed in | ||||||
| the source tree.  Every entry should contain what exactly is going away, why it | the source tree.  Every entry should contain what exactly is going away, why it | ||||||
| is happening, and who is going to be doing the work.  When the feature is | is happening, and who is going to be doing the work.  When the feature is | ||||||
| removed, it should also be removed from this file. | removed, it should also be removed from this file. | ||||||
|  |  | ||||||
| # Service pause action | ## Service pause action | ||||||
|  |  | ||||||
| When: 1.0 | When: 1.0 | ||||||
|  |  | ||||||
| @@ -14,7 +13,7 @@ Why: The same affect can be obtained with the --nodeps option to stop. | |||||||
|  |  | ||||||
| Who: | Who: | ||||||
|  |  | ||||||
| # start-stop-daemon options --startas, --chuid , --oknodo | ## start-stop-daemon options --startas, --chuid , --oknodo | ||||||
|  |  | ||||||
| When: 1.0 | When: 1.0 | ||||||
|  |  | ||||||
| @@ -26,7 +25,7 @@ Why: Obsolete or replaced by other options. | |||||||
|  |  | ||||||
| Who: | Who: | ||||||
|  |  | ||||||
| # runscript and rc symbolic links | ## runscript and rc symbolic links | ||||||
|  |  | ||||||
| When: 1.0 | When: 1.0 | ||||||
|  |  | ||||||
| @@ -35,24 +34,24 @@ Why: Deprecated in favor of openrc-run and openrc due to naming | |||||||
|  |  | ||||||
| Who: | Who: | ||||||
|  |  | ||||||
| # support for the opts variable in service scripts | ## support for the opts variable in service scripts | ||||||
|  |  | ||||||
| When: 1.0 | When: 1.0 | ||||||
|  |  | ||||||
| Why: Deprecated in favor of extra_commands, extra_started_commands | Why: Depprecated in favor of extra_commands, extra_started_commands | ||||||
| 	 and extra_stopped_commands. | 	 and extra_stopped_commands. | ||||||
|  |  | ||||||
| Who: | Who: | ||||||
|  |  | ||||||
| # support for local_start and local_stop | ## support for local_start and local_stop | ||||||
|  |  | ||||||
| When: 1.0 | When: 1.0 | ||||||
|  |  | ||||||
| Why: Deprecated in favor of executable scripts in @SYSCONFDIR@/local.d | Why: Depprecated in favor of executable scripts in @SYSCONFDIR@/local.d | ||||||
|  |  | ||||||
| Who: | Who: | ||||||
|  |  | ||||||
| # the mtab service script | ## the mtab service script | ||||||
|  |  | ||||||
| When: force /etc/mtab to link to /proc/self/mounts in 1.0, remove | When: force /etc/mtab to link to /proc/self/mounts in 1.0, remove | ||||||
| 	  service in 2.0 | 	  service in 2.0 | ||||||
| @@ -62,13 +61,13 @@ Why: /etc/mtab should be a symbolic link to /proc/self/mounts on modern | |||||||
|  |  | ||||||
| Who: | Who: | ||||||
|  |  | ||||||
| # C API Functions in rc.h | ## C API Functions in rc.h | ||||||
|  |  | ||||||
| If you have a c program that links to librc and uses functions from | If you have a c program that links to librc and uses functions from | ||||||
| there, this section will list API functions which are deprecated and | there, this section will list API functions which are deprecated and | ||||||
| will be removed along with the reason they are being removed. | will be removed along with the reason they are being removed. | ||||||
|  |  | ||||||
| ## rc_getline() | ### rc_getline() | ||||||
|  |  | ||||||
| When: 1.0 | When: 1.0 | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,5 +1,4 @@ | |||||||
| OpenRC History | # OpenRC History | ||||||
| ============== |  | ||||||
|  |  | ||||||
| This history of OpenRC was written by Daniel Robbins, Roy Marples, William | This history of OpenRC was written by Daniel Robbins, Roy Marples, William | ||||||
| Hubbs and others. | Hubbs and others. | ||||||
|   | |||||||
							
								
								
									
										14
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								Makefile
									
									
									
									
									
								
							| @@ -13,13 +13,7 @@ MK=			${TOP}/mk | |||||||
|  |  | ||||||
| include ${TOP}/Makefile.inc | include ${TOP}/Makefile.inc | ||||||
|  |  | ||||||
| SUBDIR=		conf.d etc init.d local.d man scripts sh src support sysctl.d | SUBDIR=		conf.d etc init.d local.d man scripts sh src sysctl.d | ||||||
|  |  | ||||||
| # Build bash completion or not |  | ||||||
| MKBASHCOMP?=	no |  | ||||||
| ifeq (${MKBASHCOMP},yes) |  | ||||||
| SUBDIR+=	bash-completion |  | ||||||
| endif |  | ||||||
|  |  | ||||||
| # Build pkgconfig or not | # Build pkgconfig or not | ||||||
| MKPKGCONFIG?=	yes | MKPKGCONFIG?=	yes | ||||||
| @@ -27,12 +21,6 @@ ifeq (${MKPKGCONFIG},yes) | |||||||
| SUBDIR+=	pkgconfig | SUBDIR+=	pkgconfig | ||||||
| endif | endif | ||||||
|  |  | ||||||
| # Build zsh completion or not |  | ||||||
| MKZSHCOMP?=	no |  | ||||||
| ifeq (${MKZSHCOMP},yes) |  | ||||||
| SUBDIR+=	zsh-completion |  | ||||||
| endif |  | ||||||
|  |  | ||||||
| # We need to ensure that runlevels is done last | # We need to ensure that runlevels is done last | ||||||
| SUBDIR+=	runlevels | SUBDIR+=	runlevels | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,3 +1,3 @@ | |||||||
| NAME=		openrc | NAME=		openrc | ||||||
| VERSION=	0.39.2 | VERSION=	0.20.5 | ||||||
| PKG=		${NAME}-${VERSION} | PKG=		${NAME}-${VERSION} | ||||||
|   | |||||||
							
								
								
									
										192
									
								
								NEWS.md
									
									
									
									
									
								
							
							
						
						
									
										192
									
								
								NEWS.md
									
									
									
									
									
								
							| @@ -1,198 +1,8 @@ | |||||||
| OpenRC NEWS | # OpenRC NEWS | ||||||
| =========== |  | ||||||
|  |  | ||||||
| This file will contain a list of notable changes for each release. Note | This file will contain a list of notable changes for each release. Note | ||||||
| the information in this file is in reverse order. | the information in this file is in reverse order. | ||||||
|  |  | ||||||
| ## OpenRC 0.39 |  | ||||||
|  |  | ||||||
| This version removes the support for addons. |  | ||||||
| The only place I know that this was used was Gentoo Baselayout 1.x, so |  | ||||||
| it shouldn't affect anyone since baselayout-1 has been dead for a few |  | ||||||
| years. |  | ||||||
|  |  | ||||||
| Since all supported Linux kernel versions now make efivarfs immutable |  | ||||||
| and all of the tools that access efivarfs are aware of this, we no |  | ||||||
| longer mount efivarfs read-only. See the following github issue for more |  | ||||||
| information: |  | ||||||
|  |  | ||||||
| https://github.com/openrc/openrc/issues/238 |  | ||||||
|  |  | ||||||
| This version adds timed shutdown and cancelation of shutdown to |  | ||||||
| openrc-shutdown. Shutdowns can now be delayed for a certain amount of |  | ||||||
| time or scheduled for an exact time. |  | ||||||
|  |  | ||||||
| supervise-daemon supports health checks, which are a periodic way to make sure a |  | ||||||
| service is healthy. For more information on setting this up, please see |  | ||||||
| supervise-daemon-guide.md. |  | ||||||
|  |  | ||||||
| The --first-time switch has been added to all modprobe commands in the |  | ||||||
| modules service. This means that, on Linux, you will see failures if a |  | ||||||
| module was loaded by an initramfs or device manager before this service |  | ||||||
| runs. These messages are harmless, but to clean them up, you should adjust your |  | ||||||
| modules autoload configuration. |  | ||||||
|  |  | ||||||
| ## OpenRC 0.37 |  | ||||||
|  |  | ||||||
| start-stop-daemon now supports logging stdout and stderr of daemons to |  | ||||||
| processes instead of files. These processes are defined by the |  | ||||||
| output_logger and error_logger variables in standard service scripts, or |  | ||||||
| by the  -3/--output-logger or -4/--error-logger switches if you use |  | ||||||
| start-stop-daemon directly. For more information on this, see the |  | ||||||
| start-stop-daemon man page. |  | ||||||
|  |  | ||||||
| ## OpenRC 0.36 |  | ||||||
|  |  | ||||||
| In this release, the modules-load service has been combined into the |  | ||||||
| modules service since there is no reason I know of to keep them |  | ||||||
| separate. However, modules also provides modules-load in case you were |  | ||||||
| using modules-load in  your dependencies. |  | ||||||
|  |  | ||||||
| The consolefont, keymaps, numlock and procfs service scripts no longer |  | ||||||
| have a dependency on localmount. |  | ||||||
| If you are a linux user and are still separaating / from /usr, |  | ||||||
| you will need to add the following line to the appropriate conf.d files: |  | ||||||
|  |  | ||||||
| rc_need="localmount" |  | ||||||
|  |  | ||||||
| ## OpenRC 0.35 |  | ||||||
|  |  | ||||||
| In this version, the cgroups mounting logic has been moved from the |  | ||||||
| sysfs service to the cgroups service. This was done so cgroups can be |  | ||||||
| mounted inside an lxc/lxd container without using the other parts of the |  | ||||||
| sysfs service. |  | ||||||
|  |  | ||||||
| ?As a result of this change, if you are upgrading, you need to add |  | ||||||
| cgroups to your sysinit runlevel by running the following command as |  | ||||||
| root: |  | ||||||
|  |  | ||||||
| ``` |  | ||||||
| # rc-update add cgroups sysinit |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| For more information, see the following issue: |  | ||||||
|  |  | ||||||
| https://github.com/openrc/openrc/issues/187 |  | ||||||
|  |  | ||||||
| Consider this your second notification with regard to /etc/mtab being a |  | ||||||
| file instead of a symbolic link. |  | ||||||
|  |  | ||||||
| In this version, the mtab service will complain loudly if you have |  | ||||||
| mtab_is_file set to yes and recommend that you change this to no and |  | ||||||
| restart the mtab service to migrate /etc/mtab to a symbolic link. |  | ||||||
|  |  | ||||||
| If there is a valid technical reason to keep /etc/mtab as a flat file |  | ||||||
| instead of a symbolic link to /proc/self/mounts, we are interested and |  | ||||||
| we will keep the support in that case. Please open an issue and let us |  | ||||||
| know however. Otherwise, consider this your final notice that the mtab |  | ||||||
| service will be removed in the future. |  | ||||||
|  |  | ||||||
| ## OpenRC 0.33 |  | ||||||
|  |  | ||||||
| This version removes the "service" binary which was just a copy of |  | ||||||
| "rc-service" provided for compatibility. |  | ||||||
|  |  | ||||||
| If you still need the "service" binary, as opposed to "rc-service", it is |  | ||||||
| recommended that you use something like Debian's init-system-helpers. |  | ||||||
| Otherwise, just use "rc-service" in place of "service". |  | ||||||
|  |  | ||||||
| ## OpenRC 0.31 |  | ||||||
|  |  | ||||||
| This version adds support for Control Groups version 2, which is |  | ||||||
| considered stable as of Linux-4.13. Please see /etc/rc.conf for |  | ||||||
| documentation on how to configure control groups. |  | ||||||
|  |  | ||||||
| ## OpenRC-0.28 |  | ||||||
|  |  | ||||||
| This version mounts efivars read only due to concerns about changes in |  | ||||||
| this file system making systems unbootable.  If you need to change something |  | ||||||
| in this path, you will need to re-mount it read-write, make the change |  | ||||||
| and re-mount it read-only. |  | ||||||
|  |  | ||||||
| Also, you can override this behavior by adding a line for efivars to |  | ||||||
| fstab if you want efivars mounted read-write. |  | ||||||
|  |  | ||||||
| For more information on this issue, see the following url: |  | ||||||
|  |  | ||||||
| https://github.com/openrc/openrc/issues/134 |  | ||||||
|  |  | ||||||
| ## OpenRC-0.25 |  | ||||||
|  |  | ||||||
| This version contains an OpenRC-specific implementation of init for |  | ||||||
| Linux which can be used in place of sysvinit or any other init process. |  | ||||||
| For information on its usage, see the man pages for openrc-init (8) and |  | ||||||
| openrc-shutdown (8). |  | ||||||
|  |  | ||||||
| ## OpenRC-0.24.1 |  | ||||||
|  |  | ||||||
| This version starts cleaning up the dependencies so that rc_parallel |  | ||||||
| will work correctly. |  | ||||||
|  |  | ||||||
| The first step in this process is to remove the 'before *' from the |  | ||||||
| depend functions in the clock services. This means some  services not |  | ||||||
| controlled by OpenRC may now start before instead of after the clock |  | ||||||
| service. If it is important for these services to start after the clock |  | ||||||
| service, they need to have 'after clock' added to their depend |  | ||||||
| functions. |  | ||||||
|  |  | ||||||
| ## OpenRC-0.24 |  | ||||||
|  |  | ||||||
| Since the deptree2dot tool and the perl requirement are completely |  | ||||||
| optional, the deptree2dot tool has been moved to the support directory. |  | ||||||
| As a result, the MKTOOLS=yes/no switch has been removed from the makefiles. |  | ||||||
|  |  | ||||||
| This version adds the agetty service which can be used to spawn |  | ||||||
| agetty on a specific terminal. This is currently documented in the |  | ||||||
| agetty-guide.md file at the top level of this distribution. |  | ||||||
|  |  | ||||||
| ## OpenRC-0.23 |  | ||||||
|  |  | ||||||
| The tmpfiles.d processing code, which was part of previous versions of |  | ||||||
| OpenRC, has been separated into its own package [1]. If you need to |  | ||||||
| process systemd style tmpfiles.d files, please install this package. |  | ||||||
|  |  | ||||||
| [1] https://github.com/openrc/opentmpfiles |  | ||||||
|  |  | ||||||
| ## OpenRC-0.22 |  | ||||||
|  |  | ||||||
| In previous versions of OpenRC, configuration information was processed |  | ||||||
| so that service-specific configuration stored in /etc/conf.d/* was |  | ||||||
| overridden by global configuration stored in /etc/rc.conf. This release |  | ||||||
| reverses that. Global configuration is now overridden by |  | ||||||
| service-specific configuration. |  | ||||||
|  |  | ||||||
| The swapfiles service, which was basically a copy of the swap service, |  | ||||||
| has been removed. If you are only using swap partitions, this change |  | ||||||
| will not affect you. If you are using swap files, please adjust the |  | ||||||
| dependencies of the swap service as shown in /etc/conf.d/swap. |  | ||||||
|  |  | ||||||
| ## OpenRC-0.21 |  | ||||||
|  |  | ||||||
| This version adds a daemon supervisor which can start daemons and |  | ||||||
| restart them if they crash. See supervise-daemon-guide.md in the |  | ||||||
| distribution for details on its use. |  | ||||||
|  |  | ||||||
| It is now possible to mark certain mount points as critical. If these |  | ||||||
| mount points are unable to be mounted, localmount or netmount will fail. |  | ||||||
| This is handled in /etc/conf.d/localmount and /etc/conf.d/netmount. See |  | ||||||
| these files for the setup. |  | ||||||
|  |  | ||||||
| The deprecation messages in 0.13.x for runscript and rc are now |  | ||||||
| made visible in preparation for the removal of these binaries in 1.0. |  | ||||||
|  |  | ||||||
| The steps you should take to get rid of these warnings is to run openrc |  | ||||||
| in initialization steps instead of rc and change the shebang lines in |  | ||||||
| service scripts to refer to "openrc-run" instead of "runscript". |  | ||||||
|  |  | ||||||
| In 0.21.4, a modules-load service was added. This works like the |  | ||||||
| equivalent service in systemd. It looks for files named *.conf first in |  | ||||||
| /usr/lib/modules-load.d, then /run/modules-load.d, then |  | ||||||
| /etc/modules-load.d. These files contain a list of modules, one per |  | ||||||
| line, which should be loaded into the kernel. If a file name appears in |  | ||||||
| /run/modules-load.d, it overrides a file of the same name in |  | ||||||
| /usr/lib/modules-load.d. A file appearing in /etc/modules-load.d |  | ||||||
| overrides a file of the same name in both previous directories. |  | ||||||
|  |  | ||||||
| ## OpenRC-0.19 | ## OpenRC-0.19 | ||||||
|  |  | ||||||
| This version adds a net-online service. By default, this | This version adds a net-online service. By default, this | ||||||
|   | |||||||
							
								
								
									
										14
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,5 +1,4 @@ | |||||||
| OpenRC README | # OpenRC README | ||||||
| ============= |  | ||||||
|  |  | ||||||
| OpenRC is a dependency-based init system that works with the | OpenRC is a dependency-based init system that works with the | ||||||
| system-provided init program, normally `/sbin/init`. Currently, it does | system-provided init program, normally `/sbin/init`. Currently, it does | ||||||
| @@ -23,17 +22,15 @@ below arguments to the make command | |||||||
| PROGLDFLAGS=-static | PROGLDFLAGS=-static | ||||||
| LIBNAME=lib64 | LIBNAME=lib64 | ||||||
| DESTDIR=/tmp/openrc-image | DESTDIR=/tmp/openrc-image | ||||||
| MKBASHCOMP=no |  | ||||||
| MKNET=no | MKNET=no | ||||||
| MKPAM=pam | MKPAM=pam | ||||||
| MKPREFIX=yes | MKPREFIX=yes | ||||||
| MKPKGCONFIG=no | MKPKGCONFIG=no | ||||||
| MKSELINUX=yes | MKSELINUX=yes | ||||||
| MKSTATICLIBS=no | MKSTATICLIBS=no | ||||||
| MKSYSVINIT=yes |  | ||||||
| MKTERMCAP=ncurses | MKTERMCAP=ncurses | ||||||
| MKTERMCAP=termcap | MKTERMCAP=termcap | ||||||
| MKZSHCOMP=no | MKTOOLS=yes | ||||||
| PKG_PREFIX=/usr/pkg | PKG_PREFIX=/usr/pkg | ||||||
| LOCAL_PREFIX=/usr/local | LOCAL_PREFIX=/usr/local | ||||||
| PREFIX=/usr/local | PREFIX=/usr/local | ||||||
| @@ -46,6 +43,9 @@ We don't support building a static OpenRC with PAM. | |||||||
|  |  | ||||||
| You may need to use `PROGLDFLAGS=-Wl,-Bstatic` on glibc instead of just `-static`. | 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`. | If you are building OpenRC for a Gentoo Prefix installation, add `MKPREFIX=yes`. | ||||||
|  |  | ||||||
| `PKG_PREFIX` should be set to where packages install to by default. | `PKG_PREFIX` should be set to where packages install to by default. | ||||||
| @@ -76,6 +76,10 @@ Obviously, if you're installing this onto a system that does not use | |||||||
| OpenRC by default then you may wish to backup the above listed files, | OpenRC by default then you may wish to backup the above listed files, | ||||||
| remove them and then install so that the OS hooks into OpenRC. | remove them and then install so that the OS hooks into OpenRC. | ||||||
|  |  | ||||||
|  | `init.d.misc` is not installed by default as the scripts will need | ||||||
|  | tweaking on a per distro basis. They are also non essential to the | ||||||
|  | operation of the system. | ||||||
|  |  | ||||||
| ## Reporting Bugs | ## Reporting Bugs | ||||||
|  |  | ||||||
| If you are using Gentoo Linux, bugs can be filed on their bugzilla under | If you are using Gentoo Linux, bugs can be filed on their bugzilla under | ||||||
|   | |||||||
| @@ -1,5 +1,4 @@ | |||||||
| OpenRC Coding Style Guide | # OpenRC Style Guide | ||||||
| ========================= |  | ||||||
|  |  | ||||||
| This is the openrc style manual.  It governs the coding style of all code | This is the openrc style manual.  It governs the coding style of all code | ||||||
| in this repository.  Follow it.  Contact openrc@gentoo.org for any questions | in this repository.  Follow it.  Contact openrc@gentoo.org for any questions | ||||||
|   | |||||||
| @@ -1,19 +0,0 @@ | |||||||
| Setting up the agetty service in OpenRC |  | ||||||
| =================================xxxxxx |  | ||||||
|  |  | ||||||
| The agetty service is an OpenRC specific way to monitor and respawn a |  | ||||||
| getty, using agetty, on Linux. To use this method, make sure you aren't |  | ||||||
| spawning a getty manager for this port some other way (such as through |  | ||||||
| sysvinit/inittab), then run the following commands as root. |  | ||||||
|  |  | ||||||
| Note that [port] refers to the port you are spawning the getty on, for |  | ||||||
| example, tty1 or ttyS0. The full path to it, for example, /dev/tty1 |  | ||||||
| should not be used. |  | ||||||
|  |  | ||||||
| ``` |  | ||||||
| # cd /etc/init.d |  | ||||||
| # ln -s agetty agetty.[port] |  | ||||||
| # cd /etc/conf.d |  | ||||||
| # cp agetty agetty.[port] |  | ||||||
| #rc-update add agetty.[port] [runlevel] |  | ||||||
| ``` |  | ||||||
| @@ -1,11 +0,0 @@ | |||||||
| DIR=	${BASHCOMPDIR} |  | ||||||
| CONF=	openrc \ |  | ||||||
| 		openrc-service-script \ |  | ||||||
| 		rc-service \ |  | ||||||
| 		rc-status \ |  | ||||||
| 		rc-update \ |  | ||||||
|  |  | ||||||
| MK=	../mk |  | ||||||
| include ${MK}/os.mk |  | ||||||
|  |  | ||||||
| include ${MK}/scripts.mk |  | ||||||
| @@ -1,29 +0,0 @@ | |||||||
| # Copyright (c) 2017 The OpenRC Authors. |  | ||||||
| # See the Authors file at the top-level directory of this distribution and |  | ||||||
| # https://github.com/OpenRC/openrc/blob/master/AUTHORS |  | ||||||
| # |  | ||||||
| # This file is part of OpenRC. It is subject to the license terms in |  | ||||||
| # the LICENSE file found in the top-level directory of this |  | ||||||
| # distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE |  | ||||||
| # This file may not be copied, modified, propagated, or distributed |  | ||||||
| # except according to the terms contained in the LICENSE file. |  | ||||||
|  |  | ||||||
| _openrc_service_script() |  | ||||||
| { |  | ||||||
| 	local script="${COMP_WORDS[0]}" |  | ||||||
| 	local cur="${COMP_WORDS[$COMP_CWORD]}" |  | ||||||
|  |  | ||||||
| 	if [[ ( -f "${script}" || -h "${script}" ) && -r "${script}" ]] \ |  | ||||||
| 	&& [[ "$(head -n 1 "${script}")" =~ \#\!.*/openrc-run ]] |  | ||||||
| 	then |  | ||||||
| 		[[ $COMP_CWORD -gt 1 ]] && return 1 |  | ||||||
| 		COMPREPLY=($(opts="start stop status restart pause zap ineed needsme iuse usesme broken"; \ |  | ||||||
| 			eval "$(grep '^opts=' "${script}")"; echo "${opts}")) |  | ||||||
| 		[[ -n "$COMPREPLY" ]] || COMPREPLY=(start stop restart zap) |  | ||||||
| 		COMPREPLY=($(compgen -W "${COMPREPLY[*]}" -- "${cur}")) |  | ||||||
| 	else |  | ||||||
| 		COMPREPLY=($(compgen -o default -- "${cur}")) |  | ||||||
| 	fi |  | ||||||
| 	return 0 |  | ||||||
| } |  | ||||||
| complete -F _openrc_service_script */etc/init.d/* |  | ||||||
| @@ -1,113 +0,0 @@ | |||||||
| # Copyright (c) 2017 The OpenRC Authors. |  | ||||||
| # See the Authors file at the top-level directory of this distribution and |  | ||||||
| # https://github.com/OpenRC/openrc/blob/master/AUTHORS |  | ||||||
| # |  | ||||||
| # This file is part of OpenRC. It is subject to the license terms in |  | ||||||
| # the LICENSE file found in the top-level directory of this |  | ||||||
| # distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE |  | ||||||
| # This file may not be copied, modified, propagated, or distributed |  | ||||||
| # except according to the terms contained in the LICENSE file. |  | ||||||
|  |  | ||||||
| # |  | ||||||
| # rc-service completion command |  | ||||||
| # |  | ||||||
| _rc_service() |  | ||||||
| { |  | ||||||
| 	local cur prev numwords opts |  | ||||||
| 	local words i x filename |  | ||||||
| 	local action actionpos |  | ||||||
| 	COMPREPLY=() |  | ||||||
| 	cur="${COMP_WORDS[COMP_CWORD]}" |  | ||||||
| 	prev="${COMP_WORDS[COMP_CWORD-1]}" |  | ||||||
| 	numwords=${#COMP_WORDS[*]} |  | ||||||
|  |  | ||||||
| 	if [[ ${prev} == '>' || ${prev} == '<' ]] ; then |  | ||||||
| 		COMPREPLY=($(compgen -f -- ${cur})) |  | ||||||
| 		return 0 |  | ||||||
| 	fi |  | ||||||
|  |  | ||||||
| 	# find action |  | ||||||
| 	for x in ${COMP_LINE} ; do |  | ||||||
| 		if [[ ${x} =~ --(list|exists|resolve) ]] || [[ ${x} =~ -(l|e|r) ]] |  | ||||||
| 		then |  | ||||||
| 			action=${x} |  | ||||||
| 			break |  | ||||||
| 		fi |  | ||||||
| 	done |  | ||||||
| 	if [[ -n ${action} ]]; then |  | ||||||
| 		for ((i = 0; i < ${numwords}; i++ )); do |  | ||||||
| 			if [[ ${COMP_WORDS[${i}]} == "${action}" ]]; then |  | ||||||
| 				actionpos=${i} |  | ||||||
| 				break |  | ||||||
| 			fi |  | ||||||
| 		done |  | ||||||
|  |  | ||||||
| 		for ((i = 1; i < ${numwords}; i++ )); do |  | ||||||
| 			if [[ ! ${COMP_WORDS[$i]} == -* ]]; then |  | ||||||
| 				break |  | ||||||
| 			fi |  | ||||||
| 		done |  | ||||||
| 	fi |  | ||||||
|  |  | ||||||
| 	if [[ ${COMP_CWORD} -eq 3 ]]; then |  | ||||||
| 		return 1 |  | ||||||
| 	fi |  | ||||||
|  |  | ||||||
| 	# check if an option was typed |  | ||||||
| 	if [[ ${cur} == -* ]]; then |  | ||||||
| 		if [[ ${cur} == --* ]]; then |  | ||||||
| 			opts="--list --exists --resolve" |  | ||||||
| 			COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) |  | ||||||
| 			return 0 |  | ||||||
| 		elif [[ ${cur} == -* ]]; then |  | ||||||
| 			opts="-l -e -r" |  | ||||||
| 			COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) |  | ||||||
| 			return 0 |  | ||||||
| 		fi |  | ||||||
|  |  | ||||||
| 		# NOTE: This slows things down! |  | ||||||
| 		# (Adapted from bash_completion by Ian Macdonald <ian@caliban.org>) |  | ||||||
| 		# This removes any options from the list of completions that have |  | ||||||
| 		# already been specified on the command line. |  | ||||||
| 		COMPREPLY=($(echo "${COMP_WORDS[@]}" | \ |  | ||||||
| 		(while read -d ' ' i; do |  | ||||||
| 			[[ -z ${i} ]] && continue |  | ||||||
| 			# flatten array with spaces on either side, |  | ||||||
| 			# otherwise we cannot grep on word boundaries of |  | ||||||
| 			# first and last word |  | ||||||
| 			COMPREPLY=" ${COMPREPLY[@]} " |  | ||||||
| 			# remove word from list of completions |  | ||||||
| 			COMPREPLY=(${COMPREPLY/ ${i%% *} / }) |  | ||||||
| 		done |  | ||||||
| 		echo ${COMPREPLY[@]}))) |  | ||||||
|  |  | ||||||
| 		return 0 |  | ||||||
| 	else |  | ||||||
| 		# no option was typed |  | ||||||
| 		if [[ ${COMP_CWORD} -eq 1 ]]; then			  # if first word typed |  | ||||||
| 			words="$(rc-service --list | grep ^${cur})"		  # complete for init scripts |  | ||||||
| 			COMPREPLY=($(for i in ${words} ; do \ |  | ||||||
| 			[[ ${i} == ${cur}* ]] && echo ${i} ; \ |  | ||||||
| 			done)) |  | ||||||
| 			return 0 |  | ||||||
| 		elif [[ ${COMP_CWORD} -eq 2 ]] && [[ ${prev} != -* ]]; then # if second word typed and we didn't type in a function |  | ||||||
| 			filename=$(rc-service --resolve ${prev}) |  | ||||||
| 			opts=$(cat ${filename} | grep "^\w*()" | sed "s/().*$//")	# Greps the functions included in the init script |  | ||||||
| 			if [[ "x${opts}" == "x" ]] ; then			   # if no options found loosen the grep algorhythm |  | ||||||
| 				opts=$(cat ${filename} | grep "\w*()" | sed "s/().*$//") |  | ||||||
| 			fi |  | ||||||
| 			COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) |  | ||||||
| 			return 0 |  | ||||||
| 		fi |  | ||||||
| 	fi |  | ||||||
| 	if [[ ${action} == '--exists' ]] || [[ ${action} == '-e' ]] || \ |  | ||||||
| 		[[ ${action} == '--resolve' ]]  || [[ ${action} == '-r' ]]; then |  | ||||||
| 		words="$(rc-service --list | grep ^${cur})" |  | ||||||
| 		COMPREPLY=($(for i in ${words} ; do \ |  | ||||||
| 			[[ ${i} == ${cur}* ]] && echo ${i} ; \ |  | ||||||
| 		done)) |  | ||||||
| 		return 0 |  | ||||||
| 	fi |  | ||||||
| 	return 0 |  | ||||||
| } && |  | ||||||
| complete -F _rc_service rc-service |  | ||||||
| @@ -1,31 +0,0 @@ | |||||||
| # Copyright (c) 2017 The OpenRC Authors. |  | ||||||
| # See the Authors file at the top-level directory of this distribution and |  | ||||||
| # https://github.com/OpenRC/openrc/blob/master/AUTHORS |  | ||||||
| # |  | ||||||
| # This file is part of OpenRC. It is subject to the license terms in |  | ||||||
| # the LICENSE file found in the top-level directory of this |  | ||||||
| # distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE |  | ||||||
| # This file may not be copied, modified, propagated, or distributed |  | ||||||
| # except according to the terms contained in the LICENSE file. |  | ||||||
|  |  | ||||||
| # |  | ||||||
| # rc-status completion command |  | ||||||
| # |  | ||||||
| _rcstatus() |  | ||||||
| { |  | ||||||
| 	local cur |  | ||||||
| 	cur="${COMP_WORDS[COMP_CWORD]}" |  | ||||||
| 	if [[ $COMP_CWORD -eq 1 ]]; then |  | ||||||
| 		if [[ "${cur}" == --* ]]; then |  | ||||||
| 			COMPREPLY=($(compgen -W '--all --list --unused' -- ${cur})) |  | ||||||
| 		elif [[ "${cur}" == -* ]]; then |  | ||||||
| 			COMPREPLY=($(compgen -W '-a -l -u' -- ${cur})) |  | ||||||
| 		else |  | ||||||
| 			COMPREPLY=($(compgen -W "$(rc-status --list)" -- ${cur})) |  | ||||||
| 		fi |  | ||||||
| 	else |  | ||||||
| 		unset COMPREPLY |  | ||||||
| 	fi |  | ||||||
| 	return 0 |  | ||||||
| } && |  | ||||||
| complete -F _rcstatus rc-status |  | ||||||
| @@ -1,42 +0,0 @@ | |||||||
| # Copyright (c) 2017 The OpenRC Authors. |  | ||||||
| # See the Authors file at the top-level directory of this distribution and |  | ||||||
| # https://github.com/OpenRC/openrc/blob/master/AUTHORS |  | ||||||
| # |  | ||||||
| # This file is part of OpenRC. It is subject to the license terms in |  | ||||||
| # the LICENSE file found in the top-level directory of this |  | ||||||
| # distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE |  | ||||||
| # This file may not be copied, modified, propagated, or distributed |  | ||||||
| # except according to the terms contained in the LICENSE file. |  | ||||||
|  |  | ||||||
| # |  | ||||||
| # rc-update completion command |  | ||||||
| # |  | ||||||
| _rc_update() |  | ||||||
| { |  | ||||||
| 	local cur show |  | ||||||
| 	COMPREPLY=() |  | ||||||
| 	cur="${COMP_WORDS[COMP_CWORD]}" |  | ||||||
| 	if [[ $COMP_CWORD -eq 1 ]]; then |  | ||||||
| 		if [[ "${cur}" == -* ]]; then |  | ||||||
| 			COMPREPLY=($(compgen -W '-a -d -s' -- ${cur})) |  | ||||||
| 		else |  | ||||||
| 			COMPREPLY=($(compgen -W 'add del show' ${cur})) |  | ||||||
| 		fi |  | ||||||
| 	else |  | ||||||
| 		if [[ "${COMP_WORDS[1]}" == "show" ]] || [[ "${COMP_WORDS[1]}" == "-s" ]]; then |  | ||||||
| 			show="TRUE" |  | ||||||
| 		fi |  | ||||||
| 		if ([[ $COMP_CWORD -eq 3 ]] && [[ -z "$show" ]]) || \ |  | ||||||
| 			([[ $COMP_CWORD -eq 2 ]] && [[ -n "$show" ]]); then |  | ||||||
| 		COMPREPLY=($(compgen -W "$(rc-status --list)" -- $cur)) |  | ||||||
| 		elif [[ $COMP_CWORD -eq 2 ]]; then |  | ||||||
| 			COMPREPLY=($(compgen -W "$(rc-service --list)" $cur)) |  | ||||||
| 		elif [[ ${#COMP_WORDS[*]} -gt 2 ]] ; then |  | ||||||
| 			COMPREPLY=($(compgen -W "$(rc-status --list)" -- $cur)) |  | ||||||
| 		else |  | ||||||
| 			unset COMPREPLY |  | ||||||
| 		fi |  | ||||||
| 	fi |  | ||||||
| 	return 0 |  | ||||||
| } && |  | ||||||
| complete -F _rc_update rc-update |  | ||||||
							
								
								
									
										2
									
								
								conf.d/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								conf.d/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | |||||||
|  | network | ||||||
|  | staticroute | ||||||
| @@ -1,20 +1,29 @@ | |||||||
| include ../mk/net.mk | include ../mk/net.mk | ||||||
|  |  | ||||||
| DIR=	${CONFDIR} | DIR=	${CONFDIR} | ||||||
| CONF=	bootmisc fsck hostname localmount netmount swap urandom ${CONF-${OS}} | CONF=	bootmisc fsck hostname localmount netmount urandom tmpfiles \ | ||||||
|  | 		${CONF-${OS}} | ||||||
|  |  | ||||||
| ifeq (${MKNET},yes) | ifeq (${MKNET},yes) | ||||||
| CONF+= network staticroute | CONF+= network staticroute | ||||||
|  | TARGETS+=	network staticroute | ||||||
|  | CLEANFILES+=	network staticroute | ||||||
| endif | endif | ||||||
|  |  | ||||||
| MK=	../mk | MK=	../mk | ||||||
| include ${MK}/os.mk | include ${MK}/os.mk | ||||||
|  |  | ||||||
| CONF-FreeBSD=	ipfw modules moused powerd rarpd savecore syscons | CONF-FreeBSD=	ipfw moused powerd rarpd savecore syscons | ||||||
|  |  | ||||||
| CONF-Linux=	agetty consolefont devfs dmesg hwclock keymaps killprocs modules \ | CONF-Linux=	consolefont devfs dmesg hwclock keymaps killprocs modules mtab \ | ||||||
| 	mtab net-online | 	net-online | ||||||
|  |  | ||||||
| CONF-NetBSD=	moused rarpd savecore | CONF-NetBSD=	moused rarpd savecore | ||||||
|  |  | ||||||
| include ${MK}/scripts.mk | include ${MK}/scripts.mk | ||||||
|  |  | ||||||
|  | network: network.in network${SFX} | ||||||
|  | 	cat $^ > $@ | ||||||
|  |  | ||||||
|  | staticroute: staticroute${SFX} | ||||||
|  | 	cp $@${SFX} $@ | ||||||
|   | |||||||
| @@ -1,11 +0,0 @@ | |||||||
| # make agetty quiet |  | ||||||
| #quiet="yes" |  | ||||||
|  |  | ||||||
| # Set the baud rate of the terminal line |  | ||||||
| #baud="" |  | ||||||
|  |  | ||||||
| # set the terminal type |  | ||||||
| #term_type="linux" |  | ||||||
|  |  | ||||||
| # extra options to pass to agetty for this port |  | ||||||
| #agetty_options="" |  | ||||||
| @@ -9,7 +9,7 @@ wipe_tmp="YES" | |||||||
| # This may be useful if you need the kernel boot log afterwards | # This may be useful if you need the kernel boot log afterwards | ||||||
| log_dmesg="YES" | log_dmesg="YES" | ||||||
|  |  | ||||||
| # Save the previous dmesg log to dmesg.old | # Save the previous dmesg log to dmesc.old | ||||||
| # This may be useful if you need to compare the current boot to the | # This may be useful if you need to compare the current boot to the | ||||||
| # previous one. | # previous one. | ||||||
| #previous_dmesg=no | #previous_dmesg=no | ||||||
|   | |||||||
| @@ -1,6 +1,3 @@ | |||||||
| # If you wish to pass any options to kill_all during shutdown, | # If you wish to pass any options to killall5 during shutdown, | ||||||
| # you should do so here. | # you should do so here. | ||||||
| # |  | ||||||
| # The setting is called killall5_opts because the options here are meant |  | ||||||
| # to be identical to those you could pass to killall5. |  | ||||||
| killall5_opts="" | killall5_opts="" | ||||||
|   | |||||||
| @@ -2,9 +2,8 @@ | |||||||
| # This could be useful for some NFS related work. | # This could be useful for some NFS related work. | ||||||
| #no_umounts="/dir1:/var/dir2" | #no_umounts="/dir1:/var/dir2" | ||||||
| # | # | ||||||
| # Mark certain mount points as critical. | # Ignore errors when mounting local file systems. | ||||||
| # This contains a space separated list of mount points which should be | # This should be left alone unless you know what you are doing. If it is | ||||||
| # considered critical. If one of these mount points cannot be mounted, | # set to yes, not only will we allow mount failures, but we will ignore | ||||||
| # localmount will fail. | # syntax errors in fstab. | ||||||
| # By default, this is empty. | #ignore_mount_errors="NO" | ||||||
| #critical_mounts="/home /var" |  | ||||||
|   | |||||||
| @@ -1,17 +1,18 @@ | |||||||
| # Linux users can define a list of modules for a specific kernel version, | # You can define a list modules for a specific kernel version, | ||||||
| # a released kernel version, a main kernel version or all kernel versions. | # a released kernel version, a main kernel version or just a list. | ||||||
| # The most specific versioned variable will take precedence. | # The most specific versioned variable will take precedence. | ||||||
| # FreeBSD users can only use the modules="foo bar" setting. |  | ||||||
| #modules_2_6_23_gentoo_r5="ieee1394 ohci1394" | #modules_2_6_23_gentoo_r5="ieee1394 ohci1394" | ||||||
| #modules_2_6_23="tun ieee1394" | #modules_2_6_23="tun ieee1394" | ||||||
| #modules_2_6="tun" | #modules_2_6="tun" | ||||||
| #modules_2="ipv6" | #modules_2="ipv6" | ||||||
| #modules="ohci1394" | #modules="ohci1394" | ||||||
|  |  | ||||||
| # Linux users can give the modules some arguments if needed, per version | # You can give modules a different name when they load - the new name | ||||||
| # if necessary. | # will also be used to pick arguments below. | ||||||
|  | #modules="dummy:dummy1" | ||||||
|  |  | ||||||
|  | # Give the modules some arguments if needed, per version if necessary. | ||||||
| # Again, the most specific versioned variable will take precedence. | # Again, the most specific versioned variable will take precedence. | ||||||
| # This is not supported on FreeBSD. |  | ||||||
| #module_ieee1394_args="debug" | #module_ieee1394_args="debug" | ||||||
| #module_ieee1394_args_2_6_23_gentoo_r5="debug2" | #module_ieee1394_args_2_6_23_gentoo_r5="debug2" | ||||||
| #module_ieee1394_args_2_6_23="debug3" | #module_ieee1394_args_2_6_23="debug3" | ||||||
|   | |||||||
							
								
								
									
										14
									
								
								conf.d/mtab
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								conf.d/mtab
									
									
									
									
									
								
							| @@ -1,13 +1,5 @@ | |||||||
| # As far as we are aware, there are no modern linux tools or use cases |  | ||||||
| # which require /etc/mtab to be a separate file from /proc/self/mounts, |  | ||||||
| # so this setting should be commented out. |  | ||||||
| # If it is set to yes, please comment it out and run this command: |  | ||||||
| # # rc-service mtab restart |  | ||||||
| # In the future, the mtab service will be removed since we are not aware |  | ||||||
| # of any need to manipulate /etc/mtab as a separate file from |  | ||||||
| # /proc/self/mounts. |  | ||||||
| # If you have a technical reason we should keep this support, please |  | ||||||
| # open an issue at https://github.com/openrc/openrc/issues and let us |  | ||||||
| # know about your situation. |  | ||||||
| # This setting controls whether /etc/mtab is a file or symbolic link. | # This setting controls whether /etc/mtab is a file or symbolic link. | ||||||
|  | # Most of the time, you shouldn't touch this. However, if the default | ||||||
|  | # breaks your system in some way, please see the NEWS.md file that comes | ||||||
|  | # with OpenRC for the actions to take. | ||||||
| # mtab_is_file=no | # mtab_is_file=no | ||||||
|   | |||||||
| @@ -1,15 +1,12 @@ | |||||||
| # The interfaces setting controls which interfaces the net-online | # The interfaces setting controls which interfaces the net-online | ||||||
| # service considers in deciding whether the network is active. The | # service considers in deciding whether the network is active. By | ||||||
| # default is all interfaces that support ethernet. | # default, it is all ethernet or wireless LAN interfaces. | ||||||
| #interfaces="" | #interfaces="" | ||||||
|  |  | ||||||
| # This setting controls whether a ping test is included in the test for | # This setting controls whether a ping to the default gateway is | ||||||
| # network connectivity after all interfaces are active. | # included in the test for network connectivity after all interfaces | ||||||
| #include_ping_test=no | # are active. | ||||||
|  | #ping_default_gateway=no | ||||||
| # This setting is the host to attempt to ping if the above is yes. |  | ||||||
| # The default is google.com. |  | ||||||
| #ping_test_host=some.host.name |  | ||||||
|  |  | ||||||
| # The timeout setting controls how long the net-online service waits | # The timeout setting controls how long the net-online service waits | ||||||
| # for the network to be configured. | # for the network to be configured. | ||||||
|   | |||||||
| @@ -38,10 +38,3 @@ | |||||||
| # other words, please change it to be more suited to your system. | # other words, please change it to be more suited to your system. | ||||||
| # | # | ||||||
| rc_need="net" | rc_need="net" | ||||||
| # |  | ||||||
| # Mark certain mount points as critical. |  | ||||||
| # This contains aspace separated list of mount points which should be |  | ||||||
| # considered critical. If one of these mount points cannot be mounted, |  | ||||||
| # netmount will fail. |  | ||||||
| # By default, this is empty. |  | ||||||
| #critical_mounts="/home /var" |  | ||||||
|   | |||||||
| @@ -1,80 +0,0 @@ | |||||||
| # Assign static IP addresses and run custom scripts per interface. |  | ||||||
| # Seperate commands with ; |  | ||||||
| # Prefix with ! to run a shell script. |  | ||||||
| # Use \$int to represent the interface |  | ||||||
| #ifconfig_eth0="192.168.0.10 netmask 255.255.255.0" |  | ||||||
|  |  | ||||||
| # You also have ifup_eth0 and ifdown_eth0 to run other commands when |  | ||||||
| # eth0 is started and stopped. |  | ||||||
| # You should note that we don't stop the network at system shutdown by default. |  | ||||||
| # If you really need this, then set keep_network=NO |  | ||||||
|  |  | ||||||
| # Lastly, the interfaces variable pulls in virtual interfaces that cannot |  | ||||||
| # be automatically detected. |  | ||||||
| #interfaces="br0 bond0 vlan0" |  | ||||||
|  |  | ||||||
| # You can also use files instead of variables here if you like: |  | ||||||
| # /etc/ifconfig.eth0 is equivalent to ifconfig_eth0 |  | ||||||
| # /etc/ip.eth0 is equivalent to ifconfig_eth0 |  | ||||||
| # /etc/ifup.eth0 is equivalent to ifup_eth0 |  | ||||||
| # /etc/ifdown.eth0 is equivalent to ifdown_eth0 |  | ||||||
| # Any files found will automatically be put into the interfaces variable. |  | ||||||
| # You don't need to escape variables in files, so use $int instead of \$int. |  | ||||||
|  |  | ||||||
| # If you require DHCP, you should install dhcpcd and add it to the boot or |  | ||||||
| # default runlevel. |  | ||||||
|  |  | ||||||
| # NIS users can set the domain name here |  | ||||||
| #domainname="foobar" |  | ||||||
|  |  | ||||||
| # You can add a default route. |  | ||||||
| # The way this is done is slightly different depending on the operating system. |  | ||||||
| # |  | ||||||
| # *BSD: |  | ||||||
| #defaultroute="192.168.0.1" |  | ||||||
| #defaultroute6="2001:a:b:c" |  | ||||||
| #Hurd/Linux (ifconfig): |  | ||||||
| #defaultroute="gw 192.168.0.1" |  | ||||||
| #defaultroute6="gw 2001:a:b:c" |  | ||||||
|  |  | ||||||
| # The remainder of this file applies to Linux only and shows how |  | ||||||
| # iproute2 is supported along with other examples. |  | ||||||
|  |  | ||||||
| # ifconfig under Linux is not that powerful and doesn't easily handle |  | ||||||
| # multiple addresses |  | ||||||
| # On the other hand, iproute2 is quite powerful and is also supported |  | ||||||
| #ip_eth0="192.168.0.10/24; 192.168.10.10/24" |  | ||||||
|  |  | ||||||
| # You can also use iproute2 to add the default route. |  | ||||||
| #defaultiproute="via 192.168.0.1" |  | ||||||
| #defaultiproute6="via 2001:a:b:c" |  | ||||||
|  |  | ||||||
| # ip doesn't handle MTU like ifconfig, but we can do it like so |  | ||||||
| #ifup_eth0="ip link set \$int mtu 1500" |  | ||||||
|  |  | ||||||
| # Create a bonded interface |  | ||||||
| #interfaces="bond0" |  | ||||||
| #ifup_bond0="modprobe bonding; ifconfig \$int up; ifenslave \$int bge0" |  | ||||||
| #ifconfig_bond0="192.168.0.10 netmask 255.255.255.0" |  | ||||||
| #ifdown_bond0="rmmod bonding" |  | ||||||
|  |  | ||||||
| # Create tap interface and a bridge interface. |  | ||||||
| # We add the tap to the bridge. |  | ||||||
| # An external program, like dhcpcd, will configure the IP on the bridge |  | ||||||
| #interfaces="tun0 br0" |  | ||||||
| #ifup_tun0="tunctl -t \$int" |  | ||||||
| #ifdown_tun0="tunctl -d \$int" |  | ||||||
| #ifup_br0="brctl addbr \$int; brctl add \$int eth1; brtctl add \$int eth2" |  | ||||||
| #ifdown_br0="ifconfig \$int down; btctl delbr \$int" |  | ||||||
|  |  | ||||||
| # Create VLAN |  | ||||||
| #interfaces="eth0_2 eth0_3 eth0_4" |  | ||||||
| #ifup_eth0="vconfig add \$int 2; vconfig add \$int 3; vconfig add \$int 4" |  | ||||||
| #ifconfig_eth0_2="192.168.2.10 netmask 255.255.255.0" |  | ||||||
| #ifconfig_eth0_3="192.168.3.10 netmask 255.255.255.0" |  | ||||||
| #ifconfig_eth0_4="192.168.4.10 netmask 255.255.255.0" |  | ||||||
| #ifdown_eth0="vconfig rem \$int.2; vconfig rem \$int.3; vconfig rem \$int.4" |  | ||||||
|  |  | ||||||
| # Normally you would use wpa_supplicant to configure wireless, but you can |  | ||||||
| # use iwconfig also |  | ||||||
| #ifup_wlan0="iwconfig \$int key s:secretkey enc open essid foobar" |  | ||||||
							
								
								
									
										4
									
								
								conf.d/network.BSD.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								conf.d/network.BSD.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  |  | ||||||
|  | # You can assign a default route | ||||||
|  | #defaultroute="192.168.0.1" | ||||||
|  | #defaultroute6="2001:a:b:c" | ||||||
							
								
								
									
										4
									
								
								conf.d/network.GNU-kFreeBSD.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								conf.d/network.GNU-kFreeBSD.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  |  | ||||||
|  | # You can assign a default route | ||||||
|  | #defaultroute="192.168.0.1" | ||||||
|  | #defaultroute6="2001:a:b:c" | ||||||
							
								
								
									
										4
									
								
								conf.d/network.GNU.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								conf.d/network.GNU.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  |  | ||||||
|  | # You can assign a default route | ||||||
|  | #defaultroute="gw 192.168.0.1" | ||||||
|  | #defaultroute6="gw 2001:a:b:c" | ||||||
							
								
								
									
										43
									
								
								conf.d/network.Linux.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								conf.d/network.Linux.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | |||||||
|  |  | ||||||
|  | # You can assign a default route | ||||||
|  | #defaultroute="gw 192.168.0.1" | ||||||
|  | #defaultroute6="gw 2001:a:b:c" | ||||||
|  |  | ||||||
|  | # ifconfig under Linux is not that powerful and doesn't easily handle | ||||||
|  | # multiple addresses | ||||||
|  | # On the other hand, ip (iproute2) is quite powerful and is also supported | ||||||
|  | #ip_eth0="192.168.0.10/24; 192.168.10.10/24" | ||||||
|  |  | ||||||
|  | # You can also use ip to add the default route. | ||||||
|  | #defaultiproute="via 192.168.0.1" | ||||||
|  | #defaultiproute6="via 2001:a:b:c" | ||||||
|  |  | ||||||
|  | # ip doesn't handle MTU like ifconfig, but we can do it like so | ||||||
|  | #ifup_eth0="ip link set \$int mtu 1500" | ||||||
|  |  | ||||||
|  | # Create a bonded interface | ||||||
|  | #interfaces="bond0" | ||||||
|  | #ifup_bond0="modprobe bonding; ifconfig \$int up; ifenslave \$int bge0" | ||||||
|  | #ifconfig_bond0="192.168.0.10 netmask 255.255.255.0" | ||||||
|  | #ifdown_bond0="rmmod bonding" | ||||||
|  |  | ||||||
|  | # Create tap interface and a bridge interface. | ||||||
|  | # We add the tap to the bridge. | ||||||
|  | # An external program, like dhcpcd, will configure the IP on the bridge | ||||||
|  | #interfaces="tun0 br0" | ||||||
|  | #ifup_tun0="tunctl -t \$int" | ||||||
|  | #ifdown_tun0="tunctl -d \$int" | ||||||
|  | #ifup_br0="brctl addbr \$int; brctl add \$int eth1; brtctl add \$int eth2" | ||||||
|  | #ifdown_br0="ifconfig \$int down; btctl delbr \$int" | ||||||
|  |  | ||||||
|  | # Create VLAN | ||||||
|  | #interfaces="eth0_2 eth0_3 eth0_4" | ||||||
|  | #ifup_eth0="vconfig add \$int 2; vconfig add \$int 3; vconfig add \$int 4" | ||||||
|  | #ifconfig_eth0_2="192.168.2.10 netmask 255.255.255.0" | ||||||
|  | #ifconfig_eth0_3="192.168.3.10 netmask 255.255.255.0" | ||||||
|  | #ifconfig_eth0_4="192.168.4.10 netmask 255.255.255.0" | ||||||
|  | #ifdown_eth0="vconfig rem \$int.2; vconfig rem \$int.3; vconfig rem \$int.4" | ||||||
|  |  | ||||||
|  | # Normally you would use wpa_supplicant to configure wireless, but you can | ||||||
|  | # use iwconfig also | ||||||
|  | #ifup_wlan0="iwconfig \$int key s:secretkey enc open essid foobar" | ||||||
							
								
								
									
										28
									
								
								conf.d/network.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								conf.d/network.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | |||||||
|  | # Assign static IP addresses and run custom scripts per interface. | ||||||
|  | # Seperate commands with ; | ||||||
|  | # Prefix with ! to run a shell script. | ||||||
|  | # Use \$int to represent the interface | ||||||
|  | #ifconfig_eth0="192.168.0.10 netmask 255.255.255.0" | ||||||
|  |  | ||||||
|  | # You also have ifup_eth0 and ifdown_eth0 to run other commands when | ||||||
|  | # eth0 is started and stopped. | ||||||
|  | # You should note that we don't stop the network at system shutdown by default. | ||||||
|  | # If you really need this, then set keep_network=NO | ||||||
|  |  | ||||||
|  | # Lastly, the interfaces variable pulls in virtual interfaces that cannot | ||||||
|  | # be automatically detected. | ||||||
|  | #interfaces="br0 bond0 vlan0" | ||||||
|  |  | ||||||
|  | # You can also use files instead of variables here if you like: | ||||||
|  | # /etc/ifconfig.eth0 is equivalent to ifconfig_eth0 | ||||||
|  | # /etc/ip.eth0 is equivalent to ifconfig_eth0 | ||||||
|  | # /etc/ifup.eth0 is equivalent to ifup_eth0 | ||||||
|  | # /etc/ifdown.eth0 is equivalent to ifdown_eth0 | ||||||
|  | # Any files found will automatically be put into the interfaces variable. | ||||||
|  | # You don't need to escape variables in files, so use $int instead of \$int. | ||||||
|  |  | ||||||
|  | # If you require DHCP, you should install dhcpcd and it to the boot or | ||||||
|  | # default runlevel. | ||||||
|  |  | ||||||
|  | # NIS users can set the domain name here | ||||||
|  | #domainname="foobar" | ||||||
| @@ -1,26 +0,0 @@ | |||||||
| # Static routes are defined differently depending on your operating |  | ||||||
| # system, so please be sure to use the correct syntax. |  | ||||||
| # Do not use this file to define the default route. |  | ||||||
| # In all settings, multiple routes should be separated using ; or new lines. |  | ||||||
|  |  | ||||||
| # Define static routes on Linux using route. See route(8) for syntax. |  | ||||||
| #staticroute="net 192.168.0.0 netmask 255.255.255.0 gw 10.73.1.1 |  | ||||||
| #net 192.168.1.0 netmask 255.255.255.0 gw 10.73.1.1" |  | ||||||
|  |  | ||||||
| # Define static routes on Linux using iproute2. See ip(8) for syntax. |  | ||||||
| #staticiproute="192.168.0.0/24 via 10.73.1.1; 192.168.1.0/24 via 10.73.1.1" |  | ||||||
|  |  | ||||||
| # Define static routes on GNU/Hurd. See route(8) for syntax. |  | ||||||
| # /etc/route.conf(5) takes precedence over this configuration. |  | ||||||
| # FIXME: "net ..." not supported |  | ||||||
| #staticroute="net 192.168.0.0 -netmask 255.255.255.0 --address 10.73.1.1 |  | ||||||
| #net 192.168.1.0 -netmask 255.255.255.0 --address 10.73.1.1" |  | ||||||
|  |  | ||||||
| # Define static routes on GNU/KFreeBSD. See route(8) for syntax. |  | ||||||
| #staticroute="net 192.168.0.0 10.73.1.1 netmask 255.255.255.0 |  | ||||||
| #net 192.168.1.0 10.73.1.1 netmask 255.255.255.0" |  | ||||||
|  |  | ||||||
| # Define static routes on other BSD systems. See route(8) for syntax. |  | ||||||
| # /etc/route.conf(5) takes precedence over this configuration. |  | ||||||
| #staticroute="net 192.168.0.0 -netmask 255.255.255.0 10.73.1.1 |  | ||||||
| #net 192.168.1.0 -netmask 255.255.255.0 10.73.1.1" |  | ||||||
							
								
								
									
										6
									
								
								conf.d/staticroute.BSD.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								conf.d/staticroute.BSD.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | # Separate multiple routes using ; or new lines. | ||||||
|  | # /etc/route.conf(5) takes precedence over this configuration. | ||||||
|  |  | ||||||
|  | # Example static routes. See route(8) for syntax. | ||||||
|  | #staticroute="net 192.168.0.0 -netmask 255.255.255.0 10.73.1.1 | ||||||
|  | #net 192.168.1.0 -netmask 255.255.255.0 10.73.1.1" | ||||||
							
								
								
									
										5
									
								
								conf.d/staticroute.GNU-kFreeBSD.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								conf.d/staticroute.GNU-kFreeBSD.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | # Separate multiple routes using ; or new lines. | ||||||
|  |  | ||||||
|  | # Example static routes. See route(8) for syntax. | ||||||
|  | #staticroute="net 192.168.0.0 10.73.1.1 netmask 255.255.255.0 | ||||||
|  | #net 192.168.1.0 10.73.1.1 netmask 255.255.255.0" | ||||||
							
								
								
									
										7
									
								
								conf.d/staticroute.GNU.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								conf.d/staticroute.GNU.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | |||||||
|  | # Separate multiple routes using ; or new lines. | ||||||
|  | # /etc/route.conf(5) takes precedence over this configuration. | ||||||
|  |  | ||||||
|  | # Example static routes. See route(8) for syntax. | ||||||
|  | # FIXME: "net ..." not supported | ||||||
|  | #staticroute="net 192.168.0.0 -netmask 255.255.255.0 --address 10.73.1.1 | ||||||
|  | #net 192.168.1.0 -netmask 255.255.255.0 --address 10.73.1.1" | ||||||
							
								
								
									
										8
									
								
								conf.d/staticroute.Linux.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								conf.d/staticroute.Linux.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | # Separate multiple routes using ; or new lines. | ||||||
|  |  | ||||||
|  | # Example static routes. See route(8) for syntax. | ||||||
|  | #staticroute="net 192.168.0.0 netmask 255.255.255.0 gw 10.73.1.1 | ||||||
|  | #net 192.168.1.0 netmask 255.255.255.0 gw 10.73.1.1" | ||||||
|  |  | ||||||
|  | # Example static routes using iproute2. See ip(8) for syntax. | ||||||
|  | #staticiproute="192.168.0.0/24 via 10.73.1.1; 192.168.1.0/24 via 10.73.1.1" | ||||||
							
								
								
									
										13
									
								
								conf.d/swap
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								conf.d/swap
									
									
									
									
									
								
							| @@ -1,13 +0,0 @@ | |||||||
| # If you are only using local swap partitions, you should not change |  | ||||||
| # this file. Otherwise, you need to uncomment the below rc_before line |  | ||||||
| # followed by the appropriate rc_need line. |  | ||||||
| #rc_before="!localmount" |  | ||||||
| # |  | ||||||
| # If you are using swap files stored on local file systems, uncomment |  | ||||||
| # this line. |  | ||||||
| #rc_need="localmount" |  | ||||||
| # |  | ||||||
| # If you are using swap files stored on network file systems or swap |  | ||||||
| # partitions stored on network block devices such as iSCSI, uncomment |  | ||||||
| # this line. |  | ||||||
| #rc_need="netmount" |  | ||||||
							
								
								
									
										3
									
								
								conf.d/tmpfiles
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								conf.d/tmpfiles
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | # Extra options for tmpfiles.sh | ||||||
|  | #tmpfiles_opts="--verbose" | ||||||
|  | tmpfiles_opts="" | ||||||
							
								
								
									
										1
									
								
								etc/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								etc/.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,2 +1,3 @@ | |||||||
|  | rc.conf | ||||||
| rc | rc | ||||||
| rc.shutdown | rc.shutdown | ||||||
|   | |||||||
| @@ -1,8 +1,10 @@ | |||||||
| DIR=	${SYSCONFDIR} | DIR=	${SYSCONFDIR} | ||||||
| SRCS=	rc.in rc.shutdown.in | SRCS=	rc.conf.in rc.in rc.shutdown.in | ||||||
| BIN=	${BIN-${OS}} | BIN=	${BIN-${OS}} | ||||||
| CONF=	rc.conf ${BIN-${OS}} | CONF=	rc.conf ${BIN-${OS}} | ||||||
|  |  | ||||||
|  | CLEANFILES+=	rc.conf | ||||||
|  |  | ||||||
| MK=	../mk | MK=	../mk | ||||||
| include ${MK}/os.mk | include ${MK}/os.mk | ||||||
|  |  | ||||||
| @@ -21,3 +23,6 @@ CONF-NetBSD= | |||||||
| SED_EXTRA=	${SED_EXTRA-${OS}} | SED_EXTRA=	${SED_EXTRA-${OS}} | ||||||
|  |  | ||||||
| include ${MK}/scripts.mk | include ${MK}/scripts.mk | ||||||
|  |  | ||||||
|  | rc.conf: rc.conf.in rc.conf.${OS} | ||||||
|  | 	${SED} ${SED_REPLACE} ${SED_EXTRA} $^ > $@ | ||||||
|   | |||||||
							
								
								
									
										314
									
								
								etc/rc.conf
									
									
									
									
									
								
							
							
						
						
									
										314
									
								
								etc/rc.conf
									
									
									
									
									
								
							| @@ -1,314 +0,0 @@ | |||||||
| # Global OpenRC configuration settings |  | ||||||
|  |  | ||||||
| # Set to "YES" if you want the rc system to try and start services |  | ||||||
| # in parallel for a slight speed improvement. When running in parallel we |  | ||||||
| # prefix the service output with its name as the output will get |  | ||||||
| # jumbled up. |  | ||||||
| # WARNING: whilst we have improved parallel, it can still potentially lock |  | ||||||
| # the boot process. Don't file bugs about this unless you can supply |  | ||||||
| # patches that fix it without breaking other things! |  | ||||||
| #rc_parallel="NO" |  | ||||||
|  |  | ||||||
| # Set rc_interactive to "YES" and you'll be able to press the I key during |  | ||||||
| # boot so you can choose to start specific services. Set to "NO" to disable |  | ||||||
| # this feature. This feature is automatically disabled if rc_parallel is |  | ||||||
| # set to YES. |  | ||||||
| #rc_interactive="YES" |  | ||||||
|  |  | ||||||
| # If we need to drop to a shell, you can specify it here. |  | ||||||
| # If not specified we use $SHELL, otherwise the one specified in /etc/passwd, |  | ||||||
| # otherwise /bin/sh |  | ||||||
| # Linux users could specify /sbin/sulogin |  | ||||||
| #rc_shell=/bin/sh |  | ||||||
|  |  | ||||||
| # Do we allow any started service in the runlevel to satisfy the dependency |  | ||||||
| # or do we want all of them regardless of state? For example, if net.eth0 |  | ||||||
| # and net.eth1 are in the default runlevel then with rc_depend_strict="NO" |  | ||||||
| # both will be started, but services that depend on 'net' will work if either |  | ||||||
| # one comes up. With rc_depend_strict="YES" we would require them both to |  | ||||||
| # come up. |  | ||||||
| #rc_depend_strict="YES" |  | ||||||
|  |  | ||||||
| # rc_hotplug controls which services we allow to be hotplugged. |  | ||||||
| # A hotplugged service is one started by a dynamic dev manager when a matching |  | ||||||
| # hardware device is found. |  | ||||||
| # Hotplugged services appear in the "hotplugged" runlevel. |  | ||||||
| # If rc_hotplug is set to any value, we compare the name of this service |  | ||||||
| # to every pattern in the value, from left to right, and we allow the |  | ||||||
| # service to be hotplugged if it matches a pattern, or if it matches no |  | ||||||
| # patterns. Patterns can include shell wildcards. |  | ||||||
| # To disable services from being hotplugged, prefix patterns with "!". |  | ||||||
| #If rc_hotplug is not set or is empty, all hotplugging is disabled. |  | ||||||
| # Example - rc_hotplug="net.wlan !net.*" |  | ||||||
| # This allows net.wlan and any service not matching net.* to be hotplugged. |  | ||||||
| # Example - rc_hotplug="!net.*" |  | ||||||
| # This allows services that do not match "net.*" to be hotplugged. |  | ||||||
|  |  | ||||||
| # rc_logger launches a logging daemon to log the entire rc process to |  | ||||||
| # /var/log/rc.log |  | ||||||
| # NOTE: Linux systems require the devfs service to be started before |  | ||||||
| # logging can take place and as such cannot log the sysinit runlevel. |  | ||||||
| #rc_logger="NO" |  | ||||||
|  |  | ||||||
| # Through rc_log_path you can specify a custom log file. |  | ||||||
| # The default value is: /var/log/rc.log |  | ||||||
| #rc_log_path="/var/log/rc.log" |  | ||||||
|  |  | ||||||
| # If you want verbose output for OpenRC, set this to yes. If you want |  | ||||||
| # verbose output for service foo only, set it to yes in /etc/conf.d/foo. |  | ||||||
| #rc_verbose=no |  | ||||||
|  |  | ||||||
| # By default we filter the environment for our running scripts. To allow other |  | ||||||
| # variables through, add them here. Use a * to allow all variables through. |  | ||||||
| #rc_env_allow="VAR1 VAR2" |  | ||||||
|  |  | ||||||
| # By default we assume that all daemons will start correctly. |  | ||||||
| # However, some do not - a classic example is that they fork and return 0 AND |  | ||||||
| # then child barfs on a configuration error. Or the daemon has a bug and the |  | ||||||
| # child crashes. You can set the number of milliseconds start-stop-daemon |  | ||||||
| # waits to check that the daemon is still running after starting here. |  | ||||||
| # The default is 0 - no checking. |  | ||||||
| #rc_start_wait=100 |  | ||||||
|  |  | ||||||
| # rc_nostop is a list of services which will not stop when changing runlevels. |  | ||||||
| # This still allows the service itself to be stopped when called directly. |  | ||||||
| #rc_nostop="" |  | ||||||
|  |  | ||||||
| # rc will attempt to start crashed services by default. |  | ||||||
| # However, it will not stop them by default as that could bring down other |  | ||||||
| # critical services. |  | ||||||
| #rc_crashed_stop=NO |  | ||||||
| #rc_crashed_start=YES |  | ||||||
|  |  | ||||||
| # Set rc_nocolor to yes if you do not want colors displayed in OpenRC |  | ||||||
| # output. |  | ||||||
| #rc_nocolor=NO |  | ||||||
|  |  | ||||||
| ############################################################################## |  | ||||||
| # MISC CONFIGURATION VARIABLES |  | ||||||
| # There variables are shared between many init scripts |  | ||||||
|  |  | ||||||
| # Set unicode to YES to turn on unicode support for keyboards and screens. |  | ||||||
| #unicode="NO" |  | ||||||
|  |  | ||||||
| # This is how long fuser should wait for a remote server to respond. The |  | ||||||
| # default is 60 seconds, but  it can be adjusted here. |  | ||||||
| #rc_fuser_timeout=60 |  | ||||||
|  |  | ||||||
| # Below is the default list of network fstypes. |  | ||||||
| # |  | ||||||
| # afs ceph cifs coda davfs fuse fuse.sshfs gfs glusterfs lustre ncpfs |  | ||||||
| # nfs nfs4 ocfs2 shfs smbfs |  | ||||||
| # |  | ||||||
| # If you would like to add to this list, you can do so by adding your |  | ||||||
| # own fstypes to the following variable. |  | ||||||
| #extra_net_fs_list="" |  | ||||||
|  |  | ||||||
| ############################################################################## |  | ||||||
| # SERVICE CONFIGURATION VARIABLES |  | ||||||
| # 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. |  | ||||||
| #SSD_NICELEVEL="-19" |  | ||||||
| # Or the ionice level. The format is class[:data] , just like the |  | ||||||
| # --ionice start-stop-daemon parameter. |  | ||||||
| #SSD_IONICELEVEL="2:2" |  | ||||||
|  |  | ||||||
| # Pass ulimit parameters |  | ||||||
| # If you are using bash in POSIX mode for your shell, note that the |  | ||||||
| # ulimit command uses a block size of 512 bytes for the -c and -f |  | ||||||
| # options |  | ||||||
| #rc_ulimit="-u 30" |  | ||||||
|  |  | ||||||
| # It's possible to define extra dependencies for services like so |  | ||||||
| #rc_config="/etc/foo" |  | ||||||
| #rc_need="openvpn" |  | ||||||
| #rc_use="net.eth0" |  | ||||||
| #rc_after="clock" |  | ||||||
| #rc_before="local" |  | ||||||
| #rc_provide="!net" |  | ||||||
|  |  | ||||||
| # You can also enable the above commands here for each service. Below is an |  | ||||||
| # example for service foo. |  | ||||||
| #rc_foo_config="/etc/foo" |  | ||||||
| #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 services do NOT provide net. |  | ||||||
| #rc_net_tap0_provide="!net" |  | ||||||
|  |  | ||||||
| # This is the subsystem type. |  | ||||||
| # It is used to match against keywords set by the keyword call in the |  | ||||||
| # depend function of service scripts. |  | ||||||
| # |  | ||||||
| # It should be set to the value representing the environment this file is |  | ||||||
| # PRESENTLY in, not the virtualization the environment is capable of. |  | ||||||
| # If it is commented out, automatic detection will be used. |  | ||||||
| # |  | ||||||
| # The list below shows all possible settings as well as the host |  | ||||||
| # operating systems where they can be used and autodetected. |  | ||||||
| # |  | ||||||
| # ""               - nothing special |  | ||||||
| # "docker"         - Docker container manager (Linux) |  | ||||||
| # "jail"           - Jail (DragonflyBSD or FreeBSD) |  | ||||||
| # "lxc"            - Linux Containers |  | ||||||
| # "openvz"         - Linux OpenVZ |  | ||||||
| # "prefix"         - Prefix |  | ||||||
| # "rkt"            - CoreOS container management system (Linux) |  | ||||||
| # "subhurd"        - Hurd subhurds (to be checked) |  | ||||||
| # "systemd-nspawn" - Container created by systemd-nspawn (Linux) |  | ||||||
| # "uml"            - Usermode Linux |  | ||||||
| # "vserver"        - Linux vserver |  | ||||||
| # "xen0"           - Xen0 Domain (Linux and NetBSD) |  | ||||||
| # "xenU"           - XenU Domain (Linux and NetBSD) |  | ||||||
| #rc_sys="" |  | ||||||
|  |  | ||||||
| # if  you use openrc-init, which is currently only available on Linux, |  | ||||||
| # this is the default runlevel to activate after "sysinit" and "boot" |  | ||||||
| # when booting. |  | ||||||
| #rc_default_runlevel="default" |  | ||||||
|  |  | ||||||
| # on Linux and Hurd, this is the number of ttys allocated for logins |  | ||||||
| # It is used in the consolefont, keymaps, numlock and termencoding |  | ||||||
| # service scripts. |  | ||||||
| rc_tty_number=12 |  | ||||||
|  |  | ||||||
| ############################################################################## |  | ||||||
| # LINUX CGROUPS RESOURCE MANAGEMENT |  | ||||||
|  |  | ||||||
| # This sets the mode used to mount cgroups. |  | ||||||
| # "hybrid" mounts cgroups version 2 on /sys/fs/cgroup/unified and |  | ||||||
| # cgroups version 1 on /sys/fs/cgroup. |  | ||||||
| # "legacy" mounts cgroups version 1 on /sys/fs/cgroup |  | ||||||
| # "unified" mounts cgroups version 2 on /sys/fs/cgroup |  | ||||||
| #rc_cgroup_mode="hybrid" |  | ||||||
|  |  | ||||||
| # This is a list of controllers which should be enabled for cgroups version 2. |  | ||||||
| # If hybrid mode is being used, controllers listed here will not be |  | ||||||
| # available for cgroups version 1. |  | ||||||
| # This is a global setting. |  | ||||||
| #rc_cgroup_controllers="" |  | ||||||
|  |  | ||||||
| # This variable contains the cgroups version 2 settings for your services. |  | ||||||
| # If this is set in this file, the settings will apply to all services. |  | ||||||
| # If you want different settings for each service, place the settings in |  | ||||||
| # /etc/conf.d/foo for service foo. |  | ||||||
| # The format is to specify the setting and value followed by a newline. |  | ||||||
| # Multiple settings and values can be specified. |  | ||||||
| # For example, you would use this to set the maximum memory and maximum |  | ||||||
| # number of pids for a service. |  | ||||||
| #rc_cgroup_settings=" |  | ||||||
| #memory.max 10485760 |  | ||||||
| #pids.max max |  | ||||||
| #" |  | ||||||
| # |  | ||||||
| # For more information about the adjustments that can be made with |  | ||||||
| # cgroups version 2, see Documentation/cgroups-v2.txt in the linux kernel |  | ||||||
| # source tree. |  | ||||||
| #rc_cgroup_settings="" |  | ||||||
|  |  | ||||||
| # This switch controls whether or not cgroups version 1 controllers are |  | ||||||
| # individually mounted under |  | ||||||
| # /sys/fs/cgroup in hybrid or legacy mode. |  | ||||||
| #rc_controller_cgroups="YES" |  | ||||||
|  |  | ||||||
| # The following setting turns on the memory.use_hierarchy setting in the |  | ||||||
| # root memory cgroup for cgroups v1. |  | ||||||
| # It must be set to yes in this file if you want this functionality. |  | ||||||
| #rc_cggroup_memory_use_hierarchy="NO" |  | ||||||
|  |  | ||||||
| # The following settings allow you to set up values for the cgroups version 1 |  | ||||||
| # controllers for your services. |  | ||||||
| # They can be set in this file;, however, if you do this, the settings |  | ||||||
| # will apply to all of your services. |  | ||||||
| # If you want different settings for each service, place the settings in |  | ||||||
| # /etc/conf.d/foo for service foo. |  | ||||||
| # The format is to specify the names of the settings followed by their |  | ||||||
| # values. Each variable can hold multiple settings. |  | ||||||
| # For example, you would use this to set the cpu.shares setting in the |  | ||||||
| # cpu controller to 512 for your service. |  | ||||||
| # rc_cgroup_cpu=" |  | ||||||
| # cpu.shares 512 |  | ||||||
| # " |  | ||||||
| # |  | ||||||
| # For more information about the adjustments that can be made with |  | ||||||
| # cgroups version 1, see Documentation/cgroups-v1/* in the linux kernel |  | ||||||
| # source tree. |  | ||||||
|  |  | ||||||
| # Set the blkio controller settings for this service. |  | ||||||
| #rc_cgroup_blkio="" |  | ||||||
|  |  | ||||||
| # Set the cpu controller settings for this service. |  | ||||||
| #rc_cgroup_cpu="" |  | ||||||
|  |  | ||||||
| # Add this service to the cpuacct controller (any value means yes). |  | ||||||
| #rc_cgroup_cpuacct="" |  | ||||||
|  |  | ||||||
| # Set the cpuset controller settings for this service. |  | ||||||
| #rc_cgroup_cpuset="" |  | ||||||
|  |  | ||||||
| # Set the devices controller settings for this service. |  | ||||||
| #rc_cgroup_devices="" |  | ||||||
|  |  | ||||||
| # Set the hugetlb controller settings for this service. |  | ||||||
| #rc_cgroup_hugetlb="" |  | ||||||
|  |  | ||||||
| # Set the memory controller settings for this service. |  | ||||||
| #rc_cgroup_memory="" |  | ||||||
|  |  | ||||||
| # Set the net_cls controller settings for this service. |  | ||||||
| #rc_cgroup_net_cls="" |  | ||||||
|  |  | ||||||
| # Set the net_prio controller settings for this service. |  | ||||||
| #rc_cgroup_net_prio="" |  | ||||||
|  |  | ||||||
| # Set the pids controller settings for this service. |  | ||||||
| #rc_cgroup_pids="" |  | ||||||
|  |  | ||||||
| # Set this to YES if you want all of the processes in a service's cgroup |  | ||||||
| # killed when the service is stopped or restarted. |  | ||||||
| # Be aware that setting this to yes means all of a service's |  | ||||||
| # child processes will be killed. Keep this in mind if you set this to |  | ||||||
| # yes here instead of for the individual services in |  | ||||||
| # /etc/conf.d/<service>. |  | ||||||
| # To perform this cleanup manually for a stopped service, you can |  | ||||||
| # execute cgroup_cleanup with /etc/init.d/<service> cgroup_cleanup or |  | ||||||
| # rc-service <service> cgroup_cleanup. |  | ||||||
| # The process followed in this cleanup is the following: |  | ||||||
| # 1. send stopsig (sigterm if it isn't set) to all processes left in the |  | ||||||
| # cgroup immediately followed by sigcont. |  | ||||||
| # 2. Send sighup to all processes in the cgroup if rc_send_sighup is |  | ||||||
| # yes. |  | ||||||
| # 3. delay for rc_timeout_stopsec seconds. |  | ||||||
| # 4. send sigkill to all processes in the cgroup unless disabled by |  | ||||||
| # setting rc_send_sigkill to no. |  | ||||||
| # rc_cgroup_cleanup="NO" |  | ||||||
|  |  | ||||||
| # If this is yes, we will send sighup to the processes in the cgroup |  | ||||||
| # immediately after stopsig and sigcont. |  | ||||||
| #rc_send_sighup="NO" |  | ||||||
|  |  | ||||||
| # This is the amount of time in seconds that we delay after sending sigcont |  | ||||||
| # and optionally sighup, before we optionally send sigkill to all |  | ||||||
| # processes in the # cgroup. |  | ||||||
| # The default is 90 seconds. |  | ||||||
| #rc_timeout_stopsec="90" |  | ||||||
|  |  | ||||||
| # If this is set to no, we do not send sigkill to all processes in the |  | ||||||
| # cgroup. |  | ||||||
| #rc_send_sigkill="YES" |  | ||||||
							
								
								
									
										13
									
								
								etc/rc.conf.DragonFly
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								etc/rc.conf.DragonFly
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | ############################################################################## | ||||||
|  | # DragonFly BSD SPECIFIC OPTIONS | ||||||
|  |  | ||||||
|  | # This is the subsystem type. Valid options on DragonFly BSD: | ||||||
|  | # ""        - nothing special | ||||||
|  | # "jail"    - DragonFly BSD jails | ||||||
|  | # "prefix"  - Prefix | ||||||
|  | # If this is commented out, automatic detection will be used. | ||||||
|  | # | ||||||
|  | # 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="" | ||||||
|  |  | ||||||
							
								
								
									
										13
									
								
								etc/rc.conf.FreeBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								etc/rc.conf.FreeBSD
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | ############################################################################## | ||||||
|  | # FreeBSD SPECIFIC OPTIONS | ||||||
|  |  | ||||||
|  | # This is the subsystem type. Valid options on FreeBSD: | ||||||
|  | # ""        - nothing special | ||||||
|  | # "jail"    - FreeBSD jails | ||||||
|  | # "prefix"  - Prefix | ||||||
|  | # If this is commented out, automatic detection will be used. | ||||||
|  | # | ||||||
|  | # 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="" | ||||||
|  |  | ||||||
							
								
								
									
										14
									
								
								etc/rc.conf.GNU
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								etc/rc.conf.GNU
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | ############################################################################## | ||||||
|  | # GNU/Hurd SPECIFIC OPTIONS | ||||||
|  |  | ||||||
|  | # This is the subsystem type. Valid options on GNU/Hurd: | ||||||
|  | # ""        - nothing special | ||||||
|  | # "subhurd" - Hurd subhurds (to be checked) | ||||||
|  | # If this is commented out, automatic detection will be used. | ||||||
|  | # | ||||||
|  | # 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="" | ||||||
|  | # This is the number of tty's used in most of the rc-scripts (like | ||||||
|  | # consolefont, numlock, etc ...) | ||||||
|  | #rc_tty_number=6? | ||||||
							
								
								
									
										11
									
								
								etc/rc.conf.GNU-kFreeBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								etc/rc.conf.GNU-kFreeBSD
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | ############################################################################## | ||||||
|  | # GNU/kFreeBSD SPECIFIC OPTIONS | ||||||
|  |  | ||||||
|  | # This is the subsystem type. Valid options on GNU/kFreeBSD: | ||||||
|  | # ""        - nothing special | ||||||
|  | # "jail"    - FreeBSD jails (not yet implemented) | ||||||
|  | # If this is commented out, automatic detection will be used. | ||||||
|  | # | ||||||
|  | # 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="" | ||||||
							
								
								
									
										90
									
								
								etc/rc.conf.Linux
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								etc/rc.conf.Linux
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,90 @@ | |||||||
|  | ############################################################################## | ||||||
|  | # LINUX SPECIFIC OPTIONS | ||||||
|  |  | ||||||
|  | # This is the subsystem type. Valid options on Linux: | ||||||
|  | # ""               - nothing special | ||||||
|  | # "docker"         - Docker container manager | ||||||
|  | # "lxc"            - Linux Containers | ||||||
|  | # "openvz"         - Linux OpenVZ | ||||||
|  | # "prefix"         - Prefix | ||||||
|  | # "rkt"            - CoreOS container management system | ||||||
|  | # "uml"            - Usermode Linux | ||||||
|  | # "vserver"        - Linux vserver | ||||||
|  | # "systemd-nspawn" - Container created by the systemd-nspawn utility | ||||||
|  | # "xen0"           - Xen0 Domain | ||||||
|  | # "xenU"           - XenU Domain | ||||||
|  | # If this is commented out, automatic detection will be used. | ||||||
|  | # | ||||||
|  | # 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="" | ||||||
|  |  | ||||||
|  | # This is the number of tty's used in most of the rc-scripts (like | ||||||
|  | # consolefont, numlock, etc ...) | ||||||
|  | rc_tty_number=12 | ||||||
|  |  | ||||||
|  | ############################################################################## | ||||||
|  | # CGROUPS RESOURCE MANAGEMENT | ||||||
|  |  | ||||||
|  | # If you have cgroups turned on in your kernel, this switch controls | ||||||
|  | # whether or not a group for each controller is mounted under | ||||||
|  | # /sys/fs/cgroup. | ||||||
|  | # None of the other options in this section work if this is set to "NO". | ||||||
|  | #rc_controller_cgroups="YES" | ||||||
|  |  | ||||||
|  | # The following settings allow you to set up values for the cgroup | ||||||
|  | # controllers for your services. | ||||||
|  | # They can be set in this file;, however, if you do this, the settings | ||||||
|  | # will apply to all of your services. | ||||||
|  | # If you want different settings for each service, place the settings in | ||||||
|  | # /etc/conf.d/foo for service foo. | ||||||
|  | # The format is to specify the names of the settings followed by their | ||||||
|  | # values. Each variable can hold multiple settings. | ||||||
|  | # For example, you would use this to set the cpu.shares setting in the | ||||||
|  | # cpu controller to 512 for your service. | ||||||
|  | # rc_cgroup_cpu=" | ||||||
|  | # cpu.shares 512 | ||||||
|  | # " | ||||||
|  | # | ||||||
|  | #For more information about the adjustments that can be made with | ||||||
|  | #cgroups, see Documentation/cgroups/* in the linux kernel source tree. | ||||||
|  |  | ||||||
|  | # Set the blkio controller settings for this service. | ||||||
|  | #rc_cgroup_blkio="" | ||||||
|  |  | ||||||
|  | # Set the cpu controller settings for this service. | ||||||
|  | #rc_cgroup_cpu="" | ||||||
|  |  | ||||||
|  | # Add this service to the cpuacct controller (any value means yes). | ||||||
|  | #rc_cgroup_cpuacct="" | ||||||
|  |  | ||||||
|  | # Set the cpuset controller settings for this service. | ||||||
|  | #rc_cgroup_cpuset="" | ||||||
|  |  | ||||||
|  | # Set the devices controller settings for this service. | ||||||
|  | #rc_cgroup_devices="" | ||||||
|  |  | ||||||
|  | # Set the hugetlb controller settings for this service. | ||||||
|  | #rc_cgroup_hugetlb="" | ||||||
|  |  | ||||||
|  | # Set the memory controller settings for this service. | ||||||
|  | #rc_cgroup_memory="" | ||||||
|  |  | ||||||
|  | # Set the net_cls controller settings for this service. | ||||||
|  | #rc_cgroup_net_cls="" | ||||||
|  |  | ||||||
|  | # Set the net_prio controller settings for this service. | ||||||
|  | #rc_cgroup_net_prio="" | ||||||
|  |  | ||||||
|  | # Set the pids controller settings for this service. | ||||||
|  | #rc_cgroup_pids="" | ||||||
|  |  | ||||||
|  | # Set this to YES if yu want all of the processes in a service's cgroup | ||||||
|  | # killed when the service is stopped or restarted. | ||||||
|  | # This should not be set globally because it kills all of the service's | ||||||
|  | # child processes, and most of the time this is undesirable. Please set | ||||||
|  | # it in /etc/conf.d/<service>. | ||||||
|  | # To perform this cleanup manually for a stopped service, you can | ||||||
|  | # execute cgroup_cleanup with /etc/init.d/<service> cgroup_cleanup or | ||||||
|  | # rc-service <service> cgroup_cleanup. | ||||||
|  | # rc_cgroup_cleanup="NO" | ||||||
							
								
								
									
										14
									
								
								etc/rc.conf.NetBSD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								etc/rc.conf.NetBSD
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | ############################################################################## | ||||||
|  | # NetBSD SPECIFIC OPTIONS | ||||||
|  |  | ||||||
|  | # This is the subsystem type. Valid options on NetBSD: | ||||||
|  | # ""        - nothing special | ||||||
|  | # "prefix"  - Prefix | ||||||
|  | # "xen0"    - Xen0 Domain | ||||||
|  | # "xenU"    - XenU Domain | ||||||
|  | # If this is commented out, automatic detection will be used. | ||||||
|  | # | ||||||
|  | # 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="" | ||||||
|  |  | ||||||
							
								
								
									
										151
									
								
								etc/rc.conf.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										151
									
								
								etc/rc.conf.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,151 @@ | |||||||
|  | # Global OpenRC configuration settings | ||||||
|  |  | ||||||
|  | # Set to "YES" if you want the rc system to try and start services | ||||||
|  | # in parallel for a slight speed improvement. When running in parallel we | ||||||
|  | # prefix the service output with its name as the output will get | ||||||
|  | # jumbled up. | ||||||
|  | # WARNING: whilst we have improved parallel, it can still potentially lock | ||||||
|  | # the boot process. Don't file bugs about this unless you can supply | ||||||
|  | # patches that fix it without breaking other things! | ||||||
|  | #rc_parallel="NO" | ||||||
|  |  | ||||||
|  | # Set rc_interactive to "YES" and you'll be able to press the I key during | ||||||
|  | # boot so you can choose to start specific services. Set to "NO" to disable | ||||||
|  | # this feature. This feature is automatically disabled if rc_parallel is | ||||||
|  | # set to YES. | ||||||
|  | #rc_interactive="YES" | ||||||
|  |  | ||||||
|  | # If we need to drop to a shell, you can specify it here. | ||||||
|  | # If not specified we use $SHELL, otherwise the one specified in /etc/passwd, | ||||||
|  | # otherwise /bin/sh | ||||||
|  | # Linux users could specify /sbin/sulogin | ||||||
|  | #rc_shell=/bin/sh | ||||||
|  |  | ||||||
|  | # Do we allow any started service in the runlevel to satisfy the dependency | ||||||
|  | # or do we want all of them regardless of state? For example, if net.eth0 | ||||||
|  | # and net.eth1 are in the default runlevel then with rc_depend_strict="NO" | ||||||
|  | # both will be started, but services that depend on 'net' will work if either | ||||||
|  | # one comes up. With rc_depend_strict="YES" we would require them both to | ||||||
|  | # come up. | ||||||
|  | #rc_depend_strict="YES" | ||||||
|  |  | ||||||
|  | # rc_hotplug controls which services we allow to be hotplugged. | ||||||
|  | # A hotplugged service is one started by a dynamic dev manager when a matching | ||||||
|  | # hardware device is found. | ||||||
|  | # Hotplugged services appear in the "hotplugged" runlevel. | ||||||
|  | # If rc_hotplug is set to any value, we compare the name of this service | ||||||
|  | # to every pattern in the value, from left to right, and we allow the | ||||||
|  | # service to be hotplugged if it matches a pattern, or if it matches no | ||||||
|  | # patterns. Patterns can include shell wildcards. | ||||||
|  | # To disable services from being hotplugged, prefix patterns with "!". | ||||||
|  | #If rc_hotplug is not set or is empty, all hotplugging is disabled. | ||||||
|  | # Example - rc_hotplug="net.wlan !net.*" | ||||||
|  | # This allows net.wlan and any service not matching net.* to be hotplugged. | ||||||
|  | # Example - rc_hotplug="!net.*" | ||||||
|  | # This allows services that do not match "net.*" to be hotplugged. | ||||||
|  |  | ||||||
|  | # rc_logger launches a logging daemon to log the entire rc process to | ||||||
|  | # /var/log/rc.log | ||||||
|  | # NOTE: Linux systems require the devfs service to be started before | ||||||
|  | # logging can take place and as such cannot log the sysinit runlevel. | ||||||
|  | #rc_logger="YES" | ||||||
|  |  | ||||||
|  | # Through rc_log_path you can specify a custom log file. | ||||||
|  | # The default value is: /var/log/rc.log | ||||||
|  | #rc_log_path="/var/log/rc.log" | ||||||
|  |  | ||||||
|  | # If you want verbose output for OpenRC, set this to yes. If you want | ||||||
|  | # verbose output for service foo only, set it to yes in /etc/conf.d/foo. | ||||||
|  | #rc_verbose=no | ||||||
|  |  | ||||||
|  | # By default we filter the environment for our running scripts. To allow other | ||||||
|  | # variables through, add them here. Use a * to allow all variables through. | ||||||
|  | #rc_env_allow="VAR1 VAR2" | ||||||
|  |  | ||||||
|  | # By default we assume that all daemons will start correctly. | ||||||
|  | # However, some do not - a classic example is that they fork and return 0 AND | ||||||
|  | # then child barfs on a configuration error. Or the daemon has a bug and the | ||||||
|  | # child crashes. You can set the number of milliseconds start-stop-daemon | ||||||
|  | # waits to check that the daemon is still running after starting here. | ||||||
|  | # The default is 0 - no checking. | ||||||
|  | #rc_start_wait=100 | ||||||
|  |  | ||||||
|  | # rc_nostop is a list of services which will not stop when changing runlevels. | ||||||
|  | # This still allows the service itself to be stopped when called directly. | ||||||
|  | #rc_nostop="" | ||||||
|  |  | ||||||
|  | # rc will attempt to start crashed services by default. | ||||||
|  | # However, it will not stop them by default as that could bring down other | ||||||
|  | # critical services. | ||||||
|  | #rc_crashed_stop=NO | ||||||
|  | #rc_crashed_start=YES | ||||||
|  |  | ||||||
|  | # Set rc_nocolor to yes if you do not want colors displayed in OpenRC | ||||||
|  | # output. | ||||||
|  | #rc_nocolor=NO | ||||||
|  |  | ||||||
|  | ############################################################################## | ||||||
|  | # MISC CONFIGURATION VARIABLES | ||||||
|  | # There variables are shared between many init scripts | ||||||
|  |  | ||||||
|  | # Set unicode to YES to turn on unicode support for keyboards and screens. | ||||||
|  | #unicode="NO" | ||||||
|  |  | ||||||
|  | # This is how long fuser should wait for a remote server to respond. The | ||||||
|  | # default is 60 seconds, but  it can be adjusted here. | ||||||
|  | #rc_fuser_timeout=60 | ||||||
|  |  | ||||||
|  | # Below is the default list of network fstypes. | ||||||
|  | # | ||||||
|  | # afs ceph cifs coda davfs fuse fuse.sshfs gfs glusterfs lustre ncpfs | ||||||
|  | # nfs nfs4 ocfs2 shfs smbfs | ||||||
|  | # | ||||||
|  | # If you would like to add to this list, you can do so by adding your | ||||||
|  | # own fstypes to the following variable. | ||||||
|  | #extra_net_fs_list="" | ||||||
|  |  | ||||||
|  | ############################################################################## | ||||||
|  | # SERVICE CONFIGURATION VARIABLES | ||||||
|  | # 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. | ||||||
|  | #SSD_NICELEVEL="-19" | ||||||
|  |  | ||||||
|  | # Pass ulimit parameters | ||||||
|  | # If you are using bash in POSIX mode for your shell, note that the | ||||||
|  | # ulimit command uses a block size of 512 bytes for the -c and -f | ||||||
|  | # options | ||||||
|  | #rc_ulimit="-u 30" | ||||||
|  |  | ||||||
|  | # It's possible to define extra dependencies for services like so | ||||||
|  | #rc_config="/etc/foo" | ||||||
|  | #rc_need="openvpn" | ||||||
|  | #rc_use="net.eth0" | ||||||
|  | #rc_after="clock" | ||||||
|  | #rc_before="local" | ||||||
|  | #rc_provide="!net" | ||||||
|  |  | ||||||
|  | # You can also enable the above commands here for each service. Below is an | ||||||
|  | # example for service foo. | ||||||
|  | #rc_foo_config="/etc/foo" | ||||||
|  | #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" | ||||||
|  |  | ||||||
| @@ -14,7 +14,7 @@ trap : SIGINT SIGQUIT | |||||||
|  |  | ||||||
| # Try and use stuff in /lib over anywhere else so we can shutdown | # Try and use stuff in /lib over anywhere else so we can shutdown | ||||||
| # local mounts correctly. | # local mounts correctly. | ||||||
| LD_LIBRARY_PATH="/lib${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}" ; export LD_LIBRARY_PATH | LD_LIBRARY_PATH="/lib${LD_LIBRARY_PATH:+:}${LDLIBRARY_PATH}" ; export LD_LIBRARY_PATH | ||||||
|  |  | ||||||
| # If $TERM is not set then assume default of @TERM@ | # If $TERM is not set then assume default of @TERM@ | ||||||
| # This gives us a nice colour boot :) | # This gives us a nice colour boot :) | ||||||
|   | |||||||
| @@ -1,11 +1,11 @@ | |||||||
| DIR=	${DATADIR}/support/init.d.examples | DIR=	${INITDIR} | ||||||
| INC=	README.md |  | ||||||
| SRCS=	avahi-dnsconfd.in avahid.in dhcpcd.in dbus.in \
 | SRCS=	avahi-dnsconfd.in avahid.in dhcpcd.in dbus.in \
 | ||||||
| 	hald.in named.in ntpd.in \
 | 	hald.in named.in ntpd.in \
 | ||||||
| 	openvpn.in polkitd.in sshd.in wpa_supplicant.in | 	openvpn.in polkitd.in sshd.in wpa_supplicant.in | ||||||
| BIN=	${OBJS} |  | ||||||
| 
 | 
 | ||||||
| MK=	../../mk | MK=	../mk | ||||||
|  | 
 | ||||||
|  | SED_EXTRA+= -e 's:@VARBASE@:/var:g' | ||||||
| 
 | 
 | ||||||
| include ${MK}/os.mk | include ${MK}/os.mk | ||||||
| include ${MK}/scripts.mk | include ${MK}/scripts.mk | ||||||
| @@ -11,7 +11,7 @@ | |||||||
| 
 | 
 | ||||||
| command=@PKG_PREFIX@/sbin/avahi-dnsconfd | command=@PKG_PREFIX@/sbin/avahi-dnsconfd | ||||||
| command_args="$avahi_dnsconfd_args -D" | command_args="$avahi_dnsconfd_args -D" | ||||||
| pidfile=/var/run/avahi-dnsconfd.pid | pidfile=@VARBASE@/run/avahi-dnsconfd.pid | ||||||
| name="Avahi DNS Configuration Daemon" | name="Avahi DNS Configuration Daemon" | ||||||
| 
 | 
 | ||||||
| depend() | depend() | ||||||
| @@ -11,7 +11,7 @@ | |||||||
| 
 | 
 | ||||||
| command=@PKG_PREFIX@/sbin/avahi-daemon | command=@PKG_PREFIX@/sbin/avahi-daemon | ||||||
| command_args="$avahid_args -D" | command_args="$avahid_args -D" | ||||||
| pidfile=/var/run/avahi-daemon/pid | pidfile=@VARBASE@/run/avahi-daemon/pid | ||||||
| name="Avahi Service Advertisement Daemon" | name="Avahi Service Advertisement Daemon" | ||||||
| 
 | 
 | ||||||
| depend() | depend() | ||||||
| @@ -10,7 +10,7 @@ | |||||||
| # except according to the terms contained in the LICENSE file. | # except according to the terms contained in the LICENSE file. | ||||||
| 
 | 
 | ||||||
| command=@PKG_PREFIX@/bin/dbus-daemon | command=@PKG_PREFIX@/bin/dbus-daemon | ||||||
| pidfile=/var/run/dbus/pid | pidfile=@VARBASE@/run/dbus/pid | ||||||
| command_args="${dbusd_args---system}" | command_args="${dbusd_args---system}" | ||||||
| name="Message Bus Daemon" | name="Message Bus Daemon" | ||||||
| 
 | 
 | ||||||
| @@ -11,7 +11,7 @@ | |||||||
| 
 | 
 | ||||||
| command=@PKG_PREFIX@/sbin/dnsmasq | command=@PKG_PREFIX@/sbin/dnsmasq | ||||||
| command_args=$dnsmasq_args | command_args=$dnsmasq_args | ||||||
| pidfile=/var/run/dnsmasq.pid | pidfile=@VARBASE@/run/dnsmasq.pid | ||||||
| required_files=/etc/dnsmasq.conf | required_files=/etc/dnsmasq.conf | ||||||
| 
 | 
 | ||||||
| extra_started_commands="reload" | extra_started_commands="reload" | ||||||
| @@ -10,7 +10,7 @@ | |||||||
| # except according to the terms contained in the LICENSE file. | # except according to the terms contained in the LICENSE file. | ||||||
| 
 | 
 | ||||||
| command=@PKG_PREFIX@/sbin/hald | command=@PKG_PREFIX@/sbin/hald | ||||||
| pidfile=/var/run/hald/hald.pid | pidfile=@VARBASE@/run/hald/hald.pid | ||||||
| command_args=$hald_args | command_args=$hald_args | ||||||
| name="Hardware Abstraction Layer Daemon" | name="Hardware Abstraction Layer Daemon" | ||||||
| 
 | 
 | ||||||
| @@ -11,7 +11,7 @@ | |||||||
| 
 | 
 | ||||||
| command=/usr/sbin/named | command=/usr/sbin/named | ||||||
| command_args=$named_args | command_args=$named_args | ||||||
| pidfile=/var/run/named.pid | pidfile=@VARBASE@/run/named.pid | ||||||
| name="Domain Name server" | name="Domain Name server" | ||||||
| extra_started_commands="reload" | extra_started_commands="reload" | ||||||
| 
 | 
 | ||||||
| @@ -20,7 +20,7 @@ uid=named | |||||||
| case "$RC_UNAME" in | case "$RC_UNAME" in | ||||||
| 	FreeBSD) | 	FreeBSD) | ||||||
| 		uid=bind | 		uid=bind | ||||||
| 		pidfile=/var/run/named/pid | 		pidfile=@VARBASE@/run/named/pid | ||||||
| 		;; | 		;; | ||||||
| 	Linux) | 	Linux) | ||||||
| 		uid=bind | 		uid=bind | ||||||
| @@ -14,7 +14,7 @@ name="OpenVPN" | |||||||
| [ "$vpn" != openvpn ] && name="$name ($vpn)" | [ "$vpn" != openvpn ] && name="$name ($vpn)" | ||||||
| command=@PKG_PREFIX@/sbin/openvpn | command=@PKG_PREFIX@/sbin/openvpn | ||||||
| 
 | 
 | ||||||
| pidfile=/var/run/"$RC_SVCNAME".pid | pidfile=@VARBASE@/run/"$RC_SVCNAME".pid | ||||||
| : ${openvpn_dir:=@PKG_PREFIX@/etc/openvpn} | : ${openvpn_dir:=@PKG_PREFIX@/etc/openvpn} | ||||||
| : ${openvpn_config:=$openvpn_dir/$vpn.conf} | : ${openvpn_config:=$openvpn_dir/$vpn.conf} | ||||||
| command_args="$openvpn_args --daemon --config $openvpn_config" | command_args="$openvpn_args --daemon --config $openvpn_config" | ||||||
| @@ -10,7 +10,7 @@ | |||||||
| # except according to the terms contained in the LICENSE file. | # except according to the terms contained in the LICENSE file. | ||||||
| 
 | 
 | ||||||
| command=@PKG_PREFIX@/sbin/polkitd | command=@PKG_PREFIX@/sbin/polkitd | ||||||
| pidfile=/var/run/polkitd/polkitd.pid | pidfile=@VARBASE@/run/polkitd/polkitd.pid | ||||||
| command_args="$polkitd_args" | command_args="$polkitd_args" | ||||||
| name="PolicyKit Daemon" | name="PolicyKit Daemon" | ||||||
| 
 | 
 | ||||||
| @@ -11,7 +11,7 @@ | |||||||
| 
 | 
 | ||||||
| command=/usr/sbin/sshd | command=/usr/sbin/sshd | ||||||
| command_args=$sshd_args | command_args=$sshd_args | ||||||
| pidfile=/var/run/sshd.pid | pidfile=@VARBASE@/run/sshd.pid | ||||||
| required_files=/etc/ssh/sshd_config | required_files=/etc/ssh/sshd_config | ||||||
| 
 | 
 | ||||||
| depend() | depend() | ||||||
| @@ -39,11 +39,6 @@ find_wireless() | |||||||
| 			fi | 			fi | ||||||
| 		done | 		done | ||||||
| 		;; | 		;; | ||||||
| 	FreeBSD) |  | ||||||
| 		for iface in $(sysctl -b net.wlan.devices 2>/dev/null); do |  | ||||||
| 			echo "${iface##*/}" |  | ||||||
| 		done |  | ||||||
| 		;; |  | ||||||
| 	*) | 	*) | ||||||
| 		for iface in /dev/net/* $(ifconfig -l 2>/dev/null); do | 		for iface in /dev/net/* $(ifconfig -l 2>/dev/null); do | ||||||
| 			if ifconfig "${iface##*/}" 2>/dev/null | \ | 			if ifconfig "${iface##*/}" 2>/dev/null | \ | ||||||
							
								
								
									
										7
									
								
								init.d/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								init.d/.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,7 +1,4 @@ | |||||||
| agetty |  | ||||||
| binfmt | binfmt | ||||||
| cgroups |  | ||||||
| modules-load |  | ||||||
| bootmisc | bootmisc | ||||||
| fsck | fsck | ||||||
| hostname | hostname | ||||||
| @@ -14,6 +11,7 @@ network | |||||||
| root | root | ||||||
| savecache | savecache | ||||||
| swap | swap | ||||||
|  | swapfiles | ||||||
| sysctl | sysctl | ||||||
| urandom | urandom | ||||||
| devfs | devfs | ||||||
| @@ -39,7 +37,6 @@ pf | |||||||
| rarpd | rarpd | ||||||
| rc-enabled | rc-enabled | ||||||
| rpcbind | rpcbind | ||||||
| runsvdir |  | ||||||
| savecore | savecore | ||||||
| swap-blk | swap-blk | ||||||
| swclock | swclock | ||||||
| @@ -47,3 +44,5 @@ syslogd | |||||||
| termencoding | termencoding | ||||||
| ttys | ttys | ||||||
| wscons | wscons | ||||||
|  | tmpfiles.dev | ||||||
|  | tmpfiles.setup | ||||||
|   | |||||||
| @@ -2,8 +2,8 @@ include ../mk/net.mk | |||||||
|  |  | ||||||
| DIR=	${INITDIR} | DIR=	${INITDIR} | ||||||
| SRCS=	bootmisc.in fsck.in hostname.in local.in localmount.in loopback.in \ | SRCS=	bootmisc.in fsck.in hostname.in local.in localmount.in loopback.in \ | ||||||
| 	netmount.in osclock.in root.in savecache.in swap.in swclock.in \ | 	netmount.in osclock.in root.in savecache.in swap.in swapfiles.in \ | ||||||
| 	sysctl.in runsvdir.in urandom.in s6-svscan.in ${SRCS-${OS}} | 	tmpfiles.setup.in swclock.in sysctl.in urandom.in s6-svscan.in ${SRCS-${OS}} | ||||||
| BIN=	${OBJS} | BIN=	${OBJS} | ||||||
|  |  | ||||||
| # Are we installing our network scripts? | # Are we installing our network scripts? | ||||||
| @@ -15,16 +15,15 @@ MK=	../mk | |||||||
| include ${MK}/os.mk | include ${MK}/os.mk | ||||||
|  |  | ||||||
| # Generic BSD scripts | # Generic BSD scripts | ||||||
| SRCS-FreeBSD=	hostid.in modules.in moused.in newsyslog.in pf.in rarpd.in \ | SRCS-FreeBSD=	hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \ | ||||||
| 		rc-enabled.in rpcbind.in savecore.in syslogd.in | 		rpcbind.in savecore.in syslogd.in | ||||||
| # These are FreeBSD specific | # These are FreeBSD specific | ||||||
| SRCS-FreeBSD+=	adjkerntz.in devd.in dumpon.in encswap.in ipfw.in \ | SRCS-FreeBSD+=	adjkerntz.in devd.in dumpon.in encswap.in ipfw.in \ | ||||||
| 		mixer.in nscd.in powerd.in syscons.in | 		mixer.in nscd.in powerd.in syscons.in | ||||||
|  |  | ||||||
| SRCS-Linux=	agetty.in binfmt.in devfs.in cgroups.in dmesg.in hwclock.in \ | SRCS-Linux=	binfmt.in devfs.in dmesg.in hwclock.in consolefont.in keymaps.in \ | ||||||
| 	consolefont.in keymaps.in killprocs.in modules.in \ | 		killprocs.in modules.in mount-ro.in mtab.in numlock.in \ | ||||||
| 	mount-ro.in mtab.in numlock.in procfs.in net-online.in sysfs.in \ | 		procfs.in net-online.in sysfs.in termencoding.in tmpfiles.dev.in | ||||||
| termencoding.in |  | ||||||
|  |  | ||||||
| # Generic BSD scripts | # Generic BSD scripts | ||||||
| SRCS-NetBSD=	hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \ | SRCS-NetBSD=	hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \ | ||||||
| @@ -32,6 +31,9 @@ SRCS-NetBSD=	hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \ | |||||||
| # These are NetBSD specific | # These are NetBSD specific | ||||||
| SRCS-NetBSD+=	devdb.in swap-blk.in ttys.in wscons.in | SRCS-NetBSD+=	devdb.in swap-blk.in ttys.in wscons.in | ||||||
|  |  | ||||||
|  | %.in: %${SFX} | ||||||
|  | 	sed ${SED_REPLACE} ${SED_EXTRA} $< > $@ | ||||||
|  |  | ||||||
| include ${MK}/scripts.mk | include ${MK}/scripts.mk | ||||||
|  |  | ||||||
| _installafter_: realinstall | _installafter_: realinstall | ||||||
|   | |||||||
| @@ -23,7 +23,6 @@ fi | |||||||
|  |  | ||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	after swclock |  | ||||||
| 	provide clock | 	provide clock | ||||||
| 	# BSD adjkerntz needs to be able to write to /etc | 	# BSD adjkerntz needs to be able to write to /etc | ||||||
| 	if [ "$clock" = "UTC" -a -e /etc/wall_cmos_clock ] || | 	if [ "$clock" = "UTC" -a -e /etc/wall_cmos_clock ] || | ||||||
|   | |||||||
| @@ -1,39 +0,0 @@ | |||||||
| #!@SBINDIR@/openrc-run |  | ||||||
| # Copyright (c) 2017 The OpenRC Authors. |  | ||||||
| # See the Authors file at the top-level directory of this distribution and |  | ||||||
| # https://github.com/OpenRC/openrc/blob/master/AUTHORS |  | ||||||
| # |  | ||||||
| # This file is part of OpenRC. It is subject to the license terms in |  | ||||||
| # the LICENSE file found in the top-level directory of this |  | ||||||
| # distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE |  | ||||||
| # This file may not be copied, modified, propagated, or distributed |  | ||||||
| # except according to the terms contained in the LICENSE file. |  | ||||||
|  |  | ||||||
| description="start agetty on a terminal line" |  | ||||||
| supervisor=supervise-daemon |  | ||||||
| port="${RC_SVCNAME#*.}" |  | ||||||
| term_type="${term_type:-linux}" |  | ||||||
| command=/sbin/agetty |  | ||||||
| command_args_foreground="${agetty_options} ${port} ${baud} ${term_type}" |  | ||||||
| pidfile="/run/${RC_SVCNAME}.pid" |  | ||||||
|  |  | ||||||
| depend() { |  | ||||||
| 	after local |  | ||||||
| 	keyword -prefix |  | ||||||
| } |  | ||||||
|  |  | ||||||
| start_pre() { |  | ||||||
| 	if [ -z "$port" ]; then |  | ||||||
| 		eerror "${RC_SVCNAME} cannot be started directly. You must create" |  | ||||||
| 		eerror "symbolic links to it for the ports you want to start" |  | ||||||
| 		eerror "agetty on and add those to the appropriate runlevels." |  | ||||||
| 		return 1 |  | ||||||
| 	else |  | ||||||
| 		export EINFO_QUIET="${quiet:-yes}" |  | ||||||
| 	fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| stop_pre() |  | ||||||
| { |  | ||||||
| 	export EINFO_QUIET="${quiet:-yes}" |  | ||||||
| } |  | ||||||
| @@ -13,9 +13,9 @@ description="Register misc binary format handlers" | |||||||
|  |  | ||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	after clock procfs | 	after procfs | ||||||
| 	use modules devfs | 	use modules devfs | ||||||
| 	keyword -docker -lxc -openvz -prefix -systemd-nspawn -vserver | 	keyword -openvz -prefix -systemd-nspawn -vserver -lxc | ||||||
| } | } | ||||||
|  |  | ||||||
| start() | start() | ||||||
|   | |||||||
| @@ -71,8 +71,7 @@ cleanup_var_run_dir() | |||||||
| 	ebegin "Cleaning /var/run" | 	ebegin "Cleaning /var/run" | ||||||
| 	for x in $(find /var/run ! -type d ! -name utmp \ | 	for x in $(find /var/run ! -type d ! -name utmp \ | ||||||
| 		! -name random-seed ! -name dev.db \ | 		! -name random-seed ! -name dev.db \ | ||||||
| 		! -name ld-elf.so.hints ! -name ld-elf32.so.hints \ | 		! -name ld-elf.so.hints ! -name ld.so.hints); | ||||||
| 		! -name ld.so.hints); |  | ||||||
| 	do | 	do | ||||||
| 		# Clean stale sockets | 		# Clean stale sockets | ||||||
| 		if [ -S "$x" ]; then | 		if [ -S "$x" ]; then | ||||||
| @@ -241,7 +240,7 @@ stop() | |||||||
| { | { | ||||||
| 	# Write a halt record if we're shutting down | 	# Write a halt record if we're shutting down | ||||||
| 	if [ "$RC_RUNLEVEL" = shutdown ]; then | 	if [ "$RC_RUNLEVEL" = shutdown ]; then | ||||||
| 		[ "$RC_UNAME" = Linux ] && openrc-shutdown -w | 		[ "$RC_UNAME" = Linux ] && halt -w | ||||||
| 		if [ "$RC_SYS" = OPENVZ ]; then | 		if [ "$RC_SYS" = OPENVZ ]; then | ||||||
| 			yesno $RC_REBOOT && printf "" >/reboot | 			yesno $RC_REBOOT && printf "" >/reboot | ||||||
| 		fi | 		fi | ||||||
|   | |||||||
| @@ -1,149 +0,0 @@ | |||||||
| #!@SBINDIR@/openrc-run |  | ||||||
| # Copyright (c) 2017 The OpenRC Authors. |  | ||||||
| # See the Authors file at the top-level directory of this distribution and |  | ||||||
| # https://github.com/OpenRC/openrc/blob/master/AUTHORS |  | ||||||
| # |  | ||||||
| # This file is part of OpenRC. It is subject to the license terms in |  | ||||||
| # the LICENSE file found in the top-level directory of this |  | ||||||
| # distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE |  | ||||||
| # This file may not be copied, modified, propagated, or distributed |  | ||||||
| # except according to the terms contained in the LICENSE file. |  | ||||||
|  |  | ||||||
| description="Mount the control groups." |  | ||||||
|  |  | ||||||
| cgroup_opts=nodev,noexec,nosuid |  | ||||||
|  |  | ||||||
| depend() |  | ||||||
| { |  | ||||||
| 	keyword -docker -prefix -systemd-nspawn -vserver |  | ||||||
| 	after sysfs |  | ||||||
| } |  | ||||||
|  |  | ||||||
| cgroup1_base() |  | ||||||
| { |  | ||||||
| 	grep -qw cgroup /proc/filesystems || return 0 |  | ||||||
| 	if ! mountinfo -q /sys/fs/cgroup; then |  | ||||||
| 		ebegin "Mounting cgroup filesystem" |  | ||||||
| 		local opts="${cgroup_opts},mode=755,size=${rc_cgroupsize:-10m}" |  | ||||||
| 		mount -n -t tmpfs -o "${opts}" cgroup_root /sys/fs/cgroup |  | ||||||
| 		eend $? |  | ||||||
| 	fi |  | ||||||
|  |  | ||||||
| 	if ! mountinfo -q /sys/fs/cgroup/openrc; then |  | ||||||
| 		local agent="${RC_LIBEXECDIR}/sh/cgroup-release-agent.sh" |  | ||||||
| 		mkdir /sys/fs/cgroup/openrc |  | ||||||
| 		mount -n -t cgroup \ |  | ||||||
| 			-o none,${cgroup_opts},name=openrc,release_agent="$agent" \ |  | ||||||
| 			openrc /sys/fs/cgroup/openrc |  | ||||||
| 		printf 1 > /sys/fs/cgroup/openrc/notify_on_release |  | ||||||
| 	fi |  | ||||||
| 	return 0 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| cgroup1_controllers() |  | ||||||
| { |  | ||||||
| 	yesno "${rc_controller_cgroups:-YES}" && [ -e /proc/cgroups ]  && |  | ||||||
| 	grep -qw cgroup /proc/filesystems || return 0 |  | ||||||
| 	while read -r name _ _ enabled _; do |  | ||||||
| 		case "${enabled}" in |  | ||||||
| 			1)	mountinfo -q "/sys/fs/cgroup/${name}" && continue |  | ||||||
| 				local x |  | ||||||
| 				for x in $rc_cgroup_controllers; do |  | ||||||
| 				[ "${name}" = "blkio" ] && [ "${x}" = "io" ] && |  | ||||||
| 					continue 2 |  | ||||||
| 				[ "${name}" = "${x}" ] && |  | ||||||
| 				continue 2 |  | ||||||
| 				done |  | ||||||
| 				mkdir "/sys/fs/cgroup/${name}" |  | ||||||
| 				mount -n -t cgroup -o "${cgroup_opts},${name}" \ |  | ||||||
| 					"${name}" "/sys/fs/cgroup/${name}" |  | ||||||
| 				yesno "${rc_cgroup_memory_use_hierarchy:-no}" && |  | ||||||
| 					[ "${name}" = memory ] && |  | ||||||
| 					echo 1 > /sys/fs/cgroup/memory/memory.use_hierarchy |  | ||||||
| 				;; |  | ||||||
| 		esac |  | ||||||
| 	done < /proc/cgroups |  | ||||||
| 	return 0 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| cgroup2_base() |  | ||||||
| { |  | ||||||
| 	grep -qw cgroup2 /proc/filesystems || return 0 |  | ||||||
| 	local base |  | ||||||
| 	base="$(cgroup2_find_path)" |  | ||||||
| 	mkdir -p "${base}" |  | ||||||
| 	mount -t cgroup2 none -o "${cgroup_opts},nsdelegate" "${base}" 2> /dev/null || |  | ||||||
| 		mount -t cgroup2 none -o "${cgroup_opts}" "${base}" |  | ||||||
| 	return 0 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| cgroup2_controllers() |  | ||||||
| { |  | ||||||
| 	grep -qw cgroup2 /proc/filesystems || return 0 |  | ||||||
| 	local active cgroup_path x y |  | ||||||
| 	cgroup_path="$(cgroup2_find_path)" |  | ||||||
| 	[ -z "${cgroup_path}" ] && return 0 |  | ||||||
| 	[ -e "${cgroup_path}/cgroup.controllers" ] && |  | ||||||
| 	read -r active < "${cgroup_path}/cgroup.controllers" |  | ||||||
| 	for x in ${rc_cgroup_controllers}; do |  | ||||||
| 		for y in ${active}; do |  | ||||||
| 		[ "$x" = "$y" ] && |  | ||||||
| 			[ -e "${cgroup_path}/cgroup.subtree_control" ]&& |  | ||||||
| 			echo "+${x}"  > "${cgroup_path}/cgroup.subtree_control" |  | ||||||
| 		done |  | ||||||
| 	done |  | ||||||
| 	return 0 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| cgroups_hybrid() |  | ||||||
| { |  | ||||||
| 	cgroup1_base |  | ||||||
| 	cgroup2_base |  | ||||||
| 	cgroup2_controllers |  | ||||||
| 	cgroup1_controllers |  | ||||||
| 	return 0 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| cgroups_legacy() |  | ||||||
| { |  | ||||||
| 	cgroup1_base |  | ||||||
| 	cgroup1_controllers |  | ||||||
| 	return 0 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| cgroups_unified() |  | ||||||
| { |  | ||||||
| 	cgroup2_base |  | ||||||
| 	cgroup2_controllers |  | ||||||
| 	return 0 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| mount_cgroups() |  | ||||||
| { |  | ||||||
| 	case "${rc_cgroup_mode:-hybrid}" in |  | ||||||
| 	hybrid) cgroups_hybrid ;; |  | ||||||
| 	legacy) cgroups_legacy ;; |  | ||||||
| 	unified) cgroups_unified ;; |  | ||||||
| 	esac |  | ||||||
| 	return 0 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| restorecon_cgroups() |  | ||||||
| { |  | ||||||
| 	if [ -x /sbin/restorecon ]; then |  | ||||||
| 		ebegin "Restoring SELinux contexts in /sys/fs/cgroup" |  | ||||||
| 		restorecon -rF /sys/fs/cgroup >/dev/null 2>&1 |  | ||||||
| 		eend $? |  | ||||||
| 	fi |  | ||||||
| 	return 0 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| start() |  | ||||||
| { |  | ||||||
| 	# set up kernel support for cgroups |  | ||||||
| 	if [ -d /sys/fs/cgroup ]; then |  | ||||||
| 		mount_cgroups |  | ||||||
| 		restorecon_cgroups |  | ||||||
| 	fi |  | ||||||
| 	return 0 |  | ||||||
| } |  | ||||||
| @@ -13,9 +13,9 @@ description="Sets a font for the consoles." | |||||||
|  |  | ||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	need termencoding | 	need localmount termencoding | ||||||
| 	after hotplug bootmisc modules | 	after hotplug bootmisc modules | ||||||
| 	keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu | 	keyword -openvz -prefix -systemd-nspawn -uml -vserver -xenu -lxc | ||||||
| } | } | ||||||
|  |  | ||||||
| start() | start() | ||||||
|   | |||||||
| @@ -13,7 +13,6 @@ description="Creates the dev database" | |||||||
|  |  | ||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	after clock |  | ||||||
| 	need localmount | 	need localmount | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -15,17 +15,14 @@ depend() | |||||||
| { | { | ||||||
| 	provide dev-mount | 	provide dev-mount | ||||||
| 	before dev | 	before dev | ||||||
| 	keyword -docker -lxc -prefix -systemd-nspawn -vserver | 	keyword -prefix -systemd-nspawn -vserver -lxc | ||||||
| } | } | ||||||
|  |  | ||||||
| mount_dev() | mount_dev() | ||||||
| { | { | ||||||
| 	local action conf_d_dir devfstype msg mountopts | 	local action=--mount devfstype msg=Mounting | ||||||
| 	action=--mount |  | ||||||
| 	conf_d_dir="${RC_SERVICE%/*/*}/conf.d" |  | ||||||
| 	msg=Mounting |  | ||||||
| 	# Some devices require exec, Bug #92921 | 	# Some devices require exec, Bug #92921 | ||||||
| 	mountopts="exec,nosuid,mode=0755" | 	local mountopts="exec,nosuid,mode=0755" | ||||||
| 	if yesno ${skip_mount_dev:-no} ; then | 	if yesno ${skip_mount_dev:-no} ; then | ||||||
| 		einfo "/dev will not be mounted due to user request" | 		einfo "/dev will not be mounted due to user request" | ||||||
| 		return 0 | 		return 0 | ||||||
| @@ -36,7 +33,7 @@ mount_dev() | |||||||
| 		msg=Remounting | 		msg=Remounting | ||||||
| 	fi | 	fi | ||||||
| 	if fstabinfo -q /dev; then | 	if fstabinfo -q /dev; then | ||||||
| 		ebegin "$msg /dev according to fstab" | 		ebegin "$msg /dev according to @SYSCONFDIR@/fstab" | ||||||
| 		fstabinfo -q $action /dev | 		fstabinfo -q $action /dev | ||||||
| 		eend $? | 		eend $? | ||||||
| 		return 0 | 		return 0 | ||||||
| @@ -57,7 +54,7 @@ mount_dev() | |||||||
| 		ewarn "is no entry for /dev in fstab." | 		ewarn "is no entry for /dev in fstab." | ||||||
| 		ewarn "This means /dev will not be mounted." | 		ewarn "This means /dev will not be mounted." | ||||||
| 		ewarn "To avoid this message, set CONFIG_DEVTMPFS or CONFIG_TMPFS to y" | 		ewarn "To avoid this message, set CONFIG_DEVTMPFS or CONFIG_TMPFS to y" | ||||||
| 		ewarn "in your kernel configuration or see ${conf_d_dir}/${RC_SVCNAME}" | 		ewarn "in your kernel configuration or see @SYSCONFDIR@/conf.d/devfs" | ||||||
| 	fi | 	fi | ||||||
| 	return 0 | 	return 0 | ||||||
| } | } | ||||||
|   | |||||||
| @@ -14,7 +14,7 @@ description="Set the dmesg level for a cleaner boot" | |||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	before dev modules | 	before dev modules | ||||||
| 	keyword -docker -lxc -prefix -systemd-nspawn -vserver | 	keyword -lxc -prefix -systemd-nspawn -vserver | ||||||
| } | } | ||||||
|  |  | ||||||
| start() | start() | ||||||
|   | |||||||
| @@ -12,7 +12,6 @@ | |||||||
| description="Configures a specific kernel dump device." | description="Configures a specific kernel dump device." | ||||||
|  |  | ||||||
| depend() { | depend() { | ||||||
| 	after clock |  | ||||||
| 	need swap | 	need swap | ||||||
| 	keyword -jail -prefix | 	keyword -jail -prefix | ||||||
| } | } | ||||||
|   | |||||||
| @@ -15,9 +15,8 @@ _IFS=" | |||||||
|  |  | ||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	after clock |  | ||||||
| 	use dev clock modules | 	use dev clock modules | ||||||
| 	keyword -docker -jail -lxc -openvz -prefix -systemd-nspawn -timeout -vserver -uml | 	keyword -jail -openvz -prefix -systemd-nspawn -timeout -vserver -lxc -uml | ||||||
| } | } | ||||||
|  |  | ||||||
| _abort() { | _abort() { | ||||||
|   | |||||||
| @@ -15,7 +15,6 @@ extra_commands="reset" | |||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	use root | 	use root | ||||||
| 	after clock |  | ||||||
| 	before devd net | 	before devd net | ||||||
| 	keyword -jail -prefix | 	keyword -jail -prefix | ||||||
| } | } | ||||||
|   | |||||||
| @@ -11,28 +11,16 @@ | |||||||
|  |  | ||||||
| description="Sets the hostname of the machine." | description="Sets the hostname of the machine." | ||||||
|  |  | ||||||
| depend() | depend() { | ||||||
| { | 	keyword -prefix -systemd-nspawn -lxc | ||||||
| 	after clock |  | ||||||
| 	keyword -docker -lxc -prefix -systemd-nspawn |  | ||||||
| } | } | ||||||
|  |  | ||||||
| start() | start() | ||||||
| { | { | ||||||
| 	local h source x | 	# HOSTNAME variable used to be defined in caps in conf.d/hostname. | ||||||
| 	if [ -s /etc/hostname ] && [ -r /etc/hostname ]; then | 	# It is also a magic variable in bash. | ||||||
| 		read h x </etc/hostname | 	hostname=${hostname-${HOSTNAME-localhost}} # checkbashisms: false positive | ||||||
| 		source="from /etc/hostname" | 	ebegin "Setting hostname to $hostname" | ||||||
| 	else | 	hostname "$hostname" | ||||||
| 		# HOSTNAME variable used to be defined in caps in conf.d/hostname. |  | ||||||
| 		# It is also a magic variable in bash. |  | ||||||
| 		h=${hostname:-${HOSTNAME}} # checkbashisms: false positive (HOSTNAME var) |  | ||||||
| 	fi |  | ||||||
| 	if [ -z "$h" ]; then |  | ||||||
| 		einfo "Using default system hostname" |  | ||||||
| 		return 0 |  | ||||||
| 	fi |  | ||||||
| 	ebegin "Setting hostname to $h $source" |  | ||||||
| 	hostname "$h" |  | ||||||
| 	eend $? "Failed to set the hostname" | 	eend $? "Failed to set the hostname" | ||||||
| } | } | ||||||
|   | |||||||
| @@ -30,11 +30,12 @@ fi | |||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	provide clock | 	provide clock | ||||||
| 	want modules |  | ||||||
| 	if yesno $clock_adjfile; then | 	if yesno $clock_adjfile; then | ||||||
| 		use root | 		use root | ||||||
|  | 	else | ||||||
|  | 		before * | ||||||
| 	fi | 	fi | ||||||
| 	keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu | 	keyword -openvz -prefix -systemd-nspawn -uml -vserver -xenu -lxc | ||||||
| } | } | ||||||
|  |  | ||||||
| setupopts() | setupopts() | ||||||
| @@ -68,28 +69,9 @@ _hwclock() | |||||||
| 	return 1 | 	return 1 | ||||||
| } | } | ||||||
|  |  | ||||||
| get_noadjfile() |  | ||||||
| { |  | ||||||
| 	if ! yesno $clock_adjfile; then |  | ||||||
| 		# Some implementations don't handle adjustments |  | ||||||
| 		if LC_ALL=C hwclock --help 2>&1 | grep -q "\-\-noadjfile"; then |  | ||||||
| 			echo --noadjfile |  | ||||||
| 		fi |  | ||||||
| 	fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| rtc_exists() |  | ||||||
| { |  | ||||||
| 	local rtc= |  | ||||||
| 	for rtc in /dev/rtc /dev/rtc[0-9]*; do |  | ||||||
| 		[ -e "$rtc" ] && break |  | ||||||
| 	done |  | ||||||
| 	[ -e "$rtc" ] |  | ||||||
| } |  | ||||||
|  |  | ||||||
| start() | start() | ||||||
| { | { | ||||||
| 	local retval=0 errstr="" modname | 	local retval=0 errstr="" | ||||||
| 	setupopts | 	setupopts | ||||||
|  |  | ||||||
| 	if [ -z "$utc_cmd" ]; then | 	if [ -z "$utc_cmd" ]; then | ||||||
| @@ -99,27 +81,26 @@ start() | |||||||
|  |  | ||||||
| 	ebegin "Setting system clock using the hardware clock [$utc]" | 	ebegin "Setting system clock using the hardware clock [$utc]" | ||||||
| 	if [ -e /proc/modules ]; then | 	if [ -e /proc/modules ]; then | ||||||
| 		if ! rtc_exists; then | 		local rtc= | ||||||
| 			for x in rtc-cmos rtc genrtc; do | 		for rtc in /dev/rtc /dev/rtc[0-9]*; do | ||||||
| 				modprobe -q $x && rtc_exists && modname="$x" && break | 			[ -e "$rtc" ] && break | ||||||
| 			done | 		done | ||||||
| 			[ -n "$modname" ] && | 		if [ ! -e "${rtc}" ]; then | ||||||
| 				ewarn "The $modname module needs to be configured in" \ | 			modprobe -q rtc-cmos || modprobe -q rtc || modprobe -q genrtc | ||||||
| 					"${RC_SERVICE%/*/*}/conf.d/modules or built in." |  | ||||||
| 		fi | 		fi | ||||||
| 	fi | 	fi | ||||||
|  |  | ||||||
| 	# Always set the kernel's time zone. | 	# Always set the kernel's time zone. | ||||||
| 	_hwclock --systz $utc_cmd $(get_noadjfile) $clock_args | 	_hwclock --systz $utc_cmd $clock_args | ||||||
| 	: $(( retval += $? )) | 	: $(( retval += $? )) | ||||||
|  |  | ||||||
| 	if [ -e /etc/adjtime ] && yesno $clock_adjfile; then | 	if [ -e /etc/adjtime ] && yesno $clock_adjfile; then | ||||||
| 		_hwclock --adjust $utc_cmd $(get_noadjfile) | 		_hwclock --adjust $utc_cmd | ||||||
| 		: $(( retval += $? )) | 		: $(( retval += $? )) | ||||||
| 	fi | 	fi | ||||||
|  |  | ||||||
| 	if yesno ${clock_hctosys:-YES}; then | 	if yesno ${clock_hctosys:-YES}; then | ||||||
| 		_hwclock --hctosys $utc_cmd $(get_noadjfile) $clock_args | 		_hwclock --hctosys $utc_cmd $clock_args | ||||||
| 		: $(( retval += $? )) | 		: $(( retval += $? )) | ||||||
| 	fi | 	fi | ||||||
|  |  | ||||||
| @@ -141,7 +122,14 @@ stop() | |||||||
|  |  | ||||||
| 	ebegin "Setting hardware clock using the system clock" "[$utc]" | 	ebegin "Setting hardware clock using the system clock" "[$utc]" | ||||||
|  |  | ||||||
| 	_hwclock --systohc $utc_cmd $(get_noadjfile) $clock_args | 	if ! yesno $clock_adjfile; then | ||||||
|  | 		# Some implementations don't handle adjustments | ||||||
|  | 		if LC_ALL=C hwclock --help 2>&1 | grep -q "\-\-noadjfile"; then | ||||||
|  | 			utc_cmd="$utc_cmd --noadjfile" | ||||||
|  | 		fi | ||||||
|  | 	fi | ||||||
|  |  | ||||||
|  | 	_hwclock --systohc $utc_cmd $clock_args | ||||||
| 	retval=$? | 	retval=$? | ||||||
|  |  | ||||||
| 	eend $retval "Failed to sync clocks" | 	eend $retval "Failed to sync clocks" | ||||||
| @@ -156,5 +144,5 @@ save() | |||||||
| show() | show() | ||||||
| { | { | ||||||
| 	setupopts | 	setupopts | ||||||
| 	hwclock --show "$utc_cmd" $(get_noadjfile) $clock_args | 	hwclock --show "$utc_cmd" $clock_args | ||||||
| } | } | ||||||
|   | |||||||
| @@ -13,9 +13,9 @@ description="Applies a keymap for the consoles." | |||||||
|  |  | ||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	need termencoding | 	need localmount termencoding | ||||||
| 	after bootmisc clock | 	after bootmisc | ||||||
| 	keyword -docker -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu | 	keyword -openvz -prefix -systemd-nspawn -uml -vserver -xenu -lxc | ||||||
| } | } | ||||||
|  |  | ||||||
| start() | start() | ||||||
|   | |||||||
| @@ -19,9 +19,11 @@ depend() | |||||||
| start() | start() | ||||||
| { | { | ||||||
| 	ebegin "Terminating remaining processes" | 	ebegin "Terminating remaining processes" | ||||||
| 	kill_all 15 ${killall5_opts} | 	killall5 -15 ${killall5_opts} | ||||||
|  | 	sleep 1 | ||||||
| 	eend 0 | 	eend 0 | ||||||
| 	ebegin "Killing remaining processes" | 	ebegin "Killing remaining processes" | ||||||
| 	kill_all 9 ${killall5_opts} | 	killall5 -9 ${killall5_opts} | ||||||
|  | 	sleep 1 | ||||||
| 	eend 0 | 	eend 0 | ||||||
| } | } | ||||||
|   | |||||||
| @@ -9,10 +9,7 @@ | |||||||
| # This file may not be copied, modified, propagated, or distributed | # This file may not be copied, modified, propagated, or distributed | ||||||
| # except according to the terms contained in the LICENSE file. | # except according to the terms contained in the LICENSE file. | ||||||
|  |  | ||||||
| conf_d_dir="${RC_SERVICE%/*/*}/conf.d" | description="Executes user programs in @SYSCONFDIR@/local.d" | ||||||
| local_d_dir="${RC_SERVICE%/*/*}/local.d" |  | ||||||
|  |  | ||||||
| description="Executes user programs in ${local_d_dir}" |  | ||||||
|  |  | ||||||
| depend() | depend() | ||||||
| { | { | ||||||
| @@ -22,12 +19,12 @@ depend() | |||||||
|  |  | ||||||
| start() | start() | ||||||
| { | { | ||||||
| 	local file has_errors redirect retval |  | ||||||
| 	has_errors=0 |  | ||||||
| 	yesno $rc_verbose || redirect='> /dev/null 2>&1' |  | ||||||
| 	ebegin "Starting local" | 	ebegin "Starting local" | ||||||
|  |  | ||||||
|  | 	local file has_errors=0 redirect retval | ||||||
|  | 	yesno $rc_verbose || redirect='> /dev/null 2>&1' | ||||||
| 	eindent | 	eindent | ||||||
| 	for file in "${local_d_dir}"/*.start; do | 	for file in @SYSCONFDIR@/local.d/*.start; do | ||||||
| 		if [ -x "${file}" ]; then | 		if [ -x "${file}" ]; then | ||||||
| 			vebegin "Executing \"${file}\"" | 			vebegin "Executing \"${file}\"" | ||||||
| 			eval "${file}" $redirect | 			eval "${file}" $redirect | ||||||
| @@ -41,32 +38,32 @@ start() | |||||||
| 	eoutdent | 	eoutdent | ||||||
|  |  | ||||||
| 	if command -v local_start >/dev/null 2>&1; then | 	if command -v local_start >/dev/null 2>&1; then | ||||||
| 		ewarn "\"${conf_d_dir}/local\" should be removed." | 		ewarn "\"@SYSCONFDIR@/conf.d/local\" should be removed." | ||||||
| 		ewarn "Please move the code from the local_start function" | 		ewarn "Please move the code from the local_start function" | ||||||
| 		ewarn "to executable scripts with an .start extension" | 		ewarn "to executable scripts with an .start extension" | ||||||
| 		ewarn "in \"${local_d_dir}\"" | 		ewarn "in \"@SYSCONFDIR@/local.d\"" | ||||||
| 		local_start | 		local_start | ||||||
| 	fi | 	fi | ||||||
|  |  | ||||||
| 	eend ${has_errors} | 	eend ${has_errors} | ||||||
|  |  | ||||||
| 	# We have to end with a zero exit code, because a failed execution | 	# We have to end with a zero exit code, because a failed execution | ||||||
| 	# of an executable ${local_d_dir}/*.start file shouldn't result in | 	# of an executable @SYSCONFDIR@/local.d/*.start file shouldn't result in | ||||||
| 	# marking the local service as failed. Otherwise we are unable to | 	# marking the local service as failed. Otherwise we are unable to | ||||||
| 	# execute any executable ${local_d_dir}/*.stop file, because a failed | 	# execute any executable @SYSCONFDIR@/local.d/*.stop file, because a failed | ||||||
| 	# marked service cannot be stopped (and the stop function would | 	# marked service cannot be stopped (and the stop function would | ||||||
| 	# actually call the executable ${local_d_dir}/*.stop file(s)). | 	# actually call the executable @SYSCONFDIR@/local.d/*.stop file(s)). | ||||||
| 	return 0 | 	return 0 | ||||||
| } | } | ||||||
|  |  | ||||||
| stop() | stop() | ||||||
| { | { | ||||||
| 	local file has_errors redirect retval |  | ||||||
| 	has_errors=0 |  | ||||||
| 	yesno $rc_verbose || redirect='> /dev/null 2>&1' |  | ||||||
| 	ebegin "Stopping local" | 	ebegin "Stopping local" | ||||||
|  |  | ||||||
|  | 	local file has_errors=0 redirect retval | ||||||
|  | 	yesno $rc_verbose || redirect='> /dev/null 2>&1' | ||||||
| 	eindent | 	eindent | ||||||
| 	for file in "${local_d_dir}"/*.stop; do | 	for file in @SYSCONFDIR@/local.d/*.stop; do | ||||||
| 		if [ -x "${file}" ]; then | 		if [ -x "${file}" ]; then | ||||||
| 			vebegin "Executing \"${file}\"" | 			vebegin "Executing \"${file}\"" | ||||||
| 			eval "${file}" $redirect | 			eval "${file}" $redirect | ||||||
| @@ -80,16 +77,16 @@ stop() | |||||||
| 	eoutdent | 	eoutdent | ||||||
|  |  | ||||||
| 	if command -v local_stop >/dev/null 2>&1; then | 	if command -v local_stop >/dev/null 2>&1; then | ||||||
| 		ewarn "\"${conf_d_dir}/local\" should be removed." | 		ewarn "\"@SYSCONFDIR@/conf.d/local\" should be removed." | ||||||
| 		ewarn "Please move the code from the local_stop function" | 		ewarn "Please move the code from the local_stop function" | ||||||
| 		ewarn "to executable scripts with an .stop extension" | 		ewarn "to executable scripts with an .stop extension" | ||||||
| 		ewarn "in \"${local_d_dir}\"" | 		ewarn "in \"@SYSCONFDIR@/local.d\"" | ||||||
| 		local_stop | 		local_stop | ||||||
| 	fi | 	fi | ||||||
|  |  | ||||||
| 	eend ${has_errors} | 	eend ${has_errors} | ||||||
|  |  | ||||||
| 	# An executable ${local_d_dir}/*.stop file which failed with a | 	# An executable @SYSCONFDIR@/local.d/*.stop file which failed with a | ||||||
| 	# non-zero exit status is not a reason to mark this service | 	# non-zero exit status is not a reason to mark this service | ||||||
| 	# as failed, therefore we have to end with a zero exit code. | 	# as failed, therefore we have to end with a zero exit code. | ||||||
| 	return 0 | 	return 0 | ||||||
|   | |||||||
| @@ -14,18 +14,17 @@ description="Mounts disks and swap according to /etc/fstab." | |||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	need fsck | 	need fsck | ||||||
| 	use lvm modules root | 	use lvm modules mtab | ||||||
| 	after clock lvm modules root | 	after lvm modules | ||||||
| 	keyword -docker -jail -lxc -prefix -systemd-nspawn -vserver | 	keyword -jail -prefix -systemd-nspawn -vserver -lxc | ||||||
| } | } | ||||||
|  |  | ||||||
| start() | start() | ||||||
| { | { | ||||||
| 	# Mount local filesystems in /etc/fstab. | 	# Mount local filesystems in /etc/fstab. | ||||||
| 	# The types variable must start with no, and must be a type | 	local types="noproc" x= no_netdev= rc= | ||||||
| 	local critical= types="noproc" x= no_netdev= rc= |  | ||||||
| 	for x in $net_fs_list $extra_net_fs_list; do | 	for x in $net_fs_list $extra_net_fs_list; do | ||||||
| 		types="${types},${x}" | 		types="${types},no${x}" | ||||||
| 	done | 	done | ||||||
|  |  | ||||||
| 	if [ "$RC_UNAME" = Linux ]; then | 	if [ "$RC_UNAME" = Linux ]; then | ||||||
| @@ -38,17 +37,13 @@ start() | |||||||
| 	mount -at "$types" $no_netdev | 	mount -at "$types" $no_netdev | ||||||
| 	eend $? "Some local filesystem failed to mount" | 	eend $? "Some local filesystem failed to mount" | ||||||
| 	rc=$? | 	rc=$? | ||||||
| 	if [ -z "$critical_mounts" ]; then | 	if [ "$RC_UNAME" != Linux ]; then | ||||||
| 		rc=0 | 		rc=0 | ||||||
| 	else | 	elif yesno "${ignore_mount_errors:-NO}"; then | ||||||
| 		for x in ${critical_mounts}; do | 		if [ $rc -ne 0 ]; then | ||||||
| 		fstabinfo -q $x || continue | 			ewarn "localmount: errors detected, but ignored" | ||||||
| 		if ! mountinfo -q $x; then |  | ||||||
| 			critical=x |  | ||||||
| 			eerror "Failed to mount $x" |  | ||||||
| 		fi | 		fi | ||||||
| 		done | 		rc=0 | ||||||
| 		[ -z "$critical" ] && rc=0 |  | ||||||
| 	fi | 	fi | ||||||
| 	return $rc | 	return $rc | ||||||
| } | } | ||||||
| @@ -100,8 +95,8 @@ stop() | |||||||
| 				aufs_branch=$(sed 's/=.*//g' $x) | 				aufs_branch=$(sed 's/=.*//g' $x) | ||||||
| 				eindent | 				eindent | ||||||
| 				if ! mount -o "remount,del:$aufs_branch" "$aufs_mount_point" > /dev/null 2>&1; then | 				if ! mount -o "remount,del:$aufs_branch" "$aufs_mount_point" > /dev/null 2>&1; then | ||||||
| 					ewarn "Failed to remove branch $aufs_branch from aufs" \ | 					ewarn "Failed to remove branch $aufs_branch from aufs \ | ||||||
| 					"$aufs_mount_point" | 					$aufs_mount_point" | ||||||
| 				fi | 				fi | ||||||
| 				eoutdent | 				eoutdent | ||||||
| 				sync | 				sync | ||||||
|   | |||||||
| @@ -13,7 +13,6 @@ description="Configures the loopback interface." | |||||||
|  |  | ||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	after clock |  | ||||||
| 	keyword -jail -prefix -systemd-nspawn -vserver | 	keyword -jail -prefix -systemd-nspawn -vserver | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -22,14 +21,22 @@ start() | |||||||
| 	if [ "$RC_UNAME" = Linux ]; then | 	if [ "$RC_UNAME" = Linux ]; then | ||||||
| 		ebegin "Bringing up network interface lo" | 		ebegin "Bringing up network interface lo" | ||||||
| 		if command -v ip > /dev/null 2>&1; then | 		if command -v ip > /dev/null 2>&1; then | ||||||
| 			ip addr add 127.0.0.1/8 dev lo brd + | 			ip addr add 127.0.0.1/8 dev lo brd + scope host | ||||||
|  | 			ip route add 127.0.0.0/8 dev lo scope host | ||||||
| 			ip link set lo up | 			ip link set lo up | ||||||
| 		else | 		else | ||||||
| 			ifconfig lo 127.0.0.1 netmask 255.0.0.0 | 			ifconfig lo 127.0.0.1 netmask 255.0.0.0 | ||||||
|  | 			route add -net 127.0.0.0 netmask 255.0.0.0 gw 127.0.0.1 | ||||||
| 		fi | 		fi | ||||||
| 	else | 	else | ||||||
| 		ebegin "Bringing up network interface lo0" | 		ebegin "Bringing up network interface lo0" | ||||||
| 		ifconfig lo0 127.0.0.1 netmask 255.0.0.0 | 		ifconfig lo0 127.0.0.1 netmask 255.0.0.0 | ||||||
|  | 		route -q add -inet 127.0.0.0 -netmask 255.0.0.0 127.0.0.1 | ||||||
| 	fi | 	fi | ||||||
| 	eend $? | 	eend $? | ||||||
| } | } | ||||||
|  |  | ||||||
|  | stop() | ||||||
|  | { | ||||||
|  | 	return 0 | ||||||
|  | } | ||||||
|   | |||||||
| @@ -14,80 +14,12 @@ description="Loads a user defined list of kernel modules." | |||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	use isapnp | 	use isapnp | ||||||
| 	provide modules-load | 	keyword -openvz -prefix -systemd-nspawn -vserver -lxc | ||||||
| 	keyword -docker -lxc -openvz -prefix -systemd-nspawn -vserver |  | ||||||
| } | } | ||||||
|  |  | ||||||
| find_modfiles() | start() | ||||||
| { | { | ||||||
| 	local dirs="/usr/lib/modules-load.d /run/modules-load.d /etc/modules-load.d" | 	# Should not fail if kernel do not have module | ||||||
| 	local basenames files fn x y |  | ||||||
| 	for x in $dirs; do |  | ||||||
| 		[ ! -d $x ] && continue |  | ||||||
| 		for y in $x/*.conf; do |  | ||||||
| 			[ -f $y ] && basenames="${basenames}\n${y##*/}" |  | ||||||
| 		done |  | ||||||
| 	done |  | ||||||
| 	basenames=$(printf "$basenames" | sort -u) |  | ||||||
| 	for x in $basenames; do |  | ||||||
| 		for y in $dirs; do |  | ||||||
| 			[ -r $y/$x ] && |  | ||||||
| 				fn=$y/$x |  | ||||||
| 		done |  | ||||||
| 		files="$files $fn" |  | ||||||
| 	done |  | ||||||
| 	echo $files |  | ||||||
| } |  | ||||||
|  |  | ||||||
| load_modules() |  | ||||||
| { |  | ||||||
| 	local file m modules rc x |  | ||||||
| 	file=$1 |  | ||||||
| 	[ -z "$file" ] && return 0 |  | ||||||
| 	while read m x; do |  | ||||||
| 		case $m in |  | ||||||
| 			\;*) continue ;; |  | ||||||
| 			\#*) continue ;; |  | ||||||
| 			*) modules="$modules $m" |  | ||||||
| 			;; |  | ||||||
| 		esac |  | ||||||
| 	done < $file |  | ||||||
| 	for x in $modules; do |  | ||||||
| 		ebegin "Loading module $x" |  | ||||||
| 		case "$RC_UNAME" in |  | ||||||
| 			FreeBSD) kldload "$x"; rc=$? ;; |  | ||||||
| 			Linux) modprobe --first-time -q --use-blacklist "$x"; rc=$? ;; |  | ||||||
| 			*) ;; |  | ||||||
| 		esac |  | ||||||
| 		eend $rc "Failed to load $x" |  | ||||||
| 	done |  | ||||||
| 	return 0 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| modules_load_d() |  | ||||||
| { |  | ||||||
| 	local x |  | ||||||
| 	files=$(find_modfiles) |  | ||||||
| 	for x in $files; do |  | ||||||
| 		load_modules $x |  | ||||||
| 	done |  | ||||||
| 	return 0 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| FreeBSD_modules() |  | ||||||
| { |  | ||||||
| 	local cnt=0 x |  | ||||||
| 	for x in $modules; do |  | ||||||
| 		ebegin "Loading module $x" |  | ||||||
| 		kldload "$x" |  | ||||||
| 		eend $? "Failed to load $x" && : $(( cnt += 1 )) |  | ||||||
| 	done |  | ||||||
| 	einfo "Autoloaded $cnt module(s)" |  | ||||||
| } |  | ||||||
|  |  | ||||||
| Linux_modules() |  | ||||||
| { |  | ||||||
| 	# Should not fail if kernel does not have module |  | ||||||
| 	# support compiled in ... | 	# support compiled in ... | ||||||
| 	[ ! -f /proc/modules ] && return 0 | 	[ ! -f /proc/modules ] && return 0 | ||||||
|  |  | ||||||
| @@ -104,34 +36,35 @@ Linux_modules() | |||||||
| 		x=${x%.*} | 		x=${x%.*} | ||||||
| 	done | 	done | ||||||
|  |  | ||||||
| 	local list= x= xx= y= args= | 	local list= x= xx= y= args= mpargs= cnt=0 a= | ||||||
| 	for x in $kv_variant_list ; do | 	for x in $kv_variant_list ; do | ||||||
| 		eval list=\$modules_$(shell_var "$x") | 		eval list=\$modules_$(shell_var "$x") | ||||||
| 		[ -n "$list" ] && break | 		[ -n "$list" ] && break | ||||||
| 	done | 	done | ||||||
| 	[ -z "$list" ] && list=$modules | 	[ -z "$list" ] && list=$modules | ||||||
|  |  | ||||||
| 	[ -n "$list" ] && ebegin "Loading kernel modules" |  | ||||||
| 	for x in $list; do | 	for x in $list; do | ||||||
|  | 		a=${x#*:} | ||||||
|  | 		if [ "$a" = "$x" ]; then | ||||||
|  | 			unset mpargs | ||||||
|  | 			ebegin "Loading module $x" | ||||||
|  | 		else | ||||||
|  | 			x=${x%%:*} | ||||||
|  | 			mpargs="-o $a" | ||||||
|  | 			ebegin "Loading module $x as $a" | ||||||
|  | 		fi | ||||||
|  | 		aa=$(shell_var "$a") | ||||||
| 		xx=$(shell_var "$x") | 		xx=$(shell_var "$x") | ||||||
| 		for y in $kv_variant_list ; do | 		for y in $kv_variant_list ; do | ||||||
|  | 			eval args=\$module_${aa}_args_$(shell_var "$y") | ||||||
|  | 			[ -n "${args}" ] && break | ||||||
| 			eval args=\$module_${xx}_args_$(shell_var "$y") | 			eval args=\$module_${xx}_args_$(shell_var "$y") | ||||||
| 			[ -n "${args}" ] && break | 			[ -n "${args}" ] && break | ||||||
| 		done | 		done | ||||||
|  | 		[ -z "$args" ] && eval args=\$module_${aa}_args | ||||||
| 		[ -z "$args" ] && eval args=\$module_${xx}_args | 		[ -z "$args" ] && eval args=\$module_${xx}_args | ||||||
| 		eval modprobe --first-time --use-blacklist --verbose "$x" "$args" | 		eval modprobe -q "$mpargs" "$x" "$args" | ||||||
|  | 		eend $? "Failed to load $x" && : $(( cnt += 1 )) | ||||||
| 	done | 	done | ||||||
| 	[ -n "$list" ] && eend | 	einfo "Autoloaded $cnt module(s)" | ||||||
| } |  | ||||||
|  |  | ||||||
| start() |  | ||||||
| { |  | ||||||
| 	case "$RC_UNAME" in |  | ||||||
| 		FreeBSD|Linux) |  | ||||||
| 			modules_load_d |  | ||||||
| 			${RC_UNAME}_modules |  | ||||||
| 			;; |  | ||||||
| 		*) ;; |  | ||||||
| 	esac |  | ||||||
| 	return 0 |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -13,8 +13,8 @@ description="Re-mount filesytems read-only for a clean reboot." | |||||||
|  |  | ||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	after killprocs savecache | 	need killprocs savecache | ||||||
| 	keyword -docker -lxc -openvz -prefix -systemd-nspawn -vserver | 	keyword -openvz -prefix -systemd-nspawn -vserver -lxc | ||||||
| } | } | ||||||
|  |  | ||||||
| start() | start() | ||||||
| @@ -34,9 +34,6 @@ start() | |||||||
|  |  | ||||||
| 	local m="/dev|/dev/.*|/proc|/proc.*|/sys|/sys/.*|/run|${rc_svcdir}" x= fs= | 	local m="/dev|/dev/.*|/proc|/proc.*|/sys|/sys/.*|/run|${rc_svcdir}" x= fs= | ||||||
| 	m="$m|/bin|/sbin|/lib(32|64)?|/libexec" | 	m="$m|/bin|/sbin|/lib(32|64)?|/libexec" | ||||||
| 	if [ -e "$rc_svcdir"/usr_premounted ]; then |  | ||||||
| 		m="$m|/usr" |  | ||||||
| 	fi |  | ||||||
| 	# RC_NO_UMOUNTS is an env var that can be set by plugins | 	# RC_NO_UMOUNTS is an env var that can be set by plugins | ||||||
| 	local IFS="$IFS:" | 	local IFS="$IFS:" | ||||||
| 	for x in $no_umounts $RC_NO_UMOUNTS; do | 	for x in $no_umounts $RC_NO_UMOUNTS; do | ||||||
|   | |||||||
| @@ -13,8 +13,6 @@ description="Update /etc/mtab to match what the kernel knows about" | |||||||
|  |  | ||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	after clock |  | ||||||
| 	before localmount |  | ||||||
| 	need root | 	need root | ||||||
| 	keyword -prefix -systemd-nspawn | 	keyword -prefix -systemd-nspawn | ||||||
| } | } | ||||||
| @@ -31,10 +29,6 @@ start() | |||||||
| 		einfo "Creating mtab symbolic link" | 		einfo "Creating mtab symbolic link" | ||||||
| 		ln -snf /proc/self/mounts /etc/mtab | 		ln -snf /proc/self/mounts /etc/mtab | ||||||
| 	else | 	else | ||||||
| 		ewarn "The ${RC_SVCNAME} service will be removed in the future." |  | ||||||
| 		ewarn "Please change the mtab_is_file setting to no and run" |  | ||||||
| 		ewarn "# rc-service mtab restart" |  | ||||||
| 		ewarn "to create the mtab symbolic link." |  | ||||||
| 		[ -L /etc/mtab ] && ewarn "Removing /etc/mtab symbolic link" | 		[ -L /etc/mtab ] && ewarn "Removing /etc/mtab symbolic link" | ||||||
| 		rm -f /etc/mtab | 		rm -f /etc/mtab | ||||||
| 		einfo "Creating mtab file" | 		einfo "Creating mtab file" | ||||||
|   | |||||||
| @@ -13,26 +13,37 @@ description="Delays until the network is online or a specific timeout" | |||||||
|  |  | ||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	after modules net | 	after modules | ||||||
| 	need sysfs | 	need sysfs | ||||||
| 	provide network-online | 	keyword -jail -lxc -openvz -prefix -systemd-nspawn -uml -vserver | ||||||
| 	keyword -docker -jail -lxc -openvz -prefix -systemd-nspawn -uml -vserver |  | ||||||
| } | } | ||||||
|  |  | ||||||
| get_interfaces() | get_interfaces() | ||||||
| { | { | ||||||
| 	local ifname iftype | 	local ifname iftype | ||||||
| 	for ifname in /sys/class/net/*; do | 	for ifname in /sys/class/net/*; do | ||||||
| 		[ -h "${ifname}" ] && continue |  | ||||||
| 		read iftype < ${ifname}/type | 		read iftype < ${ifname}/type | ||||||
| 		[ "$iftype" = "1" ] && printf "%s " ${ifname##*/} | 		[ "$iftype" = "1" ] && printf "%s " ${ifname##*/} | ||||||
| 	done | 	done | ||||||
| } | } | ||||||
|  |  | ||||||
|  | get_default_gateway() | ||||||
|  | { | ||||||
|  | 	local cmd gateway | ||||||
|  | 	if command -v ip > /dev/null 2>&1; then | ||||||
|  | 		cmd="ip route show" | ||||||
|  | 	else | ||||||
|  | 		cmd=route | ||||||
|  | 	fi | ||||||
|  | 	set -- $($cmd | grep default) | ||||||
|  | 	[ "$2" != via ] && gateway="$2" || gateway="$3" | ||||||
|  | 	printf "%s" $gateway | ||||||
|  | } | ||||||
|  |  | ||||||
| start () | start () | ||||||
| { | { | ||||||
| 	local carriers configured dev gateway ifcount infinite | 	local carriers configured dev gateway ifcount infinite interfaces | ||||||
| 	local carrier operstate rc | 	local rc state timeout x | ||||||
|  |  | ||||||
| 	ebegin "Checking to see if the network is online" | 	ebegin "Checking to see if the network is online" | ||||||
| 	rc=0 | 	rc=0 | ||||||
| @@ -45,31 +56,20 @@ start () | |||||||
| 	ifcount=0 | 	ifcount=0 | ||||||
|  	for dev in ${interfaces}; do |  	for dev in ${interfaces}; do | ||||||
| 		: $((ifcount += 1)) | 		: $((ifcount += 1)) | ||||||
| 		read carrier < /sys/class/net/$dev/carrier 2> /dev/null || | 		read x < /sys/class/net/$dev/carrier | ||||||
| 			carrier= | 		[ $x -eq 1 ] && : $((carriers += 1)) | ||||||
| 		[ "$carrier" = 1 ] && : $((carriers += 1)) | 		read x < /sys/class/net/$dev/operstate | ||||||
| 		read operstate < /sys/class/net/$dev/operstate 2> /dev/null || | 		[ "$x" = up ] && : $((configured += 1)) | ||||||
| 			operstate= |  | ||||||
| 		[ "$operstate" = up ] && : $((configured += 1)) |  | ||||||
| 	done | 	done | ||||||
| 	[ $configured -eq $ifcount ] && [ $carriers -ge 1 ] && break | 	[ $configured -eq $ifcount ] && [ $carriers -ge 1 ] && break | ||||||
| 	sleep 1 | 	sleep 1 | ||||||
| 	: $((timeout -= 1)) | 	: $((timeout -= 1)) | ||||||
|  done |  done | ||||||
|  ! $infinite && [ $timeout -eq 0 ] && rc=1 |  ! $infinite && [ $timeout -eq 0 ] && rc=1 | ||||||
|  include_ping_test=${include_ping_test:-${ping_default_gateway}} |  if [ $rc -eq 0 ] && yesno ${ping_default_gateway:-no}; then | ||||||
|  if [ -n "${ping_default_gateway}" ]; then |  	gateway="$(get_default_gateway)" | ||||||
|  ewarn "ping_default_gateway is deprecated, please use include_ping_test" |  	if [ -n "$gateway" ] && ! ping -c 1 $gateway > /dev/null 2>&1; then | ||||||
|  fi | 		rc=1 | ||||||
|  if [ $rc -eq 0 ] && yesno ${include_ping_test:-no}; then |  | ||||||
|  	ping_test_host="${ping_test_host:-google.com}" |  | ||||||
|  	if [ -n "$ping_test_host" ]; then |  | ||||||
| 		while $infinite || [ $timeout -gt 0 ]; do |  | ||||||
| 			ping -c 1 $ping_test_host > /dev/null 2>&1 |  | ||||||
| 			rc=$? |  | ||||||
| 			[ $rc -eq 0 ] && break |  | ||||||
| 			: $((timeout -= 1)) |  | ||||||
| 		done |  | ||||||
| 	fi | 	fi | ||||||
|  fi |  fi | ||||||
|  eend $rc "The network is offline" |  eend $rc "The network is offline" | ||||||
|   | |||||||
| @@ -20,13 +20,11 @@ depend() | |||||||
| 			*) mywant="$mywant nfsclient"; break ;; | 			*) mywant="$mywant nfsclient"; break ;; | ||||||
| 		esac | 		esac | ||||||
| 	done | 	done | ||||||
| 	after root |  | ||||||
|  	config /etc/fstab |  	config /etc/fstab | ||||||
| 	want $mywant | 	want $mywant | ||||||
| 	use afc-client amd openvpn | 	use afc-client amd openvpn | ||||||
| 	use dns | 	use dns | ||||||
| 	use root | 	keyword -jail -prefix -systemd-nspawn -vserver -lxc | ||||||
| 	keyword -docker -jail -lxc -prefix -systemd-nspawn -vserver |  | ||||||
| } | } | ||||||
|  |  | ||||||
| start() | start() | ||||||
| @@ -39,22 +37,13 @@ start() | |||||||
| 	ebegin "Mounting network filesystems" | 	ebegin "Mounting network filesystems" | ||||||
| 	mount -at $fs | 	mount -at $fs | ||||||
| 	rc=$? | 	rc=$? | ||||||
| 	if [ "$RC_UNAME" = Linux ] && [ $rc = 0 ]; then | 	if [ "$RC_UNAME" = Linux ]; then | ||||||
| 		mount -a -O _netdev | 		mount -a -O _netdev | ||||||
| 		rc=$? | 		rc=$? | ||||||
| 	fi | 	fi | ||||||
| 	ewend $rc "Could not mount all network filesystems" | 	ewend $rc "Could not mount all network filesystems" | ||||||
| 	if [ -z "$critical_mounts" ]; then | 	if [ "$RC_UNAME" != Linux ]; then | ||||||
| 		rc=0 | 		rc=0 | ||||||
| 	else |  | ||||||
| 		for x in ${critical_mounts}; do |  | ||||||
| 		fstabinfo -q $x || continue |  | ||||||
| 		if ! mountinfo -q $x; then |  | ||||||
| 			critical=x |  | ||||||
| 			eerror "Failed to mount $x" |  | ||||||
| 		fi |  | ||||||
| 		done |  | ||||||
| 		[ -z "$critical" ] && rc=0 |  | ||||||
| 	fi | 	fi | ||||||
| 	return $rc | 	return $rc | ||||||
| } | } | ||||||
| @@ -83,7 +72,7 @@ stop() | |||||||
| 	retval=$? | 	retval=$? | ||||||
|  |  | ||||||
| 	eoutdent | 	eoutdent | ||||||
| 	if [ "$RC_UNAME" = Linux ] && [ $retval = 0 ]; then | 	if [ "$RC_UNAME" = Linux ]; then | ||||||
| 		umount -a -O _netdev | 		umount -a -O _netdev | ||||||
| 		retval=$? | 		retval=$? | ||||||
| 	fi | 	fi | ||||||
|   | |||||||
| @@ -18,7 +18,7 @@ __nl=" | |||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	need localmount | 	need localmount | ||||||
| 	after bootmisc clock | 	after bootmisc | ||||||
| 	if [ -n "$(interfaces)" ]; then | 	if [ -n "$(interfaces)" ]; then | ||||||
| 		provide net | 		provide net | ||||||
| 	fi | 	fi | ||||||
| @@ -76,7 +76,7 @@ tentative() | |||||||
|  |  | ||||||
| 	case "$RC_UNAME" in | 	case "$RC_UNAME" in | ||||||
| 	Linux) | 	Linux) | ||||||
| 		[ -n "$(command -v ip)" ] || return 1 | 		[ -x /sbin/ip ] || [ -x /bin/ip ] || return 1 | ||||||
| 		[ -n "$(ip -f inet6 addr show tentative)" ] | 		[ -n "$(ip -f inet6 addr show tentative)" ] | ||||||
| 		;; | 		;; | ||||||
| 	*) | 	*) | ||||||
| @@ -174,7 +174,7 @@ runip() | |||||||
| routeflush() | routeflush() | ||||||
| { | { | ||||||
| 	if [ "$RC_UNAME" = Linux ]; then | 	if [ "$RC_UNAME" = Linux ]; then | ||||||
| 		if [ -n "$(command -v ip)"  ]; then | 		if [ -x /sbin/ip ] || [ -x /bin/ip ]; then | ||||||
| 			ip route flush scope global | 			ip route flush scope global | ||||||
| 			ip route delete default 2>/dev/null | 			ip route delete default 2>/dev/null | ||||||
| 		else | 		else | ||||||
| @@ -346,7 +346,7 @@ stop() | |||||||
| 		then | 		then | ||||||
| 			veinfo "$int" | 			veinfo "$int" | ||||||
| 			runargs /etc/ifdown."$int" "$downcmd" | 			runargs /etc/ifdown."$int" "$downcmd" | ||||||
| 			if [ -n "$(command -v ip)" ]; then | 			if [ -x /sbin/ip ] || [ -x /bin/ip ]; then | ||||||
| 				# We need to do this, otherwise we may | 				# We need to do this, otherwise we may | ||||||
| 				# fail to add things correctly on restart | 				# fail to add things correctly on restart | ||||||
| 				ip address flush dev "$int" 2>/dev/null | 				ip address flush dev "$int" 2>/dev/null | ||||||
|   | |||||||
| @@ -13,7 +13,6 @@ required_files="/etc/newsyslog.conf" | |||||||
|  |  | ||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	after clock |  | ||||||
| 	need localmount | 	need localmount | ||||||
| 	keyword -prefix | 	keyword -prefix | ||||||
| } | } | ||||||
|   | |||||||
| @@ -15,7 +15,8 @@ ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}} | |||||||
|  |  | ||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	keyword -docker -lxc -openvz -prefix -systemd-nspawn -vserver | 	need localmount | ||||||
|  | 	keyword -openvz -prefix -systemd-nspawn -vserver -lxc | ||||||
| } | } | ||||||
|  |  | ||||||
| _setleds() | _setleds() | ||||||
|   | |||||||
| @@ -13,22 +13,16 @@ description="Mounts misc filesystems in /proc." | |||||||
|  |  | ||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	after clock | 	use modules devfs | ||||||
| 	use devfs | 	need localmount | ||||||
| 	want modules | 	keyword -openvz -prefix -systemd-nspawn -vserver -lxc | ||||||
| 	keyword -docker -lxc -openvz -prefix -systemd-nspawn -vserver |  | ||||||
| } | } | ||||||
|  |  | ||||||
| start() | start() | ||||||
| { | { | ||||||
| 	# Setup Kernel Support for miscellaneous Binary Formats | 	# Setup Kernel Support for miscellaneous Binary Formats | ||||||
| 	if [ -d /proc/sys/fs/binfmt_misc ] && | 	if [ -d /proc/sys/fs/binfmt_misc -a ! -e /proc/sys/fs/binfmt_misc/register ]; then | ||||||
| 		[ ! -e /proc/sys/fs/binfmt_misc/register ]; then | 		modprobe -q binfmt-misc | ||||||
| 		if ! grep -qs binfmt_misc /proc/filesystems && |  | ||||||
| 			modprobe -q binfmt-misc; then |  | ||||||
| 			ewarn "The binfmt-misc module needs to be loaded by" \ |  | ||||||
| 				"the modules service or built in." |  | ||||||
| 		fi |  | ||||||
| 		if grep -qs binfmt_misc /proc/filesystems; then | 		if grep -qs binfmt_misc /proc/filesystems; then | ||||||
| 			ebegin "Mounting misc binary format filesystem" | 			ebegin "Mounting misc binary format filesystem" | ||||||
| 			mount -t binfmt_misc -o nodev,noexec,nosuid \ | 			mount -t binfmt_misc -o nodev,noexec,nosuid \ | ||||||
|   | |||||||
| @@ -13,9 +13,8 @@ description="Mount the root fs read/write" | |||||||
|  |  | ||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	after clock |  | ||||||
| 	need fsck | 	need fsck | ||||||
| 	keyword -docker -jail -lxc -openvz -prefix -systemd-nspawn -vserver | 	keyword -jail -openvz -prefix -systemd-nspawn -vserver -lxc | ||||||
| } | } | ||||||
|  |  | ||||||
| start() | start() | ||||||
|   | |||||||
| @@ -1,20 +0,0 @@ | |||||||
| #!@SBINDIR@/openrc-run |  | ||||||
| # Copyright (c) 2016 The OpenRC Authors. |  | ||||||
| # See the Authors file at the top-level directory of this distribution and |  | ||||||
| # https://github.com/OpenRC/openrc/blob/master/AUTHORS |  | ||||||
| # |  | ||||||
| # This file is part of OpenRC. It is subject to the license terms in |  | ||||||
| # the LICENSE file found in the top-level directory of this |  | ||||||
| # distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE |  | ||||||
| # This file may not be copied, modified, propagated, or distributed |  | ||||||
| # except according to the terms contained in the LICENSE file. |  | ||||||
|  |  | ||||||
| command=/usr/bin/runsvdir |  | ||||||
| command_background=yes |  | ||||||
| pidfile=/var/run/runsvdir.pid |  | ||||||
| command_args="-P $RC_SVCDIR/sv 'log: ...........................................................................................................................................................................................................................................................................................................................................................................................................'" |  | ||||||
|  |  | ||||||
| start_pre() |  | ||||||
| { |  | ||||||
| 	checkpath -m 0755 -o root:root -d ${RC_SVCDIR}/sv |  | ||||||
| } |  | ||||||
| @@ -49,7 +49,7 @@ start() | |||||||
| 	fi | 	fi | ||||||
| 	ebegin "Saving dependency cache" | 	ebegin "Saving dependency cache" | ||||||
| 	local rc=0 save= | 	local rc=0 save= | ||||||
| 	for x in depconfig deptree rc.log shutdowntime softlevel; do | 	for x in deptree depconfig shutdowntime softlevel nettree rc.log; do | ||||||
| 		[ -e "$RC_SVCDIR/$x" ] && save="$save $RC_SVCDIR/$x" | 		[ -e "$RC_SVCDIR/$x" ] && save="$save $RC_SVCDIR/$x" | ||||||
| 	done | 	done | ||||||
| 	if [ -n "$save" ]; then | 	if [ -n "$save" ]; then | ||||||
|   | |||||||
| @@ -14,7 +14,6 @@ description="Saves a kernel dump." | |||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	need dumpon localmount | 	need dumpon localmount | ||||||
| 	after clock |  | ||||||
| 	before encswap | 	before encswap | ||||||
| 	keyword -jail -prefix | 	keyword -jail -prefix | ||||||
| } | } | ||||||
|   | |||||||
| @@ -14,9 +14,9 @@ | |||||||
| description="Configures static routes." | description="Configures static routes." | ||||||
| __nl=" | __nl=" | ||||||
| " | " | ||||||
|  |  | ||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	after clock |  | ||||||
| 	provide net | 	provide net | ||||||
| 	use network | 	use network | ||||||
| 	keyword -jail -prefix -vserver | 	keyword -jail -prefix -vserver | ||||||
|   | |||||||
| @@ -11,7 +11,6 @@ | |||||||
|  |  | ||||||
| depend() | depend() | ||||||
| { | { | ||||||
| 	after clock |  | ||||||
| 	before fsck | 	before fsck | ||||||
| 	keyword -jail -prefix | 	keyword -jail -prefix | ||||||
| } | } | ||||||
|   | |||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user