Parent Directory | Revision Log
malloc over fatty buffers
malloc data size, not pointer size
Don't run the done hook twice
We should only have one block of code that restores state
Improve applet help a little. Also, if mountinfo as any mounts given, work explictly with --netdev/--nonetdev
Foo, should be a mask
Ensure that runscript returns 0 when service is started
Quiet some compile time warnings on uclibc
Wups, should be xstrdup
Punt rc_ from xstrdup, xalloc, xrealloc and exists as they're not in librc anymore
Move rc_env_filter and rc_env_config out of librc and into rc
rc_make_env -> rc_env_config, rc_filter_env -> rc_env_filter
rc_schedule_clear -> rc_service_schedule_clear, rc_schedule_start_service -> rc_service_schedule_start
rc_allow_plug -> rc_service_plugable
rc_wait_service -> rc_service_wait
Rationalise more functions into rc_service_
librc no longer uses libeinfo. deptree function names are now all under rc_deptree_
Ensure reading the console still works in parallel startup
Crashed is not a baselayout state as such
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.
enums are now fixed to specific values and are in UPPER CASE.
rc_is_env is now rc_env_bool and just works with boolean values.
unify verbose/quiet handling
Revert last patch
We no longer use bool in our public headers, using int instead.
Add support for describing the options in the C programs.
Initial doxygen documentation for rc.h and einfo.h. Plus some header clean ups.
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.
Don't be an ass - don't free the 2nd list. Instead just empty it.
Match the recent api change to rc_strlist_join also. We now free the 2nd list for ease of use.
API change! rc_config_env is renamed to rc_make_env and takes no argument.
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);
Undocument pause action, fix --nodeps and --ifstarted, #190045.
Mark the right service as failed and only output a new line if we outputted anything at all for /etc/init.d/foo needsme
When shutting down, stop the service even if dependants failed.
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.
Plug a leek for non selinux linux systems
More pppd fixes
All our binaries are now mulicalls into rc, which makes our on disk size a lot smaller.
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.
Fix restarting services with plugins
Punt the dodgy ebuffer code. We now force prefixing for parallel starts which also reduces our variable pollution.
Allow non root users to describe
init scripts and their extra options can now have descriptions, #184327.
Support /etc/init.d/foo ineed and friends again.
Of course, glibc does not have strlcpy
Make the prefix length dynamic
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.
We need the full path to the service before chdir /
We still need to wait for services we need/use
Don't wait for services that were inactive, #183667 thanks to Daniel Drake
Fix error and only let root run init commands except for status and help
Change pwd to / for all init scripts, #181224.
/etc/conf.d/rc.$runlevel now works, #177869.
Implement FreeBSD's dlfunc function to avoid ISO warnings on dlsym - thanks to drizztbsd for find public domain code :)
Use correct function casts. Use dlfunc where available to remove ISO warnings :)
Allow time for pidfiles to be created, #178274. Use int instead of char for getopt, #178084 thanks to drizztbsd.
restart/schedule stopped services when the trigger service goes inactive on a restart
/etc/init.d/foo start and stop no longer exit when service is fully started or stopped, #176452.
Set fonts in init-early.sh, don't stop services twice when shutting down and lock prefixed output.
Don't abort select when on signals
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.
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.
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.
Added the rc-abort command, #175106 thanks to Daniel Drake.
strdup -> rc_xstrdup
start unifying help handling
Fix getopt a little
Hug getopt_long even though it's not POSIX. start-stop-daemon has always required this and all our supported platforms have it.
Fix hotplugging of network cards
Cuddle up to LKML C style
Add new service hooks, remove pmake stuff from our Makefile and fix rc_services_in_state for scheduled.
int -> time_t
Misc network fixes so we work on my stable server. Splash plugin removed as splashtuils-1.4 now ships with its own.
Use names instead of numbers for reporting signals and trap signals in rc
LIBDIR -> LIB. When interuppted, ensure service state is restored correctly. When stopping, don't uncoldplug too early.
Remove this until we can make it work properly - ie not hangup when cable goes in/out
Misc fixes, plugged a memory leak in runscript.c and use va_copy to avoid nasty segfaults
We now compile on OpenBSD (no idea if it works or not yet)
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="22.214.171.124/24 126.96.36.199/16" or like so config_eth0="'188.8.131.52 netmask 255.255.255.0' '184.108.40.206 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.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
|Powered by ViewVC 1.1.20|