generic-poky/meta-skeleton/recipes-skeleton/service/service_0.1.bb
Robert Yang ffef4dad89 Add a skeleton for init scripts
Add a skeleton for init scripts, the original structure is from
/etc/init.d/skeleton of Ubuntu 10.10, it is in sysvinit_2.87dsf, so add
the COPYRIGHT(GPLv2) of sysvinit_2.87dsf. Modified the original skeleton
a lot to make it as easy as possible, just use posix shell command, and
have tested it with core-image-minimal.

* The skeleton implements the following actions:
  - start, stop, restart, status, try-restart and force-reload.
    # force-reload is a alias of try-restart.

  - not implements reload, since only a few programs have it, just leave
    it as placeholder.

* Add /usr/sbin/skeleton-test to test /etc/init.d/skeleton

* The /etc/init.d/skeleton can be run and output the example messages:
  1) #./skeleton start (test start)
     Starting skeleton ...

  2) #./skeleton start (test start again when running)
     skeleton already running (1078).

  3) #./skeleton status (test status when running)
     skeleton is running (1078).

  4) #./skeleton stop (test stop)
     Stopped skeleton (1078).

  5) #./skeleton stop (test stop again)
     skeleton is not running; none killed.

  6) #./skeleton status (test status when stopped)
     skeleton is not running.

  7) #./skeleton restart (test restart when running)
     Stopped skeleton (1128).
     Starting skeleton ...

  8) #./skeleton restart (test restart when stopped)
     skeleton is not running; none killed.
     Starting skeleton ...

  9)  try-restart (or force-reload) means restart the service if the
      service is already running

     #./skeleton try-restart (test try-restart when stopped)
     skeleton is not running; none killed.

     #./skeleton try-restart (test try-restart when running)
      Stopped skeleton (1181).
      Starting skeleton ...

* Have used syslogd to test it in a real world(with both
  core-image-minimal and core-image-sato)

(From OE-Core rev: c1b6f840ad7c483e905f9a19eb2b5a8eac0b9973)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-18 14:32:45 +01:00

33 lines
874 B
BlitzBasic

DESCRIPTION = "The canonical example of init scripts"
SECTION = "base"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${WORKDIR}/COPYRIGHT;md5=349c872e0066155e1818b786938876a4"
RDEPENDS_${PN} = "initscripts"
PR = "r0"
SRC_URI = "file://skeleton \
file://skeleton_test.c \
file://COPYRIGHT \
"
CONFFILES_${PN} += "${sysconfdir}/init.d/skeleton"
do_compile () {
${CC} ${WORKDIR}/skeleton_test.c -o ${WORKDIR}/skeleton-test
}
do_install () {
install -d ${D}${sysconfdir}/init.d
cat ${WORKDIR}/skeleton | \
sed -e 's,/etc,${sysconfdir},g' \
-e 's,/usr/sbin,${sbindir},g' \
-e 's,/var,${localstatedir},g' \
-e 's,/usr/bin,${bindir},g' \
-e 's,/usr,${prefix},g' > ${D}${sysconfdir}/init.d/skeleton
chmod a+x ${D}${sysconfdir}/init.d/skeleton
install -d ${D}${sbindir}
install -m 0755 ${WORKDIR}/skeleton-test ${D}${sbindir}/
}