Commit Graph

327 Commits

Author SHA1 Message Date
Mike Frysinger
3d56124ed1 only warn about /run if it exists
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-05-16 18:49:21 -04:00
William Hubbs
40341fcd7e do not run services if openrc did not boot the system
X-Gentoo-Bug: 364159
X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=364159
2011-05-11 14:54:41 -05:00
William Hubbs
b712a9161f change udhcpc support to busybox udhcpc
This updates the udhcpc support to use busybox's udhcpc instead of the
stand alone version.

I would like to thank jackieku <kjackie@gmail.com> for assisting with
this update.

X-Gentoo-Bug: 205286
X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=205286
2011-04-26 15:25:08 -05:00
William Hubbs
b6409feaac fix permissions for /run/lock
If /run/lock is a directory, set the ownership and permissions for it,
whether or not we created the directory.
2011-04-19 10:56:14 -05:00
Amadeusz Żołnowski
64ef51ab09 Add support for /run directory
This is a new directory for storing volatile runtime data.
See https://lwn.net/Articles/436012

X-Gentoo-Bug: 363971
X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=363971
2011-04-18 15:26:13 -05:00
William Hubbs
1d63e85794 rework test for mounted /proc
The previous test assumed that we could always rely on the minor fault
counter to change between reads of /proc/self/stat, but we found that
this is not the case.

The new test compares two reads of /proc/self/environ for which we have
set the same environment variable to two different values.
If the comparison shows the two reads have the same contents, we know
that /proc is not working.

I would like to thank Robin Johnson and Mike Frysinger for their input
for this patch.

X-Gentoo-Bug: 348416
X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=348416
2011-03-24 19:14:16 -05:00
Robin H. Johnson
80853f5dbc sh/init: Detect a mounted /proc without sleeping
Previously we checked if /proc was alive by reading /proc/uptime twice
with a 1 second sleep between calls, so that it had time to update.
This got a complaint of an entire 1 second delay, so we improve the
check to be much faster without sleep. We cannot continue to use
/proc/uptime as it only has a 10ms resolution.

X-Gentoo-Bug: 348416
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=348416
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2011-01-18 01:29:09 +00:00
Mike Frysinger
faa2df1159 more whitespace cleanup
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-01-17 04:49:12 -05:00
Eray Aslan
66abbefd6c bug 351160: make openrc exit codes LSB compliant
* status on a stopped service now has a return code of 3 (was 1)
* starting an already started service now has a return code of 0 (was 1)
* stopping an already stopped service now has a return code of 0 (was 1)
2011-01-12 19:46:11 -06:00
William Hubbs
84eda608c8 bug 328675: add error checking to runscript.sh
runscript.sh needs to abort if the . command used to load
conf.d files and the service script does not execute successfully.
I would like to thank Mike Frysinger for his input wrt style on this
patch.
2011-01-12 19:21:48 -06:00
Robin Johnson
80d5f7d27b fix selinux context for rc-svcdir (bug #347503) 2010-12-03 23:49:34 -06:00
Jory A. Pratt
060b19e3e3 correction for unmounting volumes with weird characters, thanks Brant
Gurganus <brant@gurganus.name>
2010-10-28 20:35:09 -05:00
William Hubbs
d8a76d1bf6 allow net_fs_list to be extended but not replaced
This fixes bug #342825.
2010-10-27 09:00:02 -05:00
Jory A. Pratt
be6c0716ee surpress output of loadkeys, fix setfont path check 2010-09-30 07:33:52 -05:00
Roy Marples
4b333eaf36 Send SIGKILL after 2 failed SIGTERM when unmounting. 2010-03-16 21:34:48 +00:00
Juan RP
59b08643f1 Mount xenfs early so OpenRC can detect it. 2010-02-26 09:34:43 +00:00
Roy Marples
5c52e5beb5 Fix rc_${rc_svcname}_need.
Display config depends in service depend function also.
2010-02-20 21:48:06 +00:00
Roy Marples
ec38bbbdda If mounting tmpfs fails, try ramfs.
This is because buggy kernels always report tmpfs even when not present.
2009-11-20 00:04:32 +00:00
Roy Marples
3dc712e222 Allow init scripts to show their dependencies easier 2009-09-04 16:00:08 +01:00
Roy Marples
5acf0e9464 We need to use eval so we can pass "*" as an argument. 2009-05-26 22:36:53 +01:00
Roy Marples
c0fd1b49e4 Move non compiled libraries from /lib/rc to /libexec/rc
OpenRC version is now stored as plaintext in /libexec/rc/version

Plugins (cursplash, splashutils) will have to be re-compiled to pickup
the new directories. State data needs to be moved from /lib/rc/init.d
to /libexec/rc/init.d as well.
2009-05-23 20:38:12 +01:00
Roy Marples
7c81f74b60 Fix compile on NetBSD 2009-05-05 16:39:59 +01:00
Roy Marples
d441bf1585 Ignore more foo for the BSDs 2009-05-05 10:29:52 +01:00
Roy Marples
658a220638 Add (c) to Copyright 2009-05-01 15:11:40 +01:00
Roy Marples
b70501ef45 Go back to git 2009-04-30 15:05:39 +01:00
Roy Marples
824bb3aee3 Allow templates to define a stop signal 2009-04-27 13:32:13 +00:00
Roy Marples
2b866f264f Stop using needless {} in vars 2009-04-26 21:13:26 +00:00
Roy Marples
1d48183646 Try and set a keymap as early as possible, #169 2009-04-26 11:19:22 +00:00
Roy Marples
e2942e34af Use a bashism for a minor speedup in gendepends.sh 2009-04-19 16:47:09 +00:00
Roy Marples
802fe9709e Allow user to provide custom status function and still hook into the system one 2009-04-18 10:39:53 +00:00
Roy Marples
c9e24a0494 Move status to runscript.sh so init scripts can override it, #159
Return 32 if crashed, #163
2009-04-18 00:09:03 +00:00
Roy Marples
ace0b9653b Avoid needless forking, #165
Thanks to Natanael Copa.
2009-04-16 23:23:21 +00:00
Roy Marples
6bb44be2a3 We should always mount $RC_SVCDIR unless in a vserver or it's already mounted. 2009-01-29 13:38:15 +00:00
Roy Marples
2c98c5326a Punt .gitignore files. 2008-12-04 12:12:09 +00:00
Roy Marples
c064393f08 Save screen space. 2008-11-28 10:46:58 +00:00
Roy Marples
1deaa0fae0 Fix lib. 2008-11-13 09:35:00 +00:00
Roy Marples
0cca768b82 Mark the addon code as deprecated. 2008-11-12 19:19:56 +00:00
Roy Marples
42e6a95b1d Move romount to mount-ro and use the umount -r option as it's more reliable for / --bind mounts, Gentoo #239922. Thanks to Duncan. 2008-11-04 11:30:15 +00:00
Roy Marples
0af7d5bc20 Add a new shutdown runlevel, Gentoo #224537.
Split halt.sh into halt, killprocs, romount and savecache services.
The reboot runlevel is removed but mapped to shutdown.
The halt script should be moved to the sysvinit package.
2008-11-03 15:31:01 +00:00
Roy Marples
d6da8e8c48 sysinit is now a real runlevel that handles things like udev, dmesg and
mounting various bits in /dev and /sys.
init.sh JUST mounts /lib/rc/init.d (and /proc for Linux systems)
To make development of this easier we now return an empty RC_STRINGLIST
instead of a NULL for empty things.

If you don't have a udev init script installed, don't reboot your box OR
roll back to an older OpenRC version.
2008-10-10 08:37:21 +00:00
Roy Marples
247766695c Fix umounting reporting exit status, Gentoo #239922. 2008-10-09 16:36:42 +00:00
Roy Marples
6748c0e04e Allow forcefsck instead of gentoo=forcefsck on the kernel command line. 2008-09-22 12:32:35 +00:00
Roy Marples
a3c8706618 Allow OpenVZ to mount /sys and device managers, #102 2008-08-19 15:27:15 +00:00
Roy Marples
11e4059b05 Set the default RC_SVCDIR higher up. 2008-06-21 15:31:04 +00:00
Roy Marples
5510451bac We need to replace @LIB@ here. 2008-06-21 14:10:59 +00:00
Roy Marples
d384502e57 There could be a space between #! and /sbin/runscript, Gentoo #218001. 2008-05-01 15:18:34 +00:00
Roy Marples
5ba6f0a628 We need to ensure that the init script started is correct, translating symlinks. This has a new rule - multiplexed services must exist in the same dir as the master sript. So we need to ensuret that net.lo(0) is the real script and not a symlink itself. This fixes Gentoo #219526. 2008-04-29 10:25:45 +00:00
Roy Marples
b08b6cd91b Always define template start/stop functions so that the real script name isn't hidden when errors are in the real start/stop functions, Gentoo #219179 2008-04-26 19:32:28 +00:00
Roy Marples
dbea63b76d Fix logic for templates. 2008-04-21 21:34:52 +00:00
Roy Marples
6a5287dbb5 Typo 2008-04-21 19:26:56 +00:00
Roy Marples
df8eeba2fb Punt is_function in favour of POSIX shell builtin command, thanks to Harald van Dijk for the idea. 2008-04-21 17:32:17 +00:00
Roy Marples
e96347523f We should check type output to ensure that we're really calling a shell function and not some badly named binary like stop from boinc, Gentoo #218063. 2008-04-18 23:00:43 +00:00
Roy Marples
809ac86c69 We should only check dependencies in files. 2008-04-16 15:01:52 +00:00
Roy Marples
034b9b7a12 Add a silly rc_runlevel function to appease SpanKY :) 2008-04-08 16:01:40 +00:00
Roy Marples
594d98eddc Tests now work on NetBSD. 2008-04-07 09:37:14 +00:00
Roy Marples
dcdfdb442f Some systems are only detectable after /proc is mounted, so re-test if unknown. 2008-04-06 20:06:07 +00:00
Roy Marples
742310744d We would sanitize $RC_LIBDIR/sbin as well. If it's really needed then rc-functions.sh will add it back. 2008-03-27 18:34:12 +00:00
Roy Marples
4e9b58b07d Sanitize the write rc dir. 2008-03-27 17:09:18 +00:00
Roy Marples
c564043f86 No need for the extra rc. 2008-03-27 16:59:33 +00:00
Roy Marples
b3d1182a2f Fix mulitlib issues. 2008-03-27 16:53:22 +00:00
Roy Marples
864e17fabc Ignore more files. 2008-03-26 17:34:23 +00:00
Roy Marples
ac834ddc56 Fix linux compile. 2008-03-26 14:39:13 +00:00
Roy Marples
833903fc78 use $CP and $SED instead of cp and sed 2008-03-26 14:27:46 +00:00
Roy Marples
55858eca2e .sh.BSD.in is a better extension. 2008-03-26 14:02:59 +00:00
Roy Marples
6af2b20297 Split sysctl into Linux and BSD specific files. 2008-03-26 09:36:34 +00:00
Roy Marples
5866d829bb Try and fix more prefix stuff. 2008-03-25 18:33:45 +00:00
Roy Marples
c807b3a815 INITDIR should already be prefixed. 2008-03-25 17:19:41 +00:00
Roy Marples
4d6b84290a These now need to be prefixed. 2008-03-25 17:17:15 +00:00
Roy Marples
08791ec4a2 INITDIR should already be prefixed. 2008-03-25 17:11:44 +00:00
Roy Marples
55eb3794fb Rework our folder structure so that we don't have OS specific dirs, making it easier to share init and conf files per OS. 2008-03-25 14:06:05 +00:00
Mike Frysinger
486d517674 setup a bit of a test framework 2008-03-24 07:17:05 +00:00
Mike Frysinger
02e7e1b988 dont leak the _e var 2008-03-24 05:54:18 +00:00
Roy Marples
4079b4d65d Clean up error display. 2008-03-21 11:20:03 +00:00
Roy Marples
eca292e5d9 Some OS's block on umount -f, so don't use it. 2008-03-21 11:02:02 +00:00
Roy Marples
e47661449a More pathing fixes. 2008-03-21 00:30:22 +00:00
Roy Marples
04b0acb010 Fix pathing again. 2008-03-20 19:57:31 +00:00
Roy Marples
6159a32f39 SVCNAME -> RC_SVCNAME, but export SVCNAME still for compat. 2008-03-19 19:57:24 +00:00
Roy Marples
6d2e1f7add Fix building on Linux. 2008-03-19 19:43:08 +00:00
Roy Marples
d9ec62b22a Add rc-service and update all softlevel refs to runlevel. 2008-03-19 17:11:50 +00:00
Roy Marples
0e6eb0f764 Ensure that our path includes packages and local 2008-03-19 15:21:42 +00:00
Roy Marples
40e12f6ba0 RC_SERVICE now points to the service file, so daemons can recall us directly. 2008-03-11 15:00:16 +00:00
Roy Marples
f20099bc33 Fix the old RC_USE names. 2008-03-10 11:33:39 +00:00
Roy Marples
c4a54605e0 Support baselayout-2 uppercase RC_NEED vars, #38. 2008-03-08 15:22:29 +00:00
Roy Marples
a689b66023 Add tunable SYSCONFDIR 2008-03-05 12:27:11 +00:00
Roy Marples
ff162b39ac Don't rely on fuser being present 2008-03-04 22:03:41 +00:00
Roy Marples
15cf41e713 Split VPS into VSERVER and OPENVZ 2008-03-03 17:19:56 +00:00
Roy Marples
7a8e9d4ddb Add a gitignore make target. 2008-03-03 13:04:08 +00:00
Roy Marples
61c476e72d Use exlicit make targets, not directory contents. 2008-03-03 12:34:51 +00:00
Roy Marples
0aedc02860 Introduce LOCAL_PREFIX for a user maintained script location. 2008-03-03 10:33:42 +00:00
Roy Marples
dca4034bd5 Fix prefixed net.sh 2008-03-03 08:47:37 +00:00
Roy Marples
67c5fd6bb8 Ensure that our scripts call prefixed runscript. 2008-03-02 21:14:01 +00:00
Roy Marples
a135d0d93b Fix installing into PREFIX. 2008-03-01 22:12:33 +00:00
Roy Marples
0a0961f3f4 ignore more stuff 2008-02-28 21:49:52 +00:00
Roy Marples
988289d98d Typo 2008-02-28 21:04:28 +00:00
Roy Marples
f092045650 Support the use of PREFIX and PKG_PREFIX. 2008-02-28 11:08:49 +00:00
Roy Marples
c2648ca5f5 Makefile SH variable now tweaks the default shell used by our scripts. 2008-02-27 20:29:32 +00:00
Roy Marples
e1e36b2872 keywords -> keyword 2008-02-19 14:36:22 +00:00
Roy Marples
0364bb2c84 Add the nojail keyword which excludes services marked as such from the dependency tree when in a jail, #bug 22 2008-02-19 14:15:53 +00:00
Roy Marples
5e470afb52 Ignore resolvconf error messages if the interface does not exist. 2008-02-11 20:04:15 +00:00
Roy Marples
9300fa240d Tidy up some code and remove the redundant single_user function as we now use exit codes. 2008-01-31 09:48:58 +00:00
Roy Marples
0c75e888fc Allow rc_need to work with net scripts, and allow for loopback also. 2008-01-30 13:20:47 +00:00
Roy Marples
c1d18354c6 Fix unmounting shared and bind mounts, Gentoo bug #207611. 2008-01-30 11:58:21 +00:00
Roy Marples
4f6e778758 Only allow .sh files to be used as net modules. 2008-01-29 15:41:10 +00:00
Roy Marples
3e5743426b Fix restart --nodeps again. 2008-01-26 16:46:53 +00:00
Roy Marples
8793fb8d4c No need to specify SVCNAME anymore. 2008-01-23 12:17:50 +00:00
Roy Marples
a16428da20 We need to shift here. 2008-01-22 20:48:24 +00:00
Roy Marples
5338b568ca Allow stop start to work when stop is not defined. 2008-01-22 19:39:03 +00:00
Roy Marples
18da799040 Allow things after the /32 for host routes. 2008-01-15 12:13:42 +00:00
Roy Marples
6e1251b925 Ignore functions.sh and rc-functions.sh as these are now created by make. 2008-01-14 14:03:46 +00:00
Roy Marples
b054a7251b INSTALLAFTER needs to be defined before we include our mk's to work. 2008-01-13 17:49:29 +00:00
Roy Marples
f755187020 Change lib name during make, not install. 2008-01-13 13:55:23 +00:00
Roy Marples
8ef2bf78f7 Don't print an extra eend on failure. 2008-01-11 17:41:19 +00:00
Roy Marples
fec312d448 Update copyrights, my email and license. 2008-01-11 15:31:10 +00:00
Roy Marples
3bf49a9bd1 Adopt a more C style for scripts and remove vim settings. 2008-01-11 12:13:46 +00:00
Roy Marples
1f4422c72f Remove full license text from shell cripts. 2008-01-11 11:45:59 +00:00
Roy Marples
50d73fa223 Add /usr/pkg to the PATH for NetBSD packages. 2008-01-10 23:51:58 +00:00
Roy Marples
acbaacb2c1 dhcpcd could be anywhere, so allow this. 2008-01-10 23:23:39 +00:00
Roy Marples
6244bcbe84 massage netmask to cidr for buggy shells. 2008-01-10 18:11:02 +00:00
Roy Marples
6ca21b4c6a More make fixes 2008-01-10 16:57:05 +00:00
Roy Marples
4314784520 Allow for OS and SUBOS folders so we can introduce NetBSD scripts whilst keeping BSD for all BSD's. 2008-01-10 16:35:59 +00:00
Roy Marples
da4217fec8 Add net config's to have their own depend function per interface. 2008-01-06 13:06:56 +00:00
Roy Marples
ddb3ab4704 Use LIBNAME for multilib so as not to conflict with LIB 2008-01-05 21:05:19 +00:00
Roy Marples
cc96c0933d Juggle the Makefiles so that sh knows about NET_LO 2008-01-03 15:48:33 +00:00
Roy Marples
19765f289c Move the linking of files in /etc/init.d into the sh/Makefile so that install -jN works. 2008-01-03 14:49:34 +00:00
Roy Marples
28d7a19201 Allow rc_$service_$deptype in rc.conf 2008-01-02 15:42:52 +00:00
Roy Marples
fadee8e656 Move _shell_var shell function to shell_var C applet 2008-01-02 15:38:37 +00:00
Roy Marples
a273f8df55 Fix the adding of default routes 2007-12-31 09:28:53 +00:00
Roy Marples
b6aa56ce14 Fix metric_$IFVAR 2007-12-31 09:28:34 +00:00
Roy Marples
b6fcfd1157 We should export SVCNAME so service_* functions work in depend 2007-12-30 16:59:56 +00:00
Roy Marples
cbea91cae5 Remove rc-help.sh and replace with a man page for runscript 8. 2007-12-20 17:39:13 +00:00
Roy Marples
e4b73c506b Describe extra_started_commands also. 2007-12-17 14:29:19 +00:00
Roy Marples
a010d0bb69 Remove the try and check_statedir functions 2007-12-14 14:19:03 +00:00
Roy Marples
9f2403dffa Remove Gentoo copyright from all files that I know I have written 2007-12-14 14:12:38 +00:00
Roy Marples
a3db3bac62 Allow services to be in /usr/local/etc/init.d, but disallow them being added to the boot runlevel. 2007-12-14 12:24:16 +00:00
Roy Marples
f8db842dd2 Default to correct init dir and preserve depconfig 2007-12-14 12:17:57 +00:00
Roy Marples
5541d3e385 We should only do colours if fd1 is a terminal by default 2007-12-14 12:16:05 +00:00
Roy Marples
a178d53202 Move RC_ to EINFO_ for all env vars related to einfo. 2007-12-06 10:48:00 +00:00
Roy Marples
0490a9290a Remove rc_service_wait as runscript.c should do the waiting. rc_deptree_depend now returns the exact depends as listed. This is so we can support a new 'keywords' directive. We can add whatever here, like 'notimeout' which means that an init script doesn't timeout. This removes the hardcoded check on checkfs and checkroot. 2007-12-05 17:48:07 +00:00
Roy Marples
07e3d69c52 Our default start command should correctly recover on failed re-entrant services 2007-12-04 16:15:32 +00:00
Roy Marples
ba3248e6d2 Preserve IFS correctly 2007-12-04 14:18:41 +00:00
Roy Marples
bf8d8a9be7 rc-help.sh should use standard ecolours vs its internal ideas 2007-12-03 16:16:48 +00:00
Roy Marples
7683c5056a fix last stupid error 2007-11-30 09:59:10 +00:00
Roy Marples
a6d8b76876 Ensure that lo0 gets 127.0.0.1/8 with a space separated config 2007-11-30 09:38:01 +00:00
Roy Marples
16ad975b2d Allow services to define which extra commands require the service to be started 2007-11-29 16:23:59 +00:00
Roy Marples
82df7e4584 Use shorthand for loops 2007-11-29 11:23:06 +00:00
Roy Marples
50161bef0e Allow space separated configs to work for CIDR address styles 2007-11-29 11:17:50 +00:00
Roy Marples
f0aa06b586 Fix whitespace in configs 2007-11-29 09:45:57 +00:00
Roy Marples
ac9279cc0d Massive whitespace cleanup 2007-11-28 15:45:03 +00:00
Roy Marples
444f23e2d1 resolvconf may not be in /sbin 2007-11-28 14:32:24 +00:00
Roy Marples
d651155b61 Sanitize our PATH a bit better, and terminate it correctly in start-stop-daemon. 2007-11-28 13:40:15 +00:00