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