Commit Graph

888 Commits

Author SHA1 Message Date
Roy Marples
94b3057571 Add the noshutdown keyword to special case the shutdown. 2009-04-27 12:04:33 +00:00
Roy Marples
338c93733d Fix the nstop keyword. 2009-04-27 09:06:30 +00:00
Roy Marples
eaa32c75c9 Add the nostop keyword so that we don't stop the network init script by default. 2009-04-26 21:16:05 +00:00
Roy Marples
77c8f8abbb Use /bin/bash or user shell in /etc/passwd if none set before /bin/sh. 2009-04-26 17:57:06 +00:00
Roy Marples
0feddbd815 Use kill for the pid check as it's fast. 2009-04-25 20:44:13 +00:00
Roy Marples
c07b384d82 Don't drop to sulogin by default, but make this configurable. 2009-04-24 11:49:55 +00:00
Roy Marples
bd211d534b We should match the full variable name. 2009-04-24 11:45:48 +00:00
Roy Marples
b0ac71fe2a Add missing show levels switch. 2009-04-24 10:23:49 +00:00
Roy Marples
9966a902ab rc-status -c now lists services that have crashed.
It returns 0 if there are crashed services, otherwise 1.
This it easy to restart crashed services automatically.
More for #120.
2009-04-24 10:17:53 +00:00
Roy Marples
5276b13926 Cast to int 2009-04-24 08:32:44 +00:00
Roy Marples
e7b35a8f15 Allow rc to start (optionally stop) crashed services, #120 2009-04-24 07:03:08 +00:00
Roy Marples
e643a7fdd5 Describe interval units 2009-04-24 06:37:29 +00:00
Roy Marples
ade85d4bd8 Improve style for KNF 2009-04-23 21:31:22 +00:00
Roy Marples
6953474655 Style 2009-04-23 20:53:24 +00:00
Roy Marples
7086df5664 Don't include hotplugged services in manual. 2009-04-23 20:27:40 +00:00
Roy Marples
7dc9c39503 Improve the service timeout code and reduce the timeout to 60 seconds.
Don't process any dependencies when changing runlevels and called 
outside of RC otherwise we can deadlock.
2009-04-23 20:20:17 +00:00
Roy Marples
f326f688f6 Add the -i, --interpreted option.
This enables the code to include the daemons interpreter when matching
process name which fixes bug #164.
Existing init scripts that rely on the old behaviour will need to be 
fixed.
2009-04-22 10:45:01 +00:00
Roy Marples
ee53e6ad29 -w, --wait seconds
New option so you can set the number of seconds to wait for and
check the daemon is still running.
The old code that periodically polled wasn't that reliable - in this 
case simpler == better.
Fixes #160
2009-04-19 18:20:49 +00:00
Roy Marples
3579663173 Don't leak the lock fd. 2009-04-18 19:54:04 +00:00
Roy Marples
657cb3a6eb Fix compile on FreeBSD. 2009-04-18 00:57:17 +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
ee54bb9372 Using fifos for locking can be error prone.
flocks are safer, as we only use tmpfs for our lock files.

I don't know how this works for inactive just yet though ...
2009-04-17 22:55:11 +00:00
Roy Marples
dea9e11a69 When logging, stdout isn't always a tty, which is the case for VPS
systems, Thanks to mwrobel - fixes #106.
2009-04-02 23:55:19 +00:00
Roy Marples
077b2d3ba8 Report if service is not executable. 2009-02-28 14:12:19 +00:00
Roy Marples
907ca8a89f Set errno when service does not exist better. 2009-02-28 14:12:03 +00:00
Roy Marples
f38ef00939 Fix unit test. 2009-02-23 10:43:24 +00:00
Roy Marples
749938d439 Style. 2009-02-23 09:35:57 +00:00
Roy Marples
6cc68e21cf Fix return value for tests. 2009-02-12 10:43:30 +00:00
Roy Marples
069590d97f Fix unmask option, thanks to douglas@openplans.org, #146 2009-02-10 23:11:17 +00:00
Roy Marples
3fc17f5966 Store the file skewed against. 2009-02-10 15:25:28 +00:00
Roy Marples
415fe87d8c Clean up some compiler warnings. 2009-01-29 13:29:04 +00:00
Roy Marples
417a817d25 noinit makes more sense than noinitd 2009-01-18 20:02:50 +00:00
Roy Marples
30a7a3a9bf Fix locale with svnversion, #140 thanks to Matthias Schwarzott. 2009-01-14 14:32:56 +00:00
Roy Marples
5208a1de29 yes should be YES 2009-01-13 11:04:37 +00:00
Roy Marples
abcc4c5c72 Don't allow SYSVINIT parameters through anymore.
RC_REBOOT is now yes when rebooting.
Document the special reboot runlevel.
2009-01-13 11:02:00 +00:00
Roy Marples
fcf1cce549 rc_newer/older_than only report file if time_t is a pointer, so it
should take precedence in the argument list.
2009-01-13 09:11:31 +00:00
Roy Marples
3d37005a3d We now warn about clock skews
rc-update -u will force a regen of the dep tree
rc_newer_than and rc_olderthan now take another two parameters for newest/oldest file and mtime
2009-01-12 23:53:13 +00:00
Roy Marples
a52472c3c3 Fix ordering, #139 thanks to Matthias. 2009-01-12 10:24:47 +00:00
Roy Marples
f23822e082 Copyright 2009-01-12 10:24:00 +00:00
Roy Marples
8a9a2d5fe9 Use snprintf instead of strlcpy to save on size if not available. 2009-01-12 08:31:03 +00:00
Roy Marples
a33554ab18 Copyright 2009-01-11 17:17:04 +00:00
Roy Marples
baf0ce64f5 Ensure that $HOME and $USER are always set, #139 2009-01-11 17:09:13 +00:00
Roy Marples
26f70a5277 Style 2009-01-10 12:18:00 +00:00
Roy Marples
a063035b37 Make _SVNVER_SH more readable. 2009-01-02 22:51:47 +00:00
Roy Marples
213cef1739 Fix version for releases. 2009-01-02 16:48:42 +00:00
Roy Marples
386ee57432 Fix compile, #136 2009-01-02 15:11:15 +00:00
Roy Marples
f4b8366942 Parse retry schedule correctly, #129. Thanks to vaeth. 2008-12-28 14:05:33 +00:00
Roy Marples
7ad40abf64 Our error messages don't have full stops at the end 2008-12-23 10:42:25 +00:00
Roy Marples
7e12abe035 Typo. 2008-12-23 10:41:33 +00:00
Roy Marples
4dba5b1ff1 Disallow hotplug to run during sysinit, but allow elsewhere. Fixes #131. 2008-12-23 10:40:27 +00:00
Roy Marples
53e2bec385 We should match on the correct args for stopping daemons when pidfiles
are not being used.
2008-12-23 10:15:41 +00:00
Roy Marples
803dbbf0c8 Allow rc_runlevel/softlevel to set runlevel from kernel commandline. 2008-12-21 01:15:02 +00:00
Roy Marples
9e5e60f257 Store interactive mode after sysinit, #128 thanks to Matthias Schwarzott. 2008-12-13 22:20:21 +00:00
Roy Marples
6bf0289f33 Warn about stopping sysinit services, thanks to Matthias Schwarzott. Fixes #126. 2008-12-11 14:50:58 +00:00
Roy Marples
dc712a109e runlevel override works correctly again. 2008-12-04 17:30:26 +00:00
Roy Marples
1acbfcf5ca Report invalid runlevels. 2008-12-04 17:17:09 +00:00
Roy Marples
f8210050e5 If we're building from subversion, brand the binary as such. 2008-12-04 13:12:46 +00:00
Roy Marples
38e6c9ba5c make ignore now configures the sv:ignore property. 2008-12-04 12:38:23 +00:00
Roy Marples
2c98c5326a Punt .gitignore files. 2008-12-04 12:12:09 +00:00
Roy Marples
57f90a42ba Include hotplugged services in our start list. 2008-12-01 08:46:50 +00:00
Roy Marples
bde35d03ed Actally show hotplugged services. 2008-12-01 08:46:25 +00:00
Roy Marples
8b76e1d2e0 Ignore interupts when waiting for processes to finish. Also, style fixes. 2008-11-28 10:48:01 +00:00
Roy Marples
b859710cc8 Style. 2008-11-28 10:47:17 +00:00
Roy Marples
e84f71596e Not needed. 2008-11-27 21:14:52 +00:00
Roy Marples
23e73957a0 Switch from select to poll and improve the no prefixing of eend calls. 2008-11-27 21:14:43 +00:00
Roy Marples
2537a07e10 Switch from select to poll and improve the no prefixing of eend calls. 2008-11-27 21:05:39 +00:00
Roy Marples
5403e70313 Save more screen space by removing the space befor the * for einfo and friends. Also remove the leading space before ... for ebegin. 2008-11-26 10:46:33 +00:00
Roy Marples
fe12134a5b Don't warn about waiting for services marked as notimeout, Gentoo #247306. 2008-11-23 18:40:43 +00:00
Roy Marples
fe509db660 Save a needless malloc when re-creating PATH. 2008-11-12 10:55:42 +00:00
Roy Marples
937b1b2abf Don't set user info unless stated. 2008-11-11 19:47:30 +00:00
Roy Marples
eafbed0366 Fix stopping with a faulty pidfile. 2008-11-10 20:57:03 +00:00
Roy Marples
2cf24fe793 Ignore after dependencies for shutdown when not in the runlevel. 2008-11-04 09:32:21 +00:00
Roy Marples
33d4fba5be We start off in sysinit correctly. 2008-11-04 00:21:30 +00:00
Roy Marples
32e17af92f No need for NULL here. 2008-11-03 23:13:36 +00:00
Roy Marples
77d56f5489 Avoid depends not in the runlevel for sysinit and shutdown. 2008-11-03 23:13:12 +00:00
Roy Marples
8a76c27325 Fix sending signals, #121. 2008-11-03 21:06:45 +00:00
Roy Marples
7467440a29 Fix fstabinfo for mounting /dev/shm, Gentoo #245367. 2008-11-03 18:00:55 +00:00
Roy Marples
1e5a6f40e5 We shouldn't run halt.sh anymore. 2008-11-03 16:11:29 +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
895c4f4149 Plug a leak and expand exec also. 2008-10-30 17:57:58 +00:00
Roy Marples
20380d3144 Allow ~ and ~user to expand for chdir and chroot. 2008-10-30 17:40:48 +00:00
Roy Marples
e1341e372b Fix --name when stopping, Gentoo #243088. 2008-10-30 16:26:05 +00:00
Roy Marples
1c73f2967c We no longer hotplug by default. 2008-10-30 15:03:12 +00:00
Roy Marples
2ff0838abb We should show hotplugged services, needed services and manually started services in rc-status. 2008-10-30 14:59:14 +00:00
Roy Marples
53ddd6ca96 Properly set PAM enviornment variables after opening session.
Without this change, modules like pam_mktemp or pam_env and similar
will be unable to change users' environments, like they are supposed
to.
2008-10-29 21:35:45 +00:00
Roy Marples
aa991a3c99 Style. 2008-10-27 18:38:56 +00:00
Roy Marples
0d98d56188 Remove sysvinit specific code.
The runlevels shutdown, reboot, sysinit and single should be called by
init(8) and shutdown(8) and not manually.
sysvinit users will have to add sulogin to their inittab to secure the
console.
2008-10-27 18:01:03 +00:00
Roy Marples
0a39145a5e Include sysinit services even in single user. 2008-10-16 17:04:44 +00:00
Roy Marples
da94fad3f5 Re-evaluate sys after running initsh. 2008-10-10 14:53:50 +00:00
Roy Marples
50b8aba8d9 Remove coldplug and just have hotplug which is a list of allowed/disallowed services. Makes things much easier. 2008-10-10 09:08:59 +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
c4e673edbc Add a better, but incomplete tgoto implementation to make gcc happy. 2008-10-08 21:07:04 +00:00
Roy Marples
8c8751fa60 Clean up warnings regarding printf. 2008-10-08 15:56:47 +00:00
Roy Marples
d117b2d644 Fix tests, #Gentoo 240350. 2008-10-07 12:14:53 +00:00
Roy Marples
cb44b0a46c #ifdef atexit cleanups calling free as the OS should do this for us, but valgrind debuggers need it. 2008-10-06 15:02:32 +00:00
Roy Marples
09a1a5ecd4 Fix a segfault when profile.env does not exist. 2008-10-03 17:50:10 +00:00
Roy Marples
41c1e170d6 Add an env var so plugins know when leaving single means the end, or start the default level. 2008-10-01 08:46:53 +00:00
Roy Marples
f53197818b Correcly call the right runlevel for plugins when shutting down. 2008-10-01 06:10:34 +00:00
Roy Marples
bb41d2cc80 Use flock to lock PREFIX_LOCK so that multiple processes can cleanly write to the same tty. 2008-09-27 18:50:21 +00:00
Roy Marples
4291b9140e Warn when waiting for a service every few seconds. 2008-09-27 17:17:15 +00:00
Roy Marples
28d7fb9430 When stopping services, check the newlevel if given otherwise the current runlevel. Fixes #100. 2008-09-27 16:56:03 +00:00
Roy Marples
c3e192a834 Stop ssd from waiting by default - most daemons are good now. 2008-09-26 23:58:57 +00:00
Roy Marples
13d88731b7 We don't check exec when starting, so don't when testing for crashed. 2008-09-22 20:07:14 +00:00
Roy Marples
ffc79a50c2 Style 2008-09-22 19:49:16 +00:00
Roy Marples
53693367df Our match arguments could be different from the exec arguments, as only the kernel should set script arguments. 2008-09-22 12:14:47 +00:00
Roy Marples
554d2fea19 Allow interpreted daemons to detect interperter options. 2008-09-22 10:45:01 +00:00
Roy Marples
6b3d8cf598 Fix stopping wpa_supplicant incorrectly, #107 2008-09-19 11:24:21 +00:00
Roy Marples
e368a4b4f8 Add missing profile bits to env, #72. 2008-09-18 19:46:10 +00:00
Roy Marples
354fb96ee9 Use the new rc_stringlist_find function. 2008-09-18 15:36:22 +00:00
Roy Marples
312d6f3e57 Work with NULL lists. 2008-09-18 15:32:57 +00:00
Roy Marples
39ea0cb84d Use the new rc_stringlist_find function. 2008-09-18 15:28:20 +00:00
Roy Marples
17bf78a539 Use the new rc_stringlist_find function. 2008-09-18 15:20:57 +00:00
Roy Marples
072328ff60 rc_nostop now lists services we should not stop on shutdown. 2008-09-18 15:13:53 +00:00
Roy Marples
e0dfa472d1 Add new functions, rc_stringlist_find and rc_stringlist_split. 2008-09-18 15:12:43 +00:00
Roy Marples
80a17eb596 Clean up some compile warnings. 2008-09-18 13:09:51 +00:00
Roy Marples
39304745d4 Allow interpreted daemons to use s-s-d a little easier. 2008-09-17 16:56:23 +00:00
Roy Marples
fabee4dc2d Actually set the umask. 2008-08-20 10:19:03 +00:00
Roy Marples
1ab1e9328a Add -k,--umask option, Gentoo #232455. 2008-08-20 10:02:11 +00:00
Roy Marples
15678263d5 Add new OpenVZ detection code 2008-08-19 06:36:43 +00:00
Roy Marples
cea206014d Attempt to make s-s-d simpler by not enforcing the need for a full path and maybe working better with interpreted scripts. 2008-07-27 11:30:49 +00:00
Roy Marples
a566493eb8 Ignore core files 2008-07-09 14:04:40 +00:00
Roy Marples
53401cd35f STAILQ -> TAILQ 2008-07-08 10:48:21 +00:00
Roy Marples
7a6112d3b0 Punt STAILQ and just use TAILQ so we're a bit more portable. 2008-07-07 14:16:46 +00:00
Roy Marples
157db50df7 Fix is_older_than a little better, and make is_newer_than correct. 2008-07-03 13:30:17 +00:00
Roy Marples
a88a177f99 Add older_than function to complement newer_than function. Also make the userland instance reversed to be compatable with current baselayout, which truely does suck. 2008-07-03 13:11:47 +00:00
Roy Marples
28a65393ca More unit fixes. 2008-07-03 13:09:10 +00:00
Roy Marples
aa57dd1ff6 More unit fixes. 2008-07-03 12:33:42 +00:00
Roy Marples
e0968a1c2e Fix test. 2008-07-03 12:20:32 +00:00
Roy Marples
2f5d2855ba Add an is_older_than unit test, thanks to zzam 2008-07-03 12:07:46 +00:00
Roy Marples
db9bf18587 Fix compile with pcc. 2008-07-02 23:20:04 +00:00
Roy Marples
feac5ea1d5 Ignore ewaitfile. 2008-06-30 13:36:59 +00:00
Roy Marples
64dbae7f61 If filtering fstab, only match additional mounts asked for. 2008-06-30 13:33:42 +00:00
Roy Marples
11acce3c7d Use CPPFLAGS so we work with -combine in CFLAGS. 2008-06-19 23:12:00 +00:00
Roy Marples
4f2bb5ceaf open should use 3 args when using O_CREAT. 2008-06-17 15:14:33 +00:00
Roy Marples
bf8f0da921 fuzzy dependency ordering should be started, starting, stopped whilst checking runlevel, bootlevel, any at each stage. 2008-06-10 15:19:46 +00:00
Roy Marples
9b1cb4e246 When we have dependant scheduled services, don't error if a need is stopped. 2008-06-10 15:04:29 +00:00
Roy Marples
2adc99a8f5 No need to include this. 2008-06-05 12:26:53 +00:00
Roy Marples
fc747f9894 Remove the macro ;) 2008-06-05 12:19:49 +00:00
Roy Marples
76063daee5 Update style to more BSDish and replace the big macro with a function. 2008-06-05 12:17:41 +00:00
Roy Marples
dc891b0647 Remove broken before dependencies, Gentoo #224171. 2008-06-05 10:14:11 +00:00
Roy Marples
3525e602d6 Use addu instead of another loop. 2008-06-04 19:07:09 +00:00
Roy Marples
79ebd89d19 Only add a backreference if it doesn't already exist. 2008-06-04 19:00:46 +00:00
Roy Marples
ba8008fb05 Include time headers for ewaitfile. 2008-06-04 14:09:25 +00:00
Roy Marples
e6aed12328 No need to check type twice like this. 2008-06-04 12:47:06 +00:00
Roy Marples
83ade5b701 Style. 2008-06-04 12:44:45 +00:00
Roy Marples
587051ec67 Add the ewaitfile function so init scripts can wait until sockts are created, Gentoo #175783. 2008-06-03 11:57:15 +00:00
Roy Marples
aaaa0b50d8 Be quiet when checking at start. 2008-05-27 16:48:47 +00:00
Roy Marples
ca6f289c80 When stopping with a pidfile, only read the pid once incase it vanishes but the process still hangs around. 2008-05-27 16:42:28 +00:00
Roy Marples
1df3ab05b5 realloc -> xrealloc 2008-05-19 13:41:16 +00:00
Roy Marples
775df18a70 Fix a potential segfault, thanks to Fernando J. Pereda. 2008-05-19 13:16:53 +00:00