Commit Graph

958 Commits

Author SHA1 Message Date
Roy Marples
47887ac7c3 usage now requires a global applet var instead of a define, don't prefix describe output and use generic usage for runscript. 2007-12-18 18:01:05 +00:00
Roy Marples
c556731ad3 Allow service_* functions to work off SVCNAME if no arguments passed 2007-12-18 16:51:59 +00:00
Roy Marples
05a9d0e25e Allow service_* functions to work off SVCNAME if no arguments passed 2007-12-18 16:48:56 +00:00
Roy Marples
d2e3fcae3c Our tools should not inherit EINFO_QUIET from the curret environmet, Gentoo bug #201352 2007-12-14 23:01:28 +00:00
Roy Marples
10edca8e0e Only assume the current runlevel if none specified 2007-12-14 23:00:29 +00:00
Roy Marples
afdcf1fa15 udev requires try function and the modules-update program should take care of any 2.4 vs 2.6 kernel issues. Also add vim instructions to a few files. 2007-12-14 20:09:53 +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
b73bd04cf3 If we need to regenrate the deptree in the boot runlevel, remove it afterwards as the dependencies may need programs brought up by localmount. The dependencies will be regenerated correctly in the next runlevel. 2007-12-14 12:23:13 +00:00
Roy Marples
2c3c27e251 Mirror the action of rc-update in baselayout-1, with the exception of adding to the currnet runlevel if no runlevel specified. 2007-12-08 12:10:45 +00:00
Roy Marples
9a6cfc0a9b Add termcap support. 2007-12-08 02:50:35 +00:00
Roy Marples
0451576374 whitespace 2007-12-07 14:33:37 +00:00
Roy Marples
b1569127b4 Just check that ecolor returns a string > 0 2007-12-07 14:32:28 +00:00
Roy Marples
acf425e822 Include time.h on linux 2007-12-07 14:31:51 +00:00
Roy Marples
17585a3c04 Don't be spammy or interactive when we don't output 2007-12-06 11:16:27 +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
52b6cd1c9b As ecolor does not take a tty, try and guess a valid one. 2007-12-03 16:16:08 +00:00
Roy Marples
82f7dae3e8 Warn about pidfiles not being created. 2007-12-03 13:38:23 +00:00
Roy Marples
44fe713062 RC_DEPEND_STRICT -> rc_depend_strict 2007-11-28 17:02:02 +00:00
Roy Marples
9252492d2f We don't care about update-rc 2007-11-28 15:50:18 +00:00
Roy Marples
ac9279cc0d Massive whitespace cleanup 2007-11-28 15:45:03 +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
Roy Marples
8df5860848 Use a more generic BSD define. 2007-11-28 10:06:31 +00:00
Roy Marples
f6033cfb26 git clean before dist, and add some ignore files 2007-11-27 16:13:42 +00:00
Roy Marples
7921d9f3d0 Change to hilite and space a little more 2007-11-26 09:36:40 +00:00
Roy Marples
5f120db647 Fix install permissions a little 2007-11-23 14:42:19 +00:00
Roy Marples
d81def80b0 Move /etc/conf.d/rc to /etc/rc.conf.
Lowercase all configurable variables, non configurations remain uppercase.
Replace rc_env_bool with rc_yesno.
Split localmount info procfs (Linux) and dumpon, savecore (BSD)
2007-11-23 12:04:11 +00:00
Roy Marples
f077f179ed touch ups 2007-11-22 21:46:51 +00:00
Roy Marples
7cf049cb35 Fix execing a for argument list too long 2007-11-22 12:09:46 +00:00
Roy Marples
46bb4b8f8b Allow 'after *; before local;' to work 2007-11-22 11:25:08 +00:00
Roy Marples
0c52821cba We cannot use realpath to resolv services as some are symlinks. 2007-11-21 15:38:07 +00:00
Roy Marples
a76f2c20e4 opts -> extra_commands. This is much more descriptive. 2007-11-20 18:19:48 +00:00
Roy Marples
c94bfb2f9b Open RC -> OpenRC 2007-11-20 13:44:03 +00:00
Roy Marples
6be2c2934b rc.c needs version.h 2007-11-19 18:36:10 +00:00
Roy Marples
88ccccc22a Move runlevel and lib logic to the sub Makefiles 2007-11-19 16:42:28 +00:00
Roy Marples
81715c3159 Display version on start and allow --version to work 2007-11-19 16:41:36 +00:00
Roy Marples
5f8cf73b22 Our build chain now works with GNU and BSD make implementations 2007-11-19 13:48:43 +00:00
Roy Marples
2ef9c5c520 Only start plugins once we have made an exclusive file 2007-11-19 13:46:09 +00:00
Roy Marples
da153631e7 Run the hook_out if set 2007-11-16 11:58:41 +00:00
Roy Marples
505f6951c4 If starting and started or stopping and stopped, just warn and continue. Fixes Gentoo bug #176452 again. 2007-11-16 11:55:08 +00:00
Roy Marples
959219f236 Vanilla FreeBSD make is now supported for src 2007-11-15 15:25:51 +00:00
Roy Marples
a215128475 Install our .so links to /usr/lib 2007-11-14 16:42:56 +00:00
Roy Marples
69a040bf85 Show help if we don't have any args, Gentoo #198380. 2007-11-14 16:19:56 +00:00
Roy Marples
a8f4032d29 We don't define a version yet. 2007-11-14 15:32:01 +00:00
Roy Marples
d3b7a91796 Use realpath to resolve our service. 2007-11-14 15:29:25 +00:00
Roy Marples
39227ede1d relicense as 2-clause BSD, with the kind permission of Gentoo 2007-11-14 15:22:04 +00:00
Roy Marples
28d9d86dd5 We should always give eend a message. 2007-11-14 14:04:34 +00:00
Roy Marples
f8ad30fc6e Really remove env-update 2007-11-14 13:46:21 +00:00
Roy Marples
e31b9ab088 If we have specified a pidfile then we only stop the pid listed,
regardless of other arguments.
2007-11-14 13:45:20 +00:00
Roy Marples
ccf79ceb47 Control of system defined env vars should not be done by us. 2007-11-14 13:39:34 +00:00
Ned Ludd
954c09f6da initialize s 2007-11-04 10:13:48 +00:00
Roy Marples
c8de77fbbe Fix starting state and clean some whitespace 2007-10-31 22:34:26 +00:00
Roy Marples
7cd70aee4d You can now log baselayout-2 again, through the RC_LOGGER conf.d/rc
setting. The log is temp stored in /lib/rc/init.d/rc.log and appended
to /var/log/rc.log if it's writeable. sysinit cannot be logged in Linux
as we rely on sysinit to bring the system up to a point where we can log.
single user cannot be logged on FreeBSD due to waitpid(0,0,0) incorrectly
waiting for the log daemon in another process group.
2007-10-31 15:46:56 +00:00
Roy Marples
c9fe3ade4c rc --override foo will override the runlevel to load after boot or single user runlevels to avoid rc recursion, #196338 2007-10-29 16:02:18 +00:00
Roy Marples
c02cc42b1d Fix the restarting of services depending on the script you're restarting 2007-10-26 12:22:26 +00:00
Roy Marples
f884223388 Use -D_BSD_SOURCE -D_XOPEN_SOURCE=500 in place of -D_GNU_SOURCE 2007-10-23 20:48:06 +00:00
Roy Marples
0764a6cb46 Stop using asprintf 2007-10-23 20:43:45 +00:00
Roy Marples
dc3bce5dae interupt -> interrupt 2007-10-23 15:23:10 +00:00
Roy Marples
af510fb316 We can still update deptree if needed services are missing 2007-10-23 10:06:15 +00:00
Roy Marples
c30b64a63a Allow half a second for a working pidfile to be created and a tenth of a second for a daemon to bail. 2007-10-23 09:05:19 +00:00
Roy Marples
9dddb43eb4 Wait for plugins to finish before moving on. 2007-10-22 19:33:42 +00:00
Roy Marples
6b0c28039d When getting an ecolor, we should check that stdout is a tty 2007-10-22 16:28:38 +00:00
Roy Marples
33aa2a0745 whitespace 2007-10-22 16:19:12 +00:00
Roy Marples
a28dd2d4ef We now build and optionally work with static libraries. 2007-10-16 13:49:00 +00:00
Roy Marples
068b4798c2 Update dependencies if we're allowed too 2007-10-15 16:17:33 +00:00
Roy Marples
a6ae4a6cde This is probably better 2007-10-15 16:03:49 +00:00
Roy Marples
5d215f9d63 const correctness 2007-10-15 14:40:53 +00:00
Roy Marples
c7f679e97e Add trace to depopts 2007-10-15 11:20:27 +00:00
Roy Marples
f95e75f0e9 rc-status now orders services in start order, #195630 2007-10-15 11:17:57 +00:00
Roy Marples
20a149b2c7 malloc over fatty buffers 2007-10-12 00:01:33 +00:00
Roy Marples
e3bc6666d6 malloc data size, not pointer size 2007-10-11 23:17:53 +00:00
Roy Marples
77205862e3 Bump librc and libeinfo to .so.1 2007-10-11 15:05:02 +00:00
Roy Marples
d2813aff86 Yoiks, that comma shouldn't be there. 2007-10-11 14:00:56 +00:00
Roy Marples
e00bf23518 No need for that include 2007-10-11 13:56:38 +00:00
Roy Marples
ebcfd49e9c Fix deleting items from string lists. 2007-10-11 10:11:12 +00:00
Roy Marples
64d1dd9da0 If / block device as in /etc/fstab does not exist, use /dev/root if it's available in checkroot, #171593. 2007-10-11 09:49:54 +00:00
Roy Marples
07c8f8cfde Fix rc.map 2007-10-10 13:49:52 +00:00
Roy Marples
4bdf9ab63e rc_deptree_order_services -> rc_deptree_order 2007-10-10 13:11:35 +00:00
Roy Marples
e744a6ba24 Give more time to daemons 2007-10-10 11:55:55 +00:00
Roy Marples
25091eb4f4 Don't run the done hook twice 2007-10-10 06:24:08 +00:00
Roy Marples
183b7464d3 We should only have one block of code that restores state 2007-10-09 21:20:10 +00:00
Roy Marples
2613316686 Fix failed services a little, and make timeout more sane 2007-10-09 21:13:08 +00:00
Roy Marples
d468572206 Improve applet help a little. Also, if mountinfo as any mounts given, work explictly with --netdev/--nonetdev 2007-10-09 17:41:53 +00:00
Roy Marples
db468457dc Foo, should be a mask 2007-10-09 15:47:25 +00:00
Roy Marples
537ef36350 Ensure that runscript returns 0 when service is started 2007-10-09 15:44:22 +00:00
Roy Marples
dc0ba7ebf3 netmount, localmount, halt.sh and net scripts now check OS specific flags to see if a mount is network mounted (linux = fstab, *bsd = "local" in mount options) or not, #192772. 2007-10-09 15:33:05 +00:00
Roy Marples
e89805e0c0 Quiet some compile time warnings on uclibc 2007-10-09 12:52:09 +00:00
Roy Marples
3ac49bd6b3 Fix help 2007-10-09 10:18:13 +00:00
Roy Marples
ee1b7d0141 Tidy up 2007-10-09 09:25:32 +00:00
Roy Marples
3da2922358 Don't stop reading dir contents on errors 2007-10-08 12:46:14 +00:00
Roy Marples
cd4bce7e8d Wups, should be xstrdup 2007-10-08 11:16:22 +00:00
Roy Marples
a89ceb7e2c Punt rc_ from xstrdup, xalloc, xrealloc and exists as they're not in librc anymore 2007-10-08 11:11:21 +00:00
Roy Marples
e7dab9bb91 Move rc_env_filter and rc_env_config out of librc and into rc 2007-10-08 11:07:39 +00:00
Roy Marples
2691f95a3a rc doesn't and shouldn't use libkvm 2007-10-05 12:04:19 +00:00
Roy Marples
cf53fe51b1 Don't bother holding the old errno 2007-10-05 12:00:18 +00:00
Roy Marples
632bd4d1f0 Fix a few errors with the last few commits 2007-10-05 11:31:17 +00:00
Roy Marples
9ff89f8027 Punt rc_waitpid 2007-10-05 11:04:49 +00:00
Roy Marples
3bfba57f5b Punt rc_rm_dir 2007-10-05 10:36:53 +00:00
Roy Marples
05b8eff319 Punt rc_ls_dir 2007-10-05 10:16:14 +00:00
Roy Marples
efe6e76cc1 rc_service_daemon_set now returns bool 2007-10-04 19:49:12 +00:00
Roy Marples
7319c64cff rc_service_schedule_clear returns a bool on error now 2007-10-04 19:43:01 +00:00
Roy Marples
a6f2713002 inline rc_xmalloc, rc_xrealloc and rc_xstrdup so that the library doesn't expose them. 2007-10-04 17:26:57 +00:00
Roy Marples
af5525f634 LS_DIRS -> LS_DIR 2007-10-04 17:02:44 +00:00
Roy Marples
15fde9a796 Punt rc_exists from public interface, move to private static inline 2007-10-04 17:00:56 +00:00
Roy Marples
87ea3e9e3b Punt rc_is_dir 2007-10-04 16:54:29 +00:00
Roy Marples
e2e40afdde punt rc_is_exec 2007-10-04 16:26:44 +00:00
Roy Marples
d65c484f3a punt rc_is_link 2007-10-04 16:21:53 +00:00
Roy Marples
bb9ad38de2 Punt rc_is_file 2007-10-04 16:16:06 +00:00
Roy Marples
53176d12ad document rc_deptree_depends 2007-10-04 14:15:49 +00:00
Roy Marples
8b874c9a0f Revert making function private 2007-10-04 14:11:45 +00:00
Roy Marples
48cfeba8b2 Remove debug 2007-10-04 13:55:37 +00:00
Roy Marples
daf868394f __rc_service_daemon_set is now a private function 2007-10-04 13:51:57 +00:00
Roy Marples
379b66936c depinfo and deptype are now internal use only. rc-depend cuddles up to getopt. 2007-10-04 13:38:47 +00:00
Roy Marples
422ac82ef9 librc.so and libeinfo.so now have symbol versions. 2007-10-03 15:46:02 +00:00
Roy Marples
6d5ac5716b rc_make_env -> rc_env_config, rc_filter_env -> rc_env_filter 2007-10-03 14:48:50 +00:00
Roy Marples
a470700710 Rename config funcs 2007-10-03 14:43:05 +00:00
Roy Marples
fc3980b2e2 reorg our header a little 2007-10-03 14:31:16 +00:00
Roy Marples
4b7efeafa6 rc_service_option_set -> rc_service_value_set, rc_service_option_get -> rc_service_value_get 2007-10-03 14:22:45 +00:00
Roy Marples
563c6f46c0 rc_schedule_clear -> rc_service_schedule_clear, rc_schedule_start_service -> rc_service_schedule_start 2007-10-03 14:18:52 +00:00
Roy Marples
4c3bf59c5b reorder header a little 2007-10-03 14:14:44 +00:00
Roy Marples
260318f24f rc_get_runlevels -> rc_runlevel_list 2007-10-03 14:11:55 +00:00
Roy Marples
8abd6ebb11 hide eprefix 2007-10-03 12:55:27 +00:00
Roy Marples
034a18c548 Align correctly when passing output to grep. 2007-10-03 12:45:57 +00:00
Roy Marples
76d3ee58e1 Don't use colour when not a tty - like say when we're redirected to a file. 2007-10-03 12:43:50 +00:00
Roy Marples
ab38e54fed Fix output for no colour 2007-10-03 11:53:20 +00:00
Roy Marples
932a4576ce Respect COLUMNS 2007-10-03 11:49:08 +00:00
Roy Marples
b675ca4779 Compile fix 2007-10-02 14:37:30 +00:00
Roy Marples
69ebf0c738 rc_allow_plug -> rc_service_plugable 2007-10-02 09:57:23 +00:00
Roy Marples
4e9e8d075c rc_set_service_daemon -> rc_service_daemon_set 2007-10-02 09:04:10 +00:00
Roy Marples
cef0ad3215 rc_set_service_option -> rc_service_option_set, rc_get_service_option -> rc_service_option_get 2007-10-02 09:02:08 +00:00
Roy Marples
52f33e2815 Compile on fbsd. 2007-10-01 08:42:27 +00:00
Roy Marples
0fae5deeb1 Plug a leak 2007-09-29 17:20:52 +00:00
Roy Marples
7d5c82cf63 rc_wait_service -> rc_service_wait 2007-09-29 17:03:38 +00:00
Roy Marples
f795cd20f8 librc doesn't use libeinfo 2007-09-29 17:03:21 +00:00
Roy Marples
b19e646575 Rationalise more functions into rc_service_ 2007-09-29 16:54:58 +00:00
Roy Marples
837f43e163 librc no longer uses libeinfo. deptree function names are now all under rc_deptree_ 2007-09-29 16:42:08 +00:00
Roy Marples
b153f67fe3 Ensure reading the console still works in parallel startup 2007-09-29 10:17:28 +00:00
Roy Marples
fc1bfe4234 Crashed is not a baselayout state as such 2007-09-28 15:04:15 +00:00
Roy Marples
7274301be2 rc_service_state now returns the state as a mask, which means that we can do things with just the one call making is more efficient. 2007-09-28 14:53:38 +00:00
Roy Marples
6f7f447978 enums are now fixed to specific values and are in UPPER CASE. 2007-09-28 12:29:23 +00:00
Roy Marples
e89c2c5d60 The rc_depinfo_t and rc_deptype_t structures are not for public consumption. 2007-09-27 23:16:40 +00:00
Roy Marples
8c402e53ee Clean makefile for duplicate rules 2007-09-27 22:14:23 +00:00
Roy Marples
1d0b234e94 Fix Makefile for pmake, document s-s-d options and increase usage gap 2007-09-26 10:46:44 +00:00
Roy Marples
46af0c7ddb If it's in fstab, let mount work everything out instead of us. 2007-09-26 10:09:27 +00:00
Roy Marples
675d0a94c7 No need for bash here 2007-09-26 09:16:41 +00:00
Mike Frysinger
5f5302ef64 use __ prefixes so we dont have to worry about user #defines causing havoc in the normal namespace 2007-09-26 09:08:07 +00:00
Mike Frysinger
5b57534ce7 mark usage() as no return 2007-09-26 09:07:31 +00:00
Mike Frysinger
727a2d90ee add some tests to make sure our exported symbols are sane 2007-09-26 08:44:39 +00:00
Roy Marples
9f315994b5 Duh, wrong way around 2007-09-26 08:43:32 +00:00
Mike Frysinger
f0c7e8e02f add hidden definition for rc_waitpid() 2007-09-26 08:39:16 +00:00
Roy Marples
3d484acec3 passno needs an argument 2007-09-26 08:05:49 +00:00
Roy Marples
ef0df58761 Fix rc_env_bool 2007-09-26 07:52:48 +00:00
Roy Marples
e24d808fc5 Handle fstab with spaces 2007-09-26 07:30:00 +00:00
Roy Marples
8a7b58a73d rc_is_env is now rc_env_bool and just works with boolean values. 2007-09-26 07:05:33 +00:00
Mike Frysinger
ab0edd43b9 unify verbose/quiet handling 2007-09-25 23:17:25 +00:00
Mike Frysinger
7d9acd968f display whether an option takes an argument in the usage output 2007-09-25 22:57:32 +00:00
Roy Marples
8ce7911f10 Fix short opts 2007-09-25 22:50:27 +00:00
Roy Marples
cc3c5ad111 fstabinto now behaves more like mountinfo with respect to --quiet 2007-09-25 22:45:57 +00:00
Roy Marples
da471b7deb Rework fstabinfo so it makes more sense 2007-09-25 22:21:28 +00:00
Roy Marples
6a14825e74 Use bools 2007-09-25 17:32:12 +00:00
Roy Marples
c6c7df47a0 Revert last patch 2007-09-25 17:30:07 +00:00
Roy Marples
1a6451654f We no longer use bool in our public headers, using int instead. 2007-09-25 17:19:02 +00:00
Mike Frysinger
b24e877948 Retain behavior where rc-update del warns if nothing changed. 2007-09-25 17:03:19 +00:00
Mike Frysinger
6fc541a9b8 Retain behavior where rc-update del foo deletes foo from all runlevels. 2007-09-25 16:42:59 +00:00
Mike Frysinger
284286004e Add support for describing the options in the C programs. 2007-09-25 16:21:38 +00:00
Roy Marples
1e4e8ed27a Initial doxygen documentation for rc.h and einfo.h. Plus some header clean ups. 2007-09-25 15:38:21 +00:00
Roy Marples
a2e5c4513e Use -t for -fstype to match mount to make vapier happy 2007-09-25 12:22:48 +00:00
Mike Frysinger
450cc13a5c dump a useful error message if nothing happened 2007-09-25 01:47:02 +00:00
Mike Frysinger
5e28066929 split links out into a sep target so implicit rules dont cause problems 2007-09-25 01:42:24 +00:00
Roy Marples
da90cc630e Remove debug lines 2007-09-24 12:11:50 +00:00
Roy Marples
e95cea3d86 Split our rc commands out into general use vs service commands 2007-09-24 12:09:43 +00:00
Roy Marples
495690ea5e Plug some leaks 2007-09-24 09:07:00 +00:00
Roy Marples
e0d06f556e Add extraopts to our usage 2007-09-21 11:52:37 +00:00
Roy Marples
45bd125dcc Use a pty for prefixed output instead of pipes for stdout/stderr. This
is so that programs can get information about the controlling terminal.
This change was triggered by bug #188506 where it's possible that
stdin, stdout and stderr didn't point to a terminal but ended up on one
via our pipes. Using a pty means that stdout and stderr always point to
a terminal, but we lose the ability to tell them apart.
If there is not a pty available then we use un-prefixed output as normal.
This change has also introduced the need for a signal pipe so that
SIGCHLD can exit the loop cleanly.
2007-09-21 08:49:43 +00:00
Roy Marples
963229dce8 whitespace 2007-09-20 11:53:10 +00:00
Roy Marples
ccced38428 libeinfo now works out the number of columns from stdout rather than stdin, #188506. 2007-09-20 11:47:04 +00:00
Roy Marples
c1cd1da595 Warn if file/directory mismatch 2007-09-19 17:18:43 +00:00
Roy Marples
50ea72ef4b Allow checkown to create files too. 2007-09-19 17:08:25 +00:00
Roy Marples
40a1beabe0 Move the error messages to the option parsing 2007-09-19 16:54:23 +00:00
Roy Marples
b6aa1c857c Added the checkown applet based on the work by Renato Caldas, #192682
checkdir ensures that the specified files (or directories) are owned
by the current user/group or as specified on the command line. You can
optionally check permissions too.
2007-09-19 16:27:37 +00:00
Roy Marples
a74dd430d5 Punt rc_xcalloc as nothing uses it 2007-09-19 13:55:01 +00:00
Roy Marples
77f9015f0b /lib/rcscripts -> /lib/rc 2007-09-19 13:53:40 +00:00
Roy Marples
987c72f12f --opts to --options 2007-09-19 11:53:35 +00:00
Roy Marples
5248fb52fa plugin hook function is now rc_plugin_hook instead of a name based
on the name of the plugin.
2007-09-19 09:00:43 +00:00
Roy Marples
1996a1e032 Hide errors caused by old splash plugin for the time being 2007-09-18 16:57:39 +00:00
Roy Marples
81c009e47d Don't be an ass - don't free the 2nd list. Instead just empty it. 2007-09-18 15:43:19 +00:00
Roy Marples
9587d71df3 Clarify strlist_join behaviour 2007-09-18 14:18:22 +00:00
Roy Marples
75b5fdff29 Match the recent api change to rc_strlist_join also. We now free the 2nd list for ease of use. 2007-09-18 14:08:56 +00:00
Roy Marples
c8b03c96b7 API change! rc_config_env is renamed to rc_make_env and takes no argument. 2007-09-18 12:20:55 +00:00
Roy Marples
807e4afbed Don't space separate the options 2007-09-18 12:08:04 +00:00
Roy Marples
936dc94351 API change! rc_ls_dir, rc_get_config and rc_get_list no longer take
a starting list as a first argument. Instead, use rc_strlist_join
to append or prepend the new list to an existing list.
2007-09-18 12:04:51 +00:00
Roy Marples
f1bba12892 API change! rc_strlist_add and friends now take char *** instead of
char ** and return a pointer to the item added instead of the new
list head. This is so we can easily tell if the item was successfully
added or not instead of iterating through the list looking for it.

list = rc_strlist_add (list, item);
becomes
rc_strlist_add (&list, item);
2007-09-18 11:36:55 +00:00
Roy Marples
99eabdc3ba Re-work mountinfo so that we have a lot less OS specific code 2007-09-18 09:20:30 +00:00
Roy Marples
bcb85a016d BSD will need a fixed gcc for --as-needed 2007-09-12 14:32:18 +00:00
Roy Marples
a5585487aa More --as-needed foo 2007-09-11 22:06:27 +00:00
Roy Marples
607f2b37b1 Work better with --as-needed 2007-09-11 21:45:26 +00:00
Roy Marples
bc6b031f2e librc should link against libeinfo too 2007-09-10 21:26:13 +00:00
Roy Marples
ba4b5d5b7f Makefile in src now supports pmake as used on the BSDs. 2007-09-06 13:00:03 +00:00
Roy Marples
d095d4d8f5 strdup -> rc_xstrdup 2007-09-06 08:59:35 +00:00
Roy Marples
eb5b1c4c41 start-stop-daemon now works with userids correctly when a pidfile
is not specified, #191206.
2007-09-04 09:32:36 +00:00
Roy Marples
52f7df0d0c Add --quiet to mountinfo 2007-09-03 14:02:15 +00:00
Roy Marples
c04af92cb4 We may not always add to the array, so re-count it afterwards 2007-09-01 00:51:41 +00:00
Roy Marples
6cf2085488 Don't add multiple entries to ld.so.conf 2007-08-31 11:06:49 +00:00
Roy Marples
d3bd76486a More path fixes thanks to Thomas Pani 2007-08-28 16:28:33 +00:00
Roy Marples
f7583144f3 Use correct defines 2007-08-28 13:10:07 +00:00
Roy Marples
144d9653e1 Undocument pause action, fix --nodeps and --ifstarted, #190045. 2007-08-28 13:06:44 +00:00
Roy Marples
849b983c3f #define shutdown 2007-08-28 09:17:04 +00:00
Roy Marples
d6acd7d83e Move more stuff to #defines 2007-08-28 09:13:46 +00:00
Roy Marples
36118e7dbd Fix ksoftlevel handling, #190420. 2007-08-28 08:50:04 +00:00
Roy Marples
1ef8a7f041 Only open /proc/cmdline if it exists, #189686 thanks to Christian Affolter 2007-08-22 14:10:46 +00:00
Roy Marples
9ea8afb200 No point in having to lots of get the user code. 2007-08-20 09:08:06 +00:00
Roy Marples
0963e06766 Mark the right service as failed and only output a new line if we outputted anything at all for /etc/init.d/foo needsme 2007-08-17 13:23:43 +00:00
Roy Marples
7aaa601aad needsme should always be valid too 2007-08-17 13:23:02 +00:00
Roy Marples
b10bd4b9d7 Stop un-needed services when changing runlevels, #189050. 2007-08-17 12:14:04 +00:00
Roy Marples
adbe039385 When shutting down, stop the service even if dependants failed. 2007-08-17 11:31:36 +00:00
Roy Marples
bc90e41b76 Intergrate our standard options 2007-08-17 11:01:18 +00:00
Roy Marples
d1a1e3a3c9 Allow --user and --group to also mean --chuid and --chgrp 2007-08-17 10:54:04 +00:00
Roy Marples
e0a29e41a2 Allow 'del' to work as a command 2007-08-17 09:46:01 +00:00
Roy Marples
eba9b8ac14 Fully move esyslog into rc 2007-08-16 17:09:57 +00:00
Roy Marples
6e5c8f8e5a Add esyslog support 2007-08-16 16:53:20 +00:00
Roy Marples
3950eb6eba `config /etc/fstab' can now be used in depend() functions to show that
the deptree should be regenerated if /etc/fstab has changed.
2007-08-15 14:49:41 +00:00
Roy Marples
0084bc41ef Don't link to rt anymore as it makes dlopen leak - we now use nanosleeps to achieve the same goal (a loop + timeout). No longer put / at the end of directories, instead prefix like so RC_LIBDIR "/foo" to ensure more robust code. 2007-08-09 14:33:20 +00:00
Roy Marples
9072ce748f getoptify and simply the code even more. 2007-08-09 09:53:47 +00:00
Roy Marples
f8c1ee736c Add help to rc-update #188170 and tidy up the code a fair bit. 2007-08-08 22:35:32 +00:00
Roy Marples
94c6ff7bb7 Plug a leek for non selinux linux systems 2007-08-08 03:07:42 +00:00
Roy Marples
30853d7473 If given a pidfile, just match on that for seeing if we have crashed
or not, #186159.
2007-08-08 03:07:09 +00:00
Roy Marples
01ea7e3186 More pppd fixes 2007-08-07 20:23:38 +00:00
Roy Marples
1e4357ad01 Boot properly when we cannot set an early font, #187628. 2007-08-04 20:35:05 +00:00
Roy Marples
3e5526fd76 Fix rc-update, #187487 and release rc2. 2007-08-04 15:05:12 +00:00
Roy Marples
a3aff5d83c Wups, these definitions need to be in rc.h really 2007-08-03 10:14:38 +00:00
Roy Marples
534b4300e7 rc1 2007-08-02 11:09:09 +00:00
Roy Marples
ed249bad88 Fix up einfo output a little 2007-08-01 11:33:07 +00:00
Roy Marples
c22ccdf577 Wups, don't force those CFLAGS 2007-07-31 16:59:02 +00:00
Roy Marples
a4e7e802ac Force some stuff 2007-07-31 16:57:16 +00:00
Roy Marples
90f0ea65cb Fix building on uclibc thanks to Solar 2007-07-31 16:40:32 +00:00
Roy Marples
cb172722a9 Fix building on Linux 2007-07-31 16:35:24 +00:00
Roy Marples
b6b849bfd7 Link the right objects against rc 2007-07-31 16:16:18 +00:00
Roy Marples
e6ec76ac40 All our binaries are now mulicalls into rc, which makes our on disk size
a lot smaller.
2007-07-31 16:06:21 +00:00
Roy Marples
c674026f9e All our binaries are now mulicalls into rc, which makes our on disk size
a lot smaller.
2007-07-31 16:05:56 +00:00
Roy Marples
075e80b358 Merge some of reb's OpenBSD fixes in 2007-07-25 20:58:23 +00:00
Roy Marples
af2d9995d7 appending noinitd=xdm will skip the xdm service when first booting, #181858. 2007-07-23 11:36:12 +00:00
Roy Marples
6343b48893 RC_DEPEND_STRICT now controls dependency strictness.
If yes then we only use services in the boot and default runlevels,
regradless of service state.
If no then we take into account coldplugged services and the state
of currently running services.
Fixes #185640.
2007-07-21 12:49:51 +00:00
Roy Marples
76f2391ece Skip some files in env-update like portage env-update for more robustness 2007-07-19 21:44:55 +00:00
Roy Marples
26d11b33cf Use printf so we don't put blank lines at the top of new files and fix mountinfo for nfs roots 2007-07-16 17:07:15 +00:00
Roy Marples
4cc1c3054a Fix compile on FreeBSD 2007-07-16 12:22:53 +00:00
Roy Marples
5154d19238 env-update --fork-ldconfig really forks ldconfig and works now 2007-07-16 07:19:32 +00:00
Roy Marples
44e575845f Don't use 'this' as a variable name as it confuses c++ 2007-07-13 14:30:33 +00:00
Roy Marples
06e687598d Punt the RC_TTY variable 2007-07-12 09:48:44 +00:00
Roy Marples
5257ba51b9 Don't unmount network filesystems in localmount or halt.sh, #175602. 2007-07-11 17:27:46 +00:00
Roy Marples
e778dcbfb0 Fix restarting services with plugins 2007-07-11 14:28:54 +00:00
Roy Marples
74d52e749d Don't do interactive when changing init, #174141. 2007-07-11 13:02:05 +00:00
Roy Marples
356c41f77c Punt the dodgy ebuffer code. We now force prefixing for parallel starts which also reduces our variable pollution. 2007-07-11 12:06:37 +00:00
Roy Marples
2aa7ebfe0d Allow non root users to describe 2007-07-10 20:11:42 +00:00
Roy Marples
023d66578b Rename variable 2007-07-10 19:14:37 +00:00
Roy Marples
05201b514b init scripts and their extra options can now have descriptions, #184327. 2007-07-10 19:09:41 +00:00
Roy Marples
445918685e Support /etc/init.d/foo ineed and friends again. 2007-07-10 15:26:49 +00:00
Roy Marples
7bb24d8058 Remove a debug line 2007-07-10 13:15:07 +00:00
Roy Marples
1cda2a2036 We no longer care about numerical runlevels, #184733. 2007-07-10 11:42:56 +00:00
Roy Marples
53d17a1be2 Add an option to fork ldconfig in env-update, #182794. Also, preserve the entire line in /etc/env.d/foo if it begins with $ 2007-07-09 10:26:02 +00:00
Roy Marples
913b3b1f6b Of course, glibc does not have strlcpy 2007-07-06 17:07:29 +00:00
Roy Marples
809b5286b6 Make the prefix length dynamic 2007-07-06 15:50:40 +00:00
Roy Marples
7de9a73841 Don't trust the plugin 2007-07-05 08:39:32 +00:00
Roy Marples
710a67138f Flush the ebuffer before and after running a plugin. 2007-07-04 16:06:40 +00:00
Roy Marples
f28763d492 As we're running each plugin in a fork, we need to call our cleanup code so we don't leak memory. To this extent, we now have the global boolean rc_in_plugin and the cleanup code can act accordingly. 2007-07-04 16:02:01 +00:00
Roy Marples
46156cc8cd We need the full path to the service before chdir / 2007-07-04 14:56:59 +00:00
Roy Marples
9c7bbdd774 We still need to wait for services we need/use 2007-07-03 08:38:27 +00:00
Roy Marples
f23b6d0e95 Don't wait for services that were inactive, #183667 thanks to Daniel Drake 2007-07-02 22:07:58 +00:00
Roy Marples
3a9375c7df Make the provided code a little more readable and fix a bug when calculating provided services changing from single to default runlevel 2007-07-02 22:05:38 +00:00
Roy Marples
d6c72cc87c Fix error and only let root run init commands except for status and help 2007-07-02 19:57:18 +00:00
Roy Marples
afaa27fd65 Add --nocolor to more programs 2007-06-28 15:44:38 +00:00
Roy Marples
0fdc53d54d Add --nocolor to more programs 2007-06-28 15:44:14 +00:00
Roy Marples
10c3592147 Add --no-ldconfig option to env-update to match portage. 2007-06-27 12:35:43 +00:00
Roy Marples
f9220d3e28 Change pwd to / for all init scripts, #181224. 2007-06-26 09:20:42 +00:00
Roy Marples
0575c15993 Change pwd to / for all init scripts, #181224. 2007-06-26 08:47:46 +00:00
Roy Marples
75f776732b --nocolor works again, #181011 thanks to Daniel Drake. 2007-06-26 08:39:02 +00:00
Roy Marples
dd332f377c Improve spelling 2007-05-27 16:02:25 +00:00
Roy Marples
f754cfd2a9 RC_SYS should now set XEN0 correctly 2007-05-23 12:30:34 +00:00
Roy Marples
64e6dcfc9f Create a function for running init.sh and init-early.sh which saves on code and removes a gcc-4.2 warning 2007-05-22 12:25:43 +00:00
Roy Marples
237a66b05c Default eend to SUCCESS if no options given 2007-05-16 18:45:16 +00:00
Roy Marples
49b36c5f2e Remove debug line 2007-05-16 11:28:45 +00:00
Roy Marples
1ac8d86ebe Stop using getimeofday for timeouts incase the clock changes. 2007-05-16 11:05:42 +00:00
Roy Marples
fc597a8721 /etc/conf.d/rc.$runlevel now works, #177869. 2007-05-15 15:56:35 +00:00
Roy Marples
f3888d7613 Implement FreeBSD's dlfunc function to avoid ISO warnings on dlsym - thanks to drizztbsd for find public domain code :) 2007-05-14 19:50:13 +00:00
Roy Marples
d0308aaecd Use correct function casts. Use dlfunc where available to remove ISO warnings :) 2007-05-14 17:05:55 +00:00
Roy Marples
14c59d4071 RC_INTERACTIVE now works, #178331. 2007-05-14 12:48:37 +00:00
Roy Marples
bbfb7bc409 Add --startas back to s-s-d, #175980, #175981. 2007-05-14 12:37:13 +00:00
Roy Marples
0942916b72 Allow time for pidfiles to be created, #178274.
Use int instead of char for getopt, #178084 thanks to drizztbsd.
2007-05-14 12:24:18 +00:00
Roy Marples
46cd245ee3 Use clock MONOTONIC to timeout, not localtime, #177514 2007-05-11 08:58:19 +00:00
Roy Marples
2fd8225c6a Always pass ttyname to sulogin 2007-05-03 13:46:38 +00:00
Roy Marples
e18377acca Don't timeout waiting for checkfs and checkroot. Do a better fix later. 2007-05-02 15:17:03 +00:00
Roy Marples
c3608471cd SSD_NICELEVEL can now affect the nicelevel for daemons started
by start-stop-daemon, #175397.
2007-05-02 12:33:56 +00:00
Roy Marples
700bdb4f1d Stop blindly assuming that a blank TERM is cons25. For cons25 terms we drop one column so we don't get an extra newline. 2007-05-02 10:43:43 +00:00
Roy Marples
0380d98d7d restart/schedule stopped services when the trigger service goes inactive on a restart 2007-04-30 13:18:42 +00:00
Roy Marples
4d283afe31 /etc/init.d/foo start and stop no longer exit when service is fully
started or stopped, #176452.
2007-04-30 09:06:17 +00:00
Roy Marples
abfd181dde env-update now respects COLON_SEPARATED and SPACE_SEPARATED env.d values, #176198. 2007-04-27 11:24:05 +00:00
Roy Marples
cf9aa106c6 Set fonts in init-early.sh, don't stop services twice when shutting down and lock prefixed output. 2007-04-26 11:24:07 +00:00
Roy Marples
c1d6bfc721 Don't abort select when on signals 2007-04-25 18:12:49 +00:00
Roy Marples
8e7868d80f Don't pass $CONSOLE to sulogin and split rc_environ_fd on NULLs 2007-04-25 15:48:54 +00:00
Roy Marples
dfc208bd25 We now have an alternative to buffering stdout and stderr.
RC_PREFIX="yes" will put the service name as a prefix to all output
made by the service. Thanks to Ciaran McCreesh for the idea.
2007-04-25 12:30:24 +00:00
Roy Marples
a44abb9577 We now buffer stdout and stderr to a file and flush that when running in parallel. RC_PARALLEL_STARTUP has been renamed to RC_PARALLEL. 2007-04-24 11:29:19 +00:00
Roy Marples
52c28add45 error then unlink 2007-04-21 09:23:37 +00:00
Roy Marples
81c595b3fe Don't free in vfork 2007-04-21 08:34:16 +00:00
Roy Marples
3979a1712d Style fixes 2007-04-20 19:03:56 +00:00
Roy Marples
35ee67f446 Re-work the starting and stopping of services so we always know the pid so we can kill our children without the need for process groups which we cannot use as keyboard will not work in init. 2007-04-20 18:58:42 +00:00
Roy Marples
a5ba34ec15 Fix rc-abort to notify the plugins we are aborting 2007-04-20 15:02:13 +00:00
Roy Marples
c52f216450 Added the rc-abort command, #175106 thanks to Daniel Drake. 2007-04-20 13:12:21 +00:00
Roy Marples
f269f1961b Plugins now run in a forked process for extra resliance. 2007-04-20 09:39:47 +00:00
Roy Marples
49b8b30ab7 Fix fstabinfo -p / 2007-04-19 15:31:01 +00:00
Roy Marples
2569e85579 strdup -> rc_xstrdup 2007-04-19 14:54:35 +00:00
Roy Marples
3ed60d5202 Use RTLD_NOW instead of RTLD_LAZY 2007-04-19 14:41:10 +00:00
Roy Marples
f05ac25185 Fix bridge some more, remove superflous warning from vewarn and error when no interface correctly 2007-04-19 06:46:29 +00:00
Mike Frysinger
e2af000463 remove APPLET check so we can create .depend 2007-04-17 13:00:05 +00:00
Mike Frysinger
9d50d4cb25 start unifying help handling 2007-04-17 12:44:32 +00:00
Mike Frysinger
f5e65274f0 fix #if handling in get_term_columns 2007-04-17 12:21:15 +00:00
Roy Marples
f657d87b99 Rationalise our colour usage a little. 2007-04-17 09:32:18 +00:00
Roy Marples
54d297725e env vars EINFO_GOOD and friends now override our hardcoded builtins. 2007-04-17 07:06:04 +00:00
Roy Marples
6ff4a83d59 More basename compliance. 2007-04-13 16:00:25 +00:00
Roy Marples
2714263040 Punt .depend 2007-04-13 15:23:46 +00:00
Roy Marples
36e16cef47 Ignore and clean .depend 2007-04-13 15:23:03 +00:00
Roy Marples
876bd89f4b hug getopt_long some more 2007-04-13 15:20:10 +00:00
Mike Frysinger
6dde29a0c9 add basic --help 2007-04-13 15:09:37 +00:00
Mike Frysinger
1c82d53247 add hidden visibility support to libeinfo as well 2007-04-13 14:18:38 +00:00
Mike Frysinger
a822d2d118 kill off internal relocations for librc.so 2007-04-13 14:08:16 +00:00
Roy Marples
fc06063958 Use basename properly 2007-04-13 13:54:53 +00:00
Mike Frysinger
cb20c5da98 make sure .depend gets regenerated automatically 2007-04-13 13:21:27 +00:00
Mike Frysinger
2ea37cdae3 add .depend / .PHONY support 2007-04-13 13:20:26 +00:00
Mike Frysinger
2348f115c0 use CPPFLAGS rather than CFLAGS where appropriate and make LDFLAGS/-rpath dynamic by only enabling when in .svn repo 2007-04-13 13:06:53 +00:00
Mike Frysinger
5ee5f0c661 revert previous commit 2007-04-13 12:59:12 +00:00
Mike Frysinger
e3440c8ba3 dont create .so links as they arent needed for runtime 2007-04-13 12:55:43 +00:00
Mike Frysinger
51f43d5a53 use ln -sf rather than ln -s incase target exists 2007-04-13 12:39:14 +00:00
Mike Frysinger
21902ef882 add a symlink for update-rc -> rc-update 2007-04-13 12:38:00 +00:00
Roy Marples
a07be0513a s-s-d now allows --signal to be used without --stop and --oknodo. man page updated accordingly 2007-04-13 09:21:16 +00:00
Roy Marples
824e9577e7 Fix module loading, #174360. s-s-d now changes group when changing user, #174362. 2007-04-13 06:43:00 +00:00
Roy Marples
67c5d8e940 Style updates 2007-04-12 13:18:52 +00:00
Roy Marples
000f239534 Fix getopt a little 2007-04-12 10:40:51 +00:00
Roy Marples
2728cef0e1 Hug getopt_long even though it's not POSIX. start-stop-daemon has always required this and all our supported platforms have it. 2007-04-12 10:08:42 +00:00
Roy Marples
aff7b02dce Fix hotplugging of network cards 2007-04-11 14:52:13 +00:00
Roy Marples
e6674b2cae Cuddle up to LKML C style 2007-04-11 12:44:47 +00:00
Roy Marples
64c4d3875d Move carrier detection back into net.sh. Reserve a new hook numbers 2007-04-11 10:40:53 +00:00
Roy Marples
f754c661f5 Add new service hooks, remove pmake stuff from our Makefile and fix rc_services_in_state for scheduled. 2007-04-11 07:15:02 +00:00
Roy Marples
ffc96d8d89 Change veinfo and friends to einfov. Rationale - we may need veinfo to support va_list in the future. 2007-04-10 16:11:20 +00:00
Roy Marples
240399534c int -> time_t 2007-04-10 14:03:37 +00:00
Roy Marples
d3db9e9910 Fix indentation 2007-04-10 11:24:58 +00:00
Roy Marples
0c98067d57 Misc network fixes so we work on my stable server. Splash plugin removed as splashtuils-1.4 now ships with its own. 2007-04-10 10:33:44 +00:00
Roy Marples
89ac4eee26 rc does not need SIGCHLD handler. Also, always return 0 in /etc/rc as non zero for default may freeze system. 2007-04-09 17:11:18 +00:00
Roy Marples
3c7c1736b7 Use names instead of numbers for reporting signals and trap signals in rc 2007-04-09 16:53:21 +00:00
Roy Marples
049948eb09 Only use some gcc flags if gcc actually supports them. 2007-04-08 17:39:59 +00:00
Roy Marples
6e2ef07dd3 LIBDIR -> LIB. When interuppted, ensure service state is restored correctly. When stopping, don't uncoldplug too early. 2007-04-08 16:03:48 +00:00
Roy Marples
a66136655e Move env-update back to /sbin as everything non baselayout expects it in $PATH, including our documentation 2007-04-07 10:38:40 +00:00
Roy Marples
6c29966364 We don't use err.h 2007-04-07 08:46:42 +00:00
Roy Marples
4e64558cbf Remove this until we can make it work properly - ie not hangup when cable goes in/out 2007-04-06 23:04:38 +00:00
Roy Marples
ab62a84790 snprintf is better 2007-04-06 08:37:15 +00:00
Roy Marples
9cd5742bec strcpy is bad 2007-04-06 08:24:48 +00:00
Roy Marples
657be65340 Misc fixes, plugged a memory leak in runscript.c and use va_copy to avoid nasty segfaults 2007-04-06 01:04:07 +00:00
Roy Marples
308042c87b We now compile on OpenBSD (no idea if it works or not yet) 2007-04-05 15:01:09 +00:00
Roy Marples
6fb700e52c Superfluous CFLAGS 2007-04-05 11:42:21 +00:00
Roy Marples
5af58b4514 Rewrite the core parts in C. We now provide librc so other programs can
query runlevels, services and state without using bash. We also provide
libeinfo so other programs can easily use our informational functions.

As such, we have dropped the requirement of using bash as the init script
shell. We now use /bin/sh and have strived to make the scripts as portable
as possible. Shells that work are bash and dash. busybox works provided
you disable s-s-d. If you have WIPE_TMP set to yes in conf.d/bootmisc you
should disable find too.
zsh and ksh do not work at this time.

Networking support is currently being re-vamped also as it was heavily bash
array based. As such, a new config format is available like so
config_eth0="1.2.3.4/24 5.6.7.8/16"
or like so
config_eth0="'1.2.3.4 netmask 255.255.255.0' '5.6.7.8 netmask 255.255.0.0'"

We will still support the old bash array format provided that /bin/sh IS
a link it bash.

ChangeLog for baselayout-1 can be found in our SVN repo.
2007-04-05 11:18:42 +00:00