aboutsummaryrefslogtreecommitdiffstats
path: root/meta-skeleton/recipes-skeleton/service/service_0.1.bb
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2011-05-16 21:57:21 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-05-18 14:22:53 +0100
commitc1b6f840ad7c483e905f9a19eb2b5a8eac0b9973 (patch)
tree0f1b4440544388aa59bfe2d040ec05b9f87c515a /meta-skeleton/recipes-skeleton/service/service_0.1.bb
parent114a11628fb04c30cc96c9fd23db7a7fbc4fd02e (diff)
downloadopenembedded-core-contrib-c1b6f840ad7c483e905f9a19eb2b5a8eac0b9973.tar.gz
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) Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Diffstat (limited to 'meta-skeleton/recipes-skeleton/service/service_0.1.bb')
-rw-r--r--meta-skeleton/recipes-skeleton/service/service_0.1.bb32
1 files changed, 32 insertions, 0 deletions
diff --git a/meta-skeleton/recipes-skeleton/service/service_0.1.bb b/meta-skeleton/recipes-skeleton/service/service_0.1.bb
new file mode 100644
index 0000000000..22137a5e57
--- /dev/null
+++ b/meta-skeleton/recipes-skeleton/service/service_0.1.bb
@@ -0,0 +1,32 @@
+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}/
+}
+