/[baselayout]/trunk/src/runscript.c
Gentoo

Log of /trunk/src/runscript.c

Parent Directory Parent Directory | Revision Log Revision Log



Revision 3007 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 8 11:07:39 2007 UTC (6 years, 10 months ago) by uberlord
File length: 33983 byte(s)
Diff to previous 3001
Move rc_env_filter and rc_env_config out of librc and into rc

Revision 3001 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 5 11:04:49 2007 UTC (6 years, 10 months ago) by uberlord
File length: 33989 byte(s)
Diff to previous 2981
Punt rc_waitpid

Revision 2981 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 3 14:48:50 2007 UTC (6 years, 10 months ago) by uberlord
File length: 33718 byte(s)
Diff to previous 2977
rc_make_env -> rc_env_config, rc_filter_env -> rc_env_filter

Revision 2977 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 3 14:18:52 2007 UTC (6 years, 10 months ago) by uberlord
File length: 33715 byte(s)
Diff to previous 2967
rc_schedule_clear -> rc_service_schedule_clear, rc_schedule_start_service -> rc_service_schedule_start

Revision 2967 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 2 09:57:23 2007 UTC (6 years, 10 months ago) by uberlord
File length: 33715 byte(s)
Diff to previous 2960
rc_allow_plug -> rc_service_plugable

Revision 2960 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Sep 29 17:03:38 2007 UTC (6 years, 10 months ago) by uberlord
File length: 33709 byte(s)
Diff to previous 2958
rc_wait_service -> rc_service_wait

Revision 2958 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Sep 29 16:54:58 2007 UTC (6 years, 10 months ago) by uberlord
File length: 33709 byte(s)
Diff to previous 2957
Rationalise more functions into rc_service_

Revision 2957 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Sep 29 16:42:08 2007 UTC (6 years, 10 months ago) by uberlord
File length: 33709 byte(s)
Diff to previous 2956
librc no longer uses libeinfo. deptree function names are now all under rc_deptree_

Revision 2956 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Sep 29 10:17:28 2007 UTC (6 years, 10 months ago) by uberlord
File length: 33670 byte(s)
Diff to previous 2954
Ensure reading the console still works in parallel startup

Revision 2954 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 28 15:04:15 2007 UTC (6 years, 10 months ago) by uberlord
File length: 33665 byte(s)
Diff to previous 2953
Crashed is not a baselayout state as such

Revision 2953 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 28 14:53:38 2007 UTC (6 years, 10 months ago) by uberlord
File length: 33630 byte(s)
Diff to previous 2950
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.


Revision 2950 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 28 12:29:23 2007 UTC (6 years, 10 months ago) by uberlord
File length: 34194 byte(s)
Diff to previous 2936
enums are now fixed to specific values and are in UPPER CASE.

Revision 2936 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 26 07:05:33 2007 UTC (6 years, 10 months ago) by uberlord
File length: 34310 byte(s)
Diff to previous 2935
rc_is_env is now rc_env_bool and just works with boolean values.

Revision 2935 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 25 23:17:25 2007 UTC (6 years, 10 months ago) by vapier
File length: 34360 byte(s)
Diff to previous 2928
unify verbose/quiet handling

Revision 2928 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 25 17:30:07 2007 UTC (6 years, 10 months ago) by uberlord
File length: 34578 byte(s)
Diff to previous 2927
Revert last patch

Revision 2927 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 25 17:19:02 2007 UTC (6 years, 10 months ago) by uberlord
File length: 34991 byte(s)
Diff to previous 2923
We no longer use bool in our public headers, using int instead.

Revision 2923 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 25 16:21:38 2007 UTC (6 years, 10 months ago) by vapier
File length: 34578 byte(s)
Diff to previous 2921
Add support for describing the options in the C programs.

Revision 2921 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 25 15:38:21 2007 UTC (6 years, 10 months ago) by uberlord
File length: 34483 byte(s)
Diff to previous 2904
Initial doxygen documentation for rc.h and einfo.h. Plus some header clean ups.

Revision 2904 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 21 08:49:43 2007 UTC (6 years, 11 months ago) by uberlord
File length: 34451 byte(s)
Diff to previous 2889
    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.

Revision 2889 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 18 15:43:19 2007 UTC (6 years, 11 months ago) by uberlord
File length: 34864 byte(s)
Diff to previous 2886
Don't be an ass - don't free the 2nd list. Instead just empty it.

Revision 2886 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 18 14:08:56 2007 UTC (6 years, 11 months ago) by uberlord
File length: 34797 byte(s)
Diff to previous 2885
Match the recent api change to rc_strlist_join also. We now free the 2nd list for ease of use.

Revision 2885 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 18 12:20:55 2007 UTC (6 years, 11 months ago) by uberlord
File length: 34802 byte(s)
Diff to previous 2882
API change! rc_config_env is renamed to rc_make_env and takes no argument.

Revision 2882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 18 11:36:55 2007 UTC (6 years, 11 months ago) by uberlord
File length: 34784 byte(s)
Diff to previous 2855
    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);

Revision 2855 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 28 13:06:44 2007 UTC (6 years, 11 months ago) by uberlord
File length: 34725 byte(s)
Diff to previous 2842
Undocument pause action, fix --nodeps and --ifstarted, #190045.

Revision 2842 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 17 13:23:43 2007 UTC (7 years ago) by uberlord
File length: 34585 byte(s)
Diff to previous 2839
Mark the right service as failed and only output a new line if we outputted anything at all for /etc/init.d/foo needsme

Revision 2839 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 17 11:31:36 2007 UTC (7 years ago) by uberlord
File length: 34563 byte(s)
Diff to previous 2828
When shutting down, stop the service even if dependants failed.

Revision 2828 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 9 14:33:20 2007 UTC (7 years ago) by uberlord
File length: 34290 byte(s)
Diff to previous 2823
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.

Revision 2823 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 8 03:07:42 2007 UTC (7 years ago) by uberlord
File length: 34256 byte(s)
Diff to previous 2818
Plug a leek for non selinux linux systems

Revision 2818 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 7 20:23:38 2007 UTC (7 years ago) by uberlord
File length: 34369 byte(s)
Diff to previous 2799
More pppd fixes

Revision 2799 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 31 16:05:56 2007 UTC (7 years ago) by uberlord
File length: 34393 byte(s)
Diff to previous 2786
    All our binaries are now mulicalls into rc, which makes our on disk size
    a lot smaller.

Revision 2786 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jul 21 12:49:51 2007 UTC (7 years, 1 month ago) by uberlord
File length: 34366 byte(s)
Diff to previous 2770
    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.

Revision 2770 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 11 14:28:54 2007 UTC (7 years, 1 month ago) by uberlord
File length: 34104 byte(s)
Diff to previous 2768
Fix restarting services with plugins

Revision 2768 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 11 12:06:37 2007 UTC (7 years, 1 month ago) by uberlord
File length: 34205 byte(s)
Diff to previous 2765
Punt the dodgy ebuffer code. We now force prefixing for parallel starts which also reduces our variable pollution.

Revision 2765 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 10 20:11:42 2007 UTC (7 years, 1 month ago) by uberlord
File length: 34878 byte(s)
Diff to previous 2763
Allow non root users to describe

Revision 2763 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 10 19:09:41 2007 UTC (7 years, 1 month ago) by uberlord
File length: 34797 byte(s)
Diff to previous 2762
init scripts and their extra options can now have descriptions, #184327.

Revision 2762 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 10 15:26:49 2007 UTC (7 years, 1 month ago) by uberlord
File length: 34528 byte(s)
Diff to previous 2750
Support /etc/init.d/foo ineed and friends again.

Revision 2750 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 6 17:07:29 2007 UTC (7 years, 1 month ago) by uberlord
File length: 33804 byte(s)
Diff to previous 2749
Of course, glibc does not have strlcpy

Revision 2749 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 6 15:50:40 2007 UTC (7 years, 1 month ago) by uberlord
File length: 33801 byte(s)
Diff to previous 2744
Make the prefix length dynamic

Revision 2744 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 4 16:02:01 2007 UTC (7 years, 1 month ago) by uberlord
File length: 33628 byte(s)
Diff to previous 2743
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.

Revision 2743 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 4 14:56:59 2007 UTC (7 years, 1 month ago) by uberlord
File length: 33569 byte(s)
Diff to previous 2741
We need the full path to the service before chdir /

Revision 2741 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 3 08:38:27 2007 UTC (7 years, 1 month ago) by uberlord
File length: 33303 byte(s)
Diff to previous 2740
We still need to wait for services we need/use

Revision 2740 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 2 22:07:58 2007 UTC (7 years, 1 month ago) by uberlord
File length: 33029 byte(s)
Diff to previous 2738
Don't wait for services that were inactive, #183667 thanks to Daniel Drake

Revision 2738 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 2 19:57:18 2007 UTC (7 years, 1 month ago) by uberlord
File length: 32829 byte(s)
Diff to previous 2731
Fix error and only let root run init commands except for status and help

Revision 2731 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 26 08:47:46 2007 UTC (7 years, 1 month ago) by uberlord
File length: 32631 byte(s)
Diff to previous 2706
Change pwd to / for all init scripts, #181224.

Revision 2706 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 15 15:56:35 2007 UTC (7 years, 3 months ago) by uberlord
File length: 32543 byte(s)
Diff to previous 2704
/etc/conf.d/rc.$runlevel now works, #177869.

Revision 2704 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 14 19:50:13 2007 UTC (7 years, 3 months ago) by uberlord
File length: 32542 byte(s)
Diff to previous 2703
Implement FreeBSD's dlfunc function to avoid ISO warnings on dlsym - thanks to drizztbsd for find public domain code :)

Revision 2703 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 14 17:05:55 2007 UTC (7 years, 3 months ago) by uberlord
File length: 32540 byte(s)
Diff to previous 2698
Use correct function casts. Use dlfunc where available to remove ISO warnings :)

Revision 2698 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 14 12:24:18 2007 UTC (7 years, 3 months ago) by uberlord
File length: 32498 byte(s)
Diff to previous 2669
    Allow time for pidfiles to be created, #178274.
    Use int instead of char for getopt, #178084 thanks to drizztbsd.

Revision 2669 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 30 13:18:42 2007 UTC (7 years, 3 months ago) by uberlord
File length: 32491 byte(s)
Diff to previous 2666
restart/schedule stopped services when the trigger service goes inactive on a restart

Revision 2666 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 30 09:06:17 2007 UTC (7 years, 3 months ago) by uberlord
File length: 32531 byte(s)
Diff to previous 2659
    /etc/init.d/foo start and stop no longer exit when service is fully
    started or stopped, #176452.

Revision 2659 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 26 11:24:07 2007 UTC (7 years, 3 months ago) by uberlord
File length: 32505 byte(s)
Diff to previous 2657
Set fonts in init-early.sh, don't stop services twice when shutting down and lock prefixed output.

Revision 2657 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 25 18:12:49 2007 UTC (7 years, 3 months ago) by uberlord
File length: 31975 byte(s)
Diff to previous 2652
Don't abort select when on signals

Revision 2652 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 25 12:30:24 2007 UTC (7 years, 3 months ago) by uberlord
File length: 31966 byte(s)
Diff to previous 2650
    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.

Revision 2650 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 24 11:29:19 2007 UTC (7 years, 3 months ago) by uberlord
File length: 28541 byte(s)
Diff to previous 2642
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.

Revision 2642 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 20 19:03:56 2007 UTC (7 years, 4 months ago) by uberlord
File length: 28504 byte(s)
Diff to previous 2641
Style fixes

Revision 2641 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 20 18:58:42 2007 UTC (7 years, 4 months ago) by uberlord
File length: 28506 byte(s)
Diff to previous 2638
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.

Revision 2638 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 20 13:12:21 2007 UTC (7 years, 4 months ago) by uberlord
File length: 28325 byte(s)
Diff to previous 2634
Added the rc-abort command, #175106 thanks to Daniel Drake.

Revision 2634 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 19 14:54:35 2007 UTC (7 years, 4 months ago) by uberlord
File length: 28539 byte(s)
Diff to previous 2618
strdup -> rc_xstrdup

Revision 2618 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 17 12:44:32 2007 UTC (7 years, 4 months ago) by vapier
File length: 28572 byte(s)
Diff to previous 2582
start unifying help handling

Revision 2582 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 12 13:18:52 2007 UTC (7 years, 4 months ago) by uberlord
File length: 28500 byte(s)
Diff to previous 2581
Style updates

Revision 2581 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 12 10:40:51 2007 UTC (7 years, 4 months ago) by uberlord
File length: 28470 byte(s)
Diff to previous 2580
Fix getopt a little

Revision 2580 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 12 10:08:42 2007 UTC (7 years, 4 months ago) by uberlord
File length: 28371 byte(s)
Diff to previous 2578
Hug getopt_long even though it's not POSIX. start-stop-daemon has always required this and all our supported platforms have it.

Revision 2578 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 11 14:52:13 2007 UTC (7 years, 4 months ago) by uberlord
File length: 28739 byte(s)
Diff to previous 2577
Fix hotplugging of network cards

Revision 2577 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 11 12:44:47 2007 UTC (7 years, 4 months ago) by uberlord
File length: 28621 byte(s)
Diff to previous 2573
Cuddle up to LKML C style

Revision 2573 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 11 07:15:02 2007 UTC (7 years, 4 months ago) by uberlord
File length: 32615 byte(s)
Diff to previous 2571
Add new service hooks, remove pmake stuff from our Makefile and fix rc_services_in_state for scheduled.

Revision 2571 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 10 14:03:37 2007 UTC (7 years, 4 months ago) by uberlord
File length: 32206 byte(s)
Diff to previous 2569
int -> time_t

Revision 2569 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 10 11:24:58 2007 UTC (7 years, 4 months ago) by uberlord
File length: 32203 byte(s)
Diff to previous 2567
Fix indentation

Revision 2567 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 10 10:33:44 2007 UTC (7 years, 4 months ago) by uberlord
File length: 29679 byte(s)
Diff to previous 2563
Misc network fixes so we work on my stable server. Splash plugin removed as splashtuils-1.4 now ships with its own.

Revision 2563 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 9 16:53:21 2007 UTC (7 years, 4 months ago) by uberlord
File length: 29679 byte(s)
Diff to previous 2560
Use names instead of numbers for reporting signals and trap signals in rc

Revision 2560 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Apr 8 16:03:48 2007 UTC (7 years, 4 months ago) by uberlord
File length: 29426 byte(s)
Diff to previous 2555
LIBDIR -> LIB. When interuppted, ensure service state is restored correctly. When stopping, don't uncoldplug too early.

Revision 2555 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 6 23:04:38 2007 UTC (7 years, 4 months ago) by uberlord
File length: 29286 byte(s)
Diff to previous 2550
Remove this until we can make it work properly - ie not hangup when cable goes in/out

Revision 2550 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 6 01:04:07 2007 UTC (7 years, 4 months ago) by uberlord
File length: 29385 byte(s)
Diff to previous 2549
Misc fixes, plugged a memory leak in runscript.c and use va_copy to avoid nasty segfaults

Revision 2549 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 5 15:01:09 2007 UTC (7 years, 4 months ago) by uberlord
File length: 29382 byte(s)
Diff to previous 2547
We now compile on OpenBSD (no idea if it works or not yet)

Revision 2547 - (view) (download) (as text) (annotate) - [select for diffs]
Added Thu Apr 5 11:18:42 2007 UTC (7 years, 4 months ago) by uberlord
File length: 29258 byte(s)
    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.

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.

  Diffs between and
  Type of Diff should be a

Sticky Revision:
(Current path doesn't exist after revision 3108)

  ViewVC Help
Powered by ViewVC 1.1.20