[poky] V2 [PATCH 0/3] Add meta-skeleton and a skeleton for init scripts

Robert Yang liezhi.yang at windriver.com
Mon May 16 19:12:53 PDT 2011


On 05/17/2011 01:46 AM, Darren Hart wrote:
>
>
> On 05/16/2011 08:18 AM, Robert Yang wrote:
>> Changes of V2:
>>    * Add the definition of actions to the comment area in skeleton
>>    * Implement try-restart and force-reload according to their definitions
>>    * Replace start-stop-daemon with "exec $DAEMON ..." to make it more easier
>>      to control the output message, so that we would not depend on the output
>>      of start-stop-daemon
>
>
> What was the motivation for this change? We don't want to veer to far
> from what people are accustomed to using as this will increase the
> amount of work to maintain the initscripts that we reuse from packages.
>

Hi Darren,

Thank you for your detailed review, the disadvantages of use start-stop-daemon:
1) The different version of start-stop-daemon output different messages, for
    example, the output in yocto is different from Ubuntu 10.10.

2) Its output is not uniform, for example:
    - If the daemon is running and do_start:
      $DAEMON already running.
      $PID
    - If the daemon is running and do_stop:
      Stopped $NAME ($PID).
    - If the daemon is not running and do_stop:
      No $NAME found running; none killed.

    We can see that it uses either $DAEMON(e.g., /usr/sbin/skeleton) or
    $NAME(e.g., skeleton). If we want to use start-stop-daemon, we have two
    solutions:
    - Patch start_stop_daemon.c in busybox, but other programs may depend on
      the output of start-stop-daemon.
    - Use awk, sed and pipe(|) to format its output, but as Richard suggested
      that we should try to avoid the fork.

3) While I'm looking into start_stop_daemon.c, it ran "exec ( ... )"  and
    "kill ( ... )" when start and stop a daemon after some additional checks,
    not all these checks are needed by us for we are in embedded systems. So
    use "exec" and "kill" is faster than start-stop-daemon.

I think that a better solution is do much work on start_stop_daemon.c, so
that we can have our start-stop-daemon, maybe we can do it on another case?

Thanks
// Robert

>
>>    * Output simple and uniform messages
>
>
> While I support this (and asked for it), if we have to rewrite more or
> less standard infrastructure to do it, then we probably should just live
> with it.
>
> Thoughts?
>
>
>>    * Move the function pidofproc () to ${sysconfdir}/init.d/functions and
>>      declare that it can't get the pid of a script unless pidof supports "-x".
>>    * Add /usr/sbin/skeleton-test to make /etc/init.d/skeleton can be run by
>>      default.
>>
>> Pull URL: git://git.pokylinux.org/poky-contrib.git
>>    Branch: robert/init_scripts
>>    Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=robert/init_scripts
>
>
> Thanks Robert, some more comments inline with the patches.
>
> --
> Darren
>
>>
>> Thanks,
>>      Robert Yang<liezhi.yang at windriver.com>
>> ---
>>
>>
>> Robert Yang (3):
>>    Add the layer meta-skeleton
>>    Add pidofproc to ${sysconfdir}/init.d/functions
>>    Add a skeleton for init scripts
>>
>>   meta-skeleton/conf/layer.conf                      |   10 +
>>   .../recipes-skeleton/service/service/COPYRIGHT     |   15 ++
>>   .../recipes-skeleton/service/service/skeleton      |  193 ++++++++++++++++++++
>>   .../service/service/skeleton_test.c                |   11 +
>>   .../recipes-skeleton/service/service_0.1.bb        |   32 ++++
>>   .../initscripts/initscripts-1.0/functions          |   32 +++-
>>   6 files changed, 291 insertions(+), 2 deletions(-)
>>   create mode 100644 meta-skeleton/conf/layer.conf
>>   create mode 100644 meta-skeleton/recipes-skeleton/service/service/COPYRIGHT
>>   create mode 100644 meta-skeleton/recipes-skeleton/service/service/skeleton
>>   create mode 100644 meta-skeleton/recipes-skeleton/service/service/skeleton_test.c
>>   create mode 100644 meta-skeleton/recipes-skeleton/service/service_0.1.bb
>>
>



More information about the poky mailing list