summaryrefslogtreecommitdiffstats
path: root/meta/packages/sysvinit/sysvinit_2.86.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/sysvinit/sysvinit_2.86.bb')
-rw-r--r--meta/packages/sysvinit/sysvinit_2.86.bb130
1 files changed, 130 insertions, 0 deletions
diff --git a/meta/packages/sysvinit/sysvinit_2.86.bb b/meta/packages/sysvinit/sysvinit_2.86.bb
new file mode 100644
index 0000000000..e2124c7fe9
--- /dev/null
+++ b/meta/packages/sysvinit/sysvinit_2.86.bb
@@ -0,0 +1,130 @@
1DESCRIPTION = "System-V like init."
2SECTION = "base"
3LICENSE = "GPL"
4MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
5HOMEPAGE = "http://freshmeat.net/projects/sysvinit/"
6PR = "r24"
7
8# USE_VT and SERIAL_CONSOLE are generally defined by the MACHINE .conf.
9# Set PACKAGE_ARCH appropriately.
10PACKAGE_ARCH_${PN}-inittab = "${MACHINE_ARCH}"
11
12RDEPENDS_${PN} = "${PN}-inittab"
13
14PACKAGES =+ "bootlogd ${PN}-inittab"
15FILES_bootlogd = "/etc/init.d/bootlogd /etc/init.d/stop-bootlogd /etc/rc?.d/S*bootlogd /sbin/bootlogd"
16FILES_${PN}-inittab = "${sysconfdir}/inittab"
17CONFFILES_${PN}-inittab = "${sysconfdir}/inittab"
18
19USE_VT ?= "1"
20SYSVINIT_ENABLED_GETTYS ?= "1"
21
22SRC_URI = "ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/sysvinit-${PV}.tar.gz \
23 file://install.patch;patch=1 \
24 file://need \
25 file://provide \
26 file://inittab \
27 file://rcS-default \
28 file://rc \
29 file://rcS \
30 file://bootlogd.init"
31
32S = "${WORKDIR}/sysvinit-${PV}"
33B = "${S}/src"
34
35inherit update-alternatives
36
37ALTERNATIVE_NAME = "init"
38ALTERNATIVE_LINK = "${base_sbindir}/init"
39ALTERNATIVE_PATH = "${base_sbindir}/init.sysvinit"
40ALTERNATIVE_PRIORITY = "50"
41
42PACKAGES =+ "sysvinit-pidof sysvinit-sulogin"
43FILES_${PN} += "${base_sbindir} ${base_bindir}"
44FILES_sysvinit-pidof = "${base_bindir}/pidof.sysvinit"
45FILES_sysvinit-sulogin = "${base_sbindir}/sulogin"
46
47CFLAGS_prepend = "-D_GNU_SOURCE "
48export LCRYPT = "-lcrypt"
49EXTRA_OEMAKE += "'INSTALL=install' \
50 'bindir=${base_bindir}' \
51 'sbindir=${base_sbindir}' \
52 'usrbindir=${bindir}' \
53 'usrsbindir=${sbindir}' \
54 'includedir=${includedir}' \
55 'mandir=${mandir}'"
56
57do_install () {
58 oe_runmake 'ROOT=${D}' install
59 install -d ${D}${sysconfdir} \
60 ${D}${sysconfdir}/default \
61 ${D}${sysconfdir}/init.d
62 install -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab
63 if [ ! -z "${SERIAL_CONSOLE}" ]; then
64 echo "S:2345:respawn:${base_sbindir}/getty ${SERIAL_CONSOLE}" >> ${D}${sysconfdir}/inittab
65 fi
66 if [ "${USE_VT}" == "1" ]; then
67 cat <<EOF >>${D}${sysconfdir}/inittab
68# ${base_sbindir}/getty invocations for the runlevels.
69#
70# The "id" field MUST be the same as the last
71# characters of the device (after "tty").
72#
73# Format:
74# <id>:<runlevels>:<action>:<process>
75#
76
77EOF
78
79 for n in ${SYSVINIT_ENABLED_GETTYS}
80 do
81 echo "$n:2345:respawn:${base_sbindir}/getty 38400 tty$n" >> ${D}${sysconfdir}/inittab
82 done
83 echo "" >> ${D}${sysconfdir}/inittab
84 fi
85 install -m 0644 ${WORKDIR}/rcS-default ${D}${sysconfdir}/default/rcS
86 install -m 0755 ${WORKDIR}/rc ${D}${sysconfdir}/init.d
87 install -m 0755 ${WORKDIR}/rcS ${D}${sysconfdir}/init.d
88 install -m 0755 ${WORKDIR}/bootlogd.init ${D}${sysconfdir}/init.d/bootlogd
89 ln -sf bootlogd ${D}${sysconfdir}/init.d/stop-bootlogd
90 install -d ${D}${sysconfdir}/rcS.d
91 ln -sf ../init.d/bootlogd ${D}${sysconfdir}/rcS.d/S07bootlogd
92 for level in 2 3 4 5; do
93 install -d ${D}${sysconfdir}/rc$level.d
94 ln -s ../init.d/stop-bootlogd ${D}${sysconfdir}/rc$level.d/S99stop-bootlogd
95 done
96 mv ${D}${base_sbindir}/init ${D}${base_sbindir}/init.${PN}
97 mv ${D}${base_bindir}/pidof ${D}${base_bindir}/pidof.${PN}
98 mv ${D}${base_sbindir}/halt ${D}${base_sbindir}/halt.${PN}
99 mv ${D}${base_sbindir}/reboot ${D}${base_sbindir}/reboot.${PN}
100 mv ${D}${base_sbindir}/shutdown ${D}${base_sbindir}/shutdown.${PN}
101 mv ${D}${bindir}/last ${D}${bindir}/last.${PN}
102 mv ${D}${bindir}/mesg ${D}${bindir}/mesg.${PN}
103 mv ${D}${bindir}/wall ${D}${bindir}/wall.${PN}
104}
105
106pkg_postinst_${PN} () {
107 update-alternatives --install ${base_sbindir}/halt halt halt.${PN} 200
108 update-alternatives --install ${base_sbindir}/reboot reboot reboot.${PN} 200
109 update-alternatives --install ${base_sbindir}/shutdown shutdown shutdown.${PN} 200
110 update-alternatives --install ${bindir}/last last last.${PN} 200
111 update-alternatives --install ${bindir}/mesg mesg mesg.${PN} 200
112 update-alternatives --install ${bindir}/wall wall wall.${PN} 200
113}
114
115pkg_prerm_${PN} () {
116 update-alternatives --remove halt halt.${PN}
117 update-alternatives --remove reboot reboot.${PN}
118 update-alternatives --remove shutdown shutdown.${PN}
119 update-alternatives --remove last last.${PN}
120 update-alternatives --remove mesg mesg.${PN}
121 update-alternatives --remove wall wall.${PN}
122}
123
124pkg_postinst_sysvinit-pidof () {
125 update-alternatives --install ${base_bindir}/pidof pidof pidof.${PN} 200
126}
127
128pkg_prerm_sysvinit-pidof () {
129 update-alternatives --remove pidof pidof.${PN}
130}