Commit Graph

314 Commits

Author SHA1 Message Date
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
8c8751fa60 Clean up warnings regarding printf. 2008-10-08 15:56:47 +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
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
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
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
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
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
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
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
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
ba8008fb05 Include time headers for ewaitfile. 2008-06-04 14:09:25 +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
b7e598ad91 Install symlinks correctly, thanks to zlin. 2008-05-13 00:03:10 +00:00
Roy Marples
5c114d9430 When testing services to stop, we should trace it. More for #79. 2008-05-12 23:45:17 +00:00
Roy Marples
f13ea77491 The real fix for the last commit is to uncomment some code - d'oh. 2008-05-12 23:33:40 +00:00
Roy Marples
a89171ee9b When stopping, stop services that need our provide as well, #79. 2008-05-12 23:17:45 +00:00
Roy Marples
d667da8e5c Check we have a deptree before using it, Gentoo #220579 2008-05-12 13:20:35 +00:00
Roy Marples
9894669742 Fix help text, #75. 2008-05-12 08:34:42 +00:00
Roy Marples
b732df31ef Don't report fstab passno of 0 when using greater or less than, #76. 2008-05-12 08:32:19 +00:00
Roy Marples
3663cf1e2a Only launch single user when RUNLEVEL == S, #74. 2008-05-10 10:04:34 +00:00
Roy Marples
a854fe6d61 Simplify the wait code. 2008-05-07 09:47:07 +00:00
Roy Marples
619b0b4f37 Fix the EINTR check for waitpid, Gentoo #219929. 2008-05-06 21:53:21 +00:00
Roy Marples
5ae702339e We don't need to handle SIGWINCH in sysinit, so this should fix loading a framebuffer module in init.sh (Gentoo #219929. Ideally someone should tell me why this is happening and if there is a better fix. 2008-05-06 16:21:16 +00:00
Roy Marples
e273b4e08e Fix another leak. 2008-04-29 11:08:02 +00:00
Roy Marples
50cff8ebc8 Tweak the last commit and fix a valgrind error. 2008-04-29 10:49:50 +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
53902cefb8 Add rc_program function which uses fork and signal masking to try and resolve the waitpid issue, Gentoo #219179. 2008-04-28 16:04:16 +00:00
Roy Marples
e499e58310 Don't re-start or re-stop failed services if runlevel is changing. 2008-04-27 21:04:37 +00:00
Roy Marples
b5d829789f Check we have a list before running depends. 2008-04-26 14:57:39 +00:00
Roy Marples
54d7aa39dd If we don't have permission to inspect the pidfile, don't report crashed. Gentoo #218028. 2008-04-21 10:56:28 +00:00
Roy Marples
dc5d63aa97 Add RC_TMPDIR so that there's a writeable location during boot. 2008-04-21 10:29:29 +00:00
Roy Marples
d83ae59cca Add help for mountargs, #63 2008-04-19 17:19:59 +00:00
Roy Marples
f0aacec02e Cast to unsigned char for ctype calls. 2008-04-17 10:19:58 +00:00
Roy Marples
57e1dd7389 Fix rc-status some more. 2008-04-17 00:25:08 +00:00
Roy Marples
425abe40c5 Only report unassigned services when there are any, Gentoo #218005. 2008-04-16 19:47:19 +00:00
Roy Marples
29369c44c1 Add help text for rc-service --resole. 2008-04-15 16:16:59 +00:00
Roy Marples
0e38dcc4d2 By default, rc-status now shows the statuses of the services in the current runlevel and any unassigned non stopped services, #52. 2008-04-09 22:56:32 +00:00
Roy Marples
8759735711 Give an error when running zap as a generic user. 2008-04-08 22:57:42 +00:00
Roy Marples
e82435c2f4 rc_runlevel is now the preferred kernel commandline option for choosing default runlevel. 2008-04-08 15:59:56 +00:00
Roy Marples
71dd280656 Fix rc-service --help output. 2008-04-07 11:48:32 +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
143239e143 Increase pidstr size to 10 chars. 2008-04-06 13:24:10 +00:00
Roy Marples
5d38d4d6e9 p could be null here. 2008-04-06 13:21:42 +00:00
Roy Marples
c18c4fc4cc Check list existance before iterating, Gentoo #216091. 2008-04-04 16:31:56 +00:00
Roy Marples
ee4e861796 Put some dir locations in rc.h so that 3rd party apps can become awware of them. 2008-03-28 10:46:12 +00:00
Roy Marples
11e33e81c8 Remove rc_service_start/stop from librc as they block and unmask signals. The application may not wish this behaviour and should fork/exec the service itself. 2008-03-28 08:42:05 +00:00
Roy Marples
15d34d0a16 Add license blurb to a few files and append my email to my name. 2008-03-26 17:53:37 +00:00
Roy Marples
cee3ccc4c1 Fix a segfault if rc.conf does not exist, Gentoo #214887 2008-03-26 15:10:26 +00:00
Roy Marples
be1f9b0a93 Add --exists and --resolve to rc-service. 2008-03-26 08:08:47 +00:00
Roy Marples
3f37d4771b If we have coldplugged services, but no start_services, we need to create a new list for start_services. 2008-03-26 05:08:38 +00:00
Roy Marples
068c90c82b Fix exclusive removal. 2008-03-25 18:20:23 +00:00
Roy Marples
0347f01345 Fix segfault when no coldplugged services, thanks to Daijo. 2008-03-24 13:30:24 +00:00
Roy Marples
5a80daaf43 Fix coldplug disabling. 2008-03-24 13:09:42 +00:00
Roy Marples
821166fbfd Fix debug support to work without gmake and bundle -ggdb in properly. 2008-03-24 11:43:03 +00:00
Mike Frysinger
9ed5d28d15 add check/test rules 2008-03-24 06:10:40 +00:00
Roy Marples
06635dedbc We don't change service here. 2008-03-23 22:57:56 +00:00
Roy Marples
ce644e1735 Report mounts in reverse order, Gentoo #214150. 2008-03-23 19:51:41 +00:00
Mike Frysinger
bd34df6361 add support for automatic gdb launching when RC_DEBUG is defined to 1 to ease bug reporting / information gathering 2008-03-22 23:02:30 +00:00
Mike Frysinger
5dcdfcdf7a add local rpaths if in the git tree 2008-03-22 23:00:32 +00:00
Roy Marples
a4f9eb699b Fix some crashers in a prefix with few services. 2008-03-21 20:02:10 +00:00
Roy Marples
f7f3b6ae09 euid 0 should always be able to find pids too. 2008-03-21 17:41:01 +00:00
Roy Marples
85a6addd23 Only test crashed services if we can see pid 1. 2008-03-21 13:04:29 +00:00
Roy Marples
fe90a548b5 ksoftlevel -> krunlevel 2008-03-21 10:34:09 +00:00
Roy Marples
494fb0a5f6 Add --list to rc-service to list all available services. 2008-03-21 09:10:59 +00:00
Roy Marples
ec2d39d024 Just warn about the incorrect service. Let the right service be more explanitory about missing options. 2008-03-19 22:26:45 +00:00
Roy Marples
3b888b385a gitignore 2008-03-19 22:17:10 +00:00
Roy Marples
d948e65d60 Give a better error message when no service specified. 2008-03-19 20:04:48 +00:00
Roy Marples
97abd91577 Report wrong service correctly. 2008-03-19 20:01:48 +00:00
Roy Marples
5f091395c7 Typo. 2008-03-19 19:59:50 +00:00
Roy Marples
6159a32f39 SVCNAME -> RC_SVCNAME, but export SVCNAME still for compat. 2008-03-19 19:57:24 +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
64853c4916 Rejig the build system a little so we have per ok defs per system. Probably easier in the long run. 2008-03-19 15:22:20 +00:00
Roy Marples
1443fee901 Fix errors when reporting who we are scheduled by. 2008-03-19 12:26:47 +00:00
Roy Marples
773d50dabb Get going_down and parallel the right away round. 2008-03-18 23:06:02 +00:00
Roy Marples
51c825ceee Make rc_getline private and save it's buffer so it's sort of like getline from glibc. 2008-03-17 21:27:37 +00:00
Roy Marples
b9eb450696 Fix some tests on FreeBSD. 2008-03-17 17:57:07 +00:00
Roy Marples
b2f7606b23 We should check for NULL here. 2008-03-17 14:31:44 +00:00
Roy Marples
4c14666423 Punt the rc_strcatpaths function and use snprintf instead to save on expensive malloc calls. 2008-03-17 13:25:56 +00:00
Roy Marples
50a7697bf2 rc_find_pids now returns RC_PIDLIST instead of a NULL terminated array. 2008-03-17 09:59:52 +00:00
Roy Marples
40930d7d0a Use correct TAILQ_CONCAT macro when not defined. 2008-03-16 17:27:13 +00:00
Roy Marples
cb9da6a262 Remove null terminated char ** lists in favour of RC_STRINGLIST, using TAILQ from queue(3). Refactor code style around the BSD KNF. 2008-03-16 17:00:56 +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
6f68c44a77 mount may not be in /sbin 2008-03-11 13:51:06 +00:00
Roy Marples
b7c0d8b43c Remove debug LDFLAGS 2008-03-11 13:45:58 +00:00
Roy Marples
52a3cc162b Add a --mount command to fstabinfo so it can mount specific mount points, as mount can get confused with binded mounts, bug #36. 2008-03-11 13:39:20 +00:00
Roy Marples
0fa512c2b5 Coldplug net devices on the BSD's as found by getifaddrs. 2008-03-11 11:03:34 +00:00
Roy Marples
2f22f9dfeb Test access instead of euid. 2008-03-06 11:39:05 +00:00
Roy Marples
39dd08c539 Test access instead of euid. 2008-03-06 11:34:38 +00:00
Roy Marples
19bad914bc Show version similar to gcc. 2008-03-05 17:31:19 +00:00
Roy Marples
a689b66023 Add tunable SYSCONFDIR 2008-03-05 12:27:11 +00:00
Roy Marples
7aa231de2e Style. 2008-03-05 10:03:36 +00:00
Roy Marples
c5d174af17 When stopping localmount, set LC_ALL=C so bash doesn't lock /usr. 2008-03-04 22:52:48 +00:00
Roy Marples
4ae5aebe81 Inform plugins when we exit if on signal. 2008-03-04 20:41:25 +00:00
Roy Marples
e55cb5dd5b Fix compile on Linux. 2008-03-03 17:22:01 +00:00
Roy Marples
15cf41e713 Split VPS into VSERVER and OPENVZ 2008-03-03 17:19:56 +00:00
Roy Marples
f3e90dddbf rc single and rc sysinit don't check sysvinit env vars in prefix. 2008-03-03 15:57:36 +00:00
Roy Marples
b614477948 Fix ignore files some more. 2008-03-03 13:31:25 +00:00
Roy Marples
7a8e9d4ddb Add a gitignore make target. 2008-03-03 13:04:08 +00:00
Roy Marples
a12dbdc6c9 Don't check for root in prefix. 2008-03-02 21:13:21 +00:00
Roy Marples
2f3ffd053f We should use shutdown to goto single user mode. 2008-03-01 10:38:47 +00:00
Roy Marples
fcf2778317 Don't leak fd's. 2008-02-28 21:47:45 +00:00
Roy Marples
391d8de622 close fd doesn't seem good enough - whereas fcntl does the job. 2008-02-28 21:26:53 +00:00
Roy Marples
f092045650 Support the use of PREFIX and PKG_PREFIX. 2008-02-28 11:08:49 +00:00
Roy Marples
aabf3976db Fix help for rc-update. 2008-02-27 21:19:14 +00:00
Roy Marples
bf2cebf2d8 With --quiet, we should quiet the daemon we're starting too. 2008-02-25 10:51:05 +00:00
Roy Marples
d1f7f0a304 Force the specification of a pidfile or process name if daemon is a script. Alternatively, document the use of starting the script interpreter and passing the daemon as an option. 2008-02-24 23:09:15 +00:00
Roy Marples
8b4b958678 Now that s-s-d accepts >1 argument for stopping a daemon on match we need to store all arguments used incase a service started the same daemon more than once with different paramters. 2008-02-23 00:26:11 +00:00
Roy Marples
ad780077d2 Welcome to 2008. 2008-02-22 12:07:34 +00:00
Roy Marples
a9fcbf3e30 More PCC fixes. 2008-02-22 11:44:10 +00:00
Roy Marples
405cea1f19 Support the PCC compiler. 2008-02-20 18:06:01 +00:00
Roy Marples
d3d22914fc Fix -o 2008-02-20 15:48:09 +00:00
Roy Marples
5e523ff33e Move logfile without a visible error, bug #28 2008-02-20 14:30:23 +00:00
Roy Marples
95a7985ea3 Simply our code - only set env vars when needed. 2008-02-20 14:04:30 +00:00
Roy Marples
2456a265ee Allow rc-depend to order as if runlevel was starting or stopping. 2008-02-20 10:52:57 +00:00
Roy Marples
f35f788187 Fix verbose without --exec. 2008-02-19 21:45:27 +00:00
Roy Marples
9e39a934b8 Fix an off-by-one error. 2008-02-19 21:45:01 +00:00
Roy Marples
79d40707db Fix compile on Linux. 2008-02-19 15:51:59 +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