diff options
Diffstat (limited to 'meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb')
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb | 135 |
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 @@ | |||
1 | DESCRIPTION = "System-V like init." | ||
2 | HOMEPAGE = "http://savannah.nongnu.org/projects/sysvinit/" | ||
3 | SECTION = "base" | ||
4 | LICENSE = "GPLv2+" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ | ||
6 | file://COPYRIGHT;endline=15;md5=349c872e0066155e1818b786938876a4" | ||
7 | PR = "r1" | ||
8 | |||
9 | # USE_VT and SERIAL_CONSOLE are generally defined by the MACHINE .conf. | ||
10 | # Set PACKAGE_ARCH appropriately. | ||
11 | PACKAGE_ARCH_${PN}-inittab = "${MACHINE_ARCH}" | ||
12 | |||
13 | RDEPENDS_${PN} = "${PN}-inittab" | ||
14 | |||
15 | PACKAGES =+ "bootlogd ${PN}-inittab" | ||
16 | FILES_bootlogd = "/etc/init.d/bootlogd /etc/init.d/stop-bootlogd /etc/rc?.d/S*bootlogd /sbin/bootlogd" | ||
17 | FILES_${PN}-inittab = "${sysconfdir}/inittab" | ||
18 | CONFFILES_${PN}-inittab = "${sysconfdir}/inittab" | ||
19 | |||
20 | USE_VT ?= "1" | ||
21 | SYSVINIT_ENABLED_GETTYS ?= "1" | ||
22 | |||
23 | SRC_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 | |||
34 | S = "${WORKDIR}/sysvinit-${PV}" | ||
35 | B = "${S}/src" | ||
36 | |||
37 | inherit update-alternatives | ||
38 | |||
39 | ALTERNATIVE_NAME = "init" | ||
40 | ALTERNATIVE_LINK = "${base_sbindir}/init" | ||
41 | ALTERNATIVE_PATH = "${base_sbindir}/init.sysvinit" | ||
42 | ALTERNATIVE_PRIORITY = "50" | ||
43 | |||
44 | PACKAGES =+ "sysvinit-pidof sysvinit-sulogin" | ||
45 | FILES_${PN} += "${base_sbindir}/* ${base_bindir}/*" | ||
46 | FILES_sysvinit-pidof = "${base_bindir}/pidof.sysvinit" | ||
47 | FILES_sysvinit-sulogin = "${base_sbindir}/sulogin" | ||
48 | |||
49 | CFLAGS_prepend = "-D_GNU_SOURCE " | ||
50 | export LCRYPT = "-lcrypt" | ||
51 | EXTRA_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 | |||
59 | do_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 | |||
79 | EOF | ||
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 | |||
109 | pkg_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 | |||
119 | pkg_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 | |||
129 | pkg_postinst_sysvinit-pidof () { | ||
130 | update-alternatives --install ${base_bindir}/pidof pidof pidof.${PN} 200 | ||
131 | } | ||
132 | |||
133 | pkg_prerm_sysvinit-pidof () { | ||
134 | update-alternatives --remove pidof pidof.${PN} | ||
135 | } | ||