]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/initscripts/initscripts_1.0.bb
base-files, initscripts: stop the populate-volatiles madness. reinstate populate...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / initscripts / initscripts_1.0.bb
1 DESCRIPTION = "SysV init scripts"
2 MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
3 SECTION = "base"
4 PRIORITY = "required"
5 DEPENDS = "makedevs"
6 DEPENDS_openzaurus = "makedevs virtual/kernel"
7 RDEPENDS = "makedevs"
8 LICENSE = "GPL"
9 PR = "r62"
10
11 SRC_URI = "file://halt \
12            file://ramdisk \
13            file://umountfs \
14            file://devices \
15            file://devpts.sh \
16            file://devpts \
17            file://hostname.sh \
18            file://mountall.sh \
19            file://banner \
20            file://finish \
21            file://bootmisc.sh \
22            file://mountnfs.sh \
23            file://reboot \
24            file://checkfs.sh \
25            file://single \
26            file://sendsigs \
27            file://urandom \
28            file://rmnologin \
29            file://checkroot.sh \
30            file://umountnfs.sh \
31            file://sysfs.sh \
32            file://device_table.txt \
33            file://populate-volatile.sh "
34
35 SRC_URI_append_arm          = " file://alignment.sh"
36 SRC_URI_append_openzaurus   = " file://checkversion"
37
38 def read_kernel_version(d):
39         import bb
40         distro = bb.data.getVar('DISTRO', d, 1)
41         filename = bb.data.getVar('STAGING_KERNEL_DIR', d, 1)
42         if distro == "openzaurus":
43                 return file( filename + "/kernel-abiversion", "r" ).read().strip()
44         else:
45                 return "not important"
46 KERNEL_VERSION = ""
47 KERNEL_VERSION_openzaurus = "${@read_kernel_version(d)}"
48 PACKAGE_ARCH_openzaurus = "${MACHINE_ARCH}"
49
50 do_install () {
51 #
52 # Create directories and install device independent scripts
53 #
54         install -d ${D}${sysconfdir}/init.d \
55                    ${D}${sysconfdir}/rcS.d \
56                    ${D}${sysconfdir}/rc0.d \
57                    ${D}${sysconfdir}/rc1.d \
58                    ${D}${sysconfdir}/rc2.d \
59                    ${D}${sysconfdir}/rc3.d \
60                    ${D}${sysconfdir}/rc4.d \
61                    ${D}${sysconfdir}/rc5.d \
62                    ${D}${sysconfdir}/rc6.d \
63                    ${D}${sysconfdir}/default \
64                    ${D}${sysconfdir}/default/volatiles
65
66         install -m 0755    ${WORKDIR}/bootmisc.sh       ${D}${sysconfdir}/init.d
67         install -m 0755    ${WORKDIR}/checkroot.sh      ${D}${sysconfdir}/init.d
68         install -m 0755    ${WORKDIR}/finish            ${D}${sysconfdir}/init.d
69         install -m 0755    ${WORKDIR}/halt              ${D}${sysconfdir}/init.d
70         install -m 0755    ${WORKDIR}/hostname.sh       ${D}${sysconfdir}/init.d
71         install -m 0755    ${WORKDIR}/mountall.sh       ${D}${sysconfdir}/init.d
72         install -m 0755    ${WORKDIR}/mountnfs.sh       ${D}${sysconfdir}/init.d
73         install -m 0755    ${WORKDIR}/ramdisk           ${D}${sysconfdir}/init.d
74         install -m 0755    ${WORKDIR}/reboot            ${D}${sysconfdir}/init.d
75         install -m 0755    ${WORKDIR}/rmnologin ${D}${sysconfdir}/init.d
76         install -m 0755    ${WORKDIR}/sendsigs          ${D}${sysconfdir}/init.d
77         install -m 0755    ${WORKDIR}/single            ${D}${sysconfdir}/init.d
78         install -m 0755    ${WORKDIR}/umountnfs.sh      ${D}${sysconfdir}/init.d
79         install -m 0755    ${WORKDIR}/urandom           ${D}${sysconfdir}/init.d
80         install -m 0755    ${WORKDIR}/devpts.sh ${D}${sysconfdir}/init.d
81         install -m 0755    ${WORKDIR}/devpts            ${D}${sysconfdir}/default
82         install -m 0755    ${WORKDIR}/sysfs.sh          ${D}${sysconfdir}/init.d
83         install -m 0755    ${WORKDIR}/populate-volatile.sh ${D}${sysconfdir}/init.d
84         if [ "${TARGET_ARCH}" = "arm" ]; then
85                 install -m 0755 ${WORKDIR}/alignment.sh ${D}${sysconfdir}/init.d
86         fi
87 #
88 # Install device dependent scripts
89 #
90
91         if [ "${DISTRO}" == "openzaurus" ]; then
92                 cat ${WORKDIR}/checkversion | sed -e "s,VERSION,${KERNEL_VERSION}-${DISTRO_VERSION}," > ${D}${sysconfdir}/init.d/checkversion
93                 chmod 0755      ${D}${sysconfdir}/init.d/checkversion
94                 ln -sf          ../init.d/checkversion  ${D}${sysconfdir}/rcS.d/S01version
95         fi
96
97         install -m 0755 ${WORKDIR}/banner       ${D}${sysconfdir}/init.d/banner
98         install -m 0755 ${WORKDIR}/devices      ${D}${sysconfdir}/init.d/devices
99         install -m 0755 ${WORKDIR}/umountfs     ${D}${sysconfdir}/init.d/umountfs
100 #
101 # Create runlevel links
102 #
103         ln -sf          ../init.d/rmnologin     ${D}${sysconfdir}/rc2.d/S99rmnologin
104         ln -sf          ../init.d/rmnologin     ${D}${sysconfdir}/rc3.d/S99rmnologin
105         ln -sf          ../init.d/rmnologin     ${D}${sysconfdir}/rc4.d/S99rmnologin
106         ln -sf          ../init.d/rmnologin     ${D}${sysconfdir}/rc5.d/S99rmnologin
107         ln -sf          ../init.d/sendsigs      ${D}${sysconfdir}/rc6.d/S20sendsigs
108 #       ln -sf          ../init.d/urandom       ${D}${sysconfdir}/rc6.d/S30urandom
109         ln -sf          ../init.d/umountnfs.sh  ${D}${sysconfdir}/rc6.d/S31umountnfs.sh
110         ln -sf          ../init.d/umountfs      ${D}${sysconfdir}/rc6.d/S40umountfs
111         ln -sf          ../init.d/ramdisk       ${D}${sysconfdir}/rcS.d/S30ramdisk 
112         ln -sf          ../init.d/reboot        ${D}${sysconfdir}/rc6.d/S90reboot
113         ln -sf          ../init.d/sendsigs      ${D}${sysconfdir}/rc0.d/S20sendsigs
114 #       ln -sf          ../init.d/urandom       ${D}${sysconfdir}/rc0.d/S30urandom
115         ln -sf          ../init.d/umountnfs.sh  ${D}${sysconfdir}/rc0.d/S31umountnfs.sh
116         ln -sf          ../init.d/umountfs      ${D}${sysconfdir}/rc0.d/S40umountfs
117         ln -sf          ../init.d/halt          ${D}${sysconfdir}/rc0.d/S90halt
118         ln -sf          ../init.d/banner        ${D}${sysconfdir}/rcS.d/S02banner
119         ln -sf          ../init.d/checkroot.sh  ${D}${sysconfdir}/rcS.d/S10checkroot.sh
120 #       ln -sf          ../init.d/checkfs.sh    ${D}${sysconfdir}/rcS.d/S30checkfs.sh
121         ln -sf          ../init.d/mountall.sh   ${D}${sysconfdir}/rcS.d/S35mountall.sh
122         ln -sf          ../init.d/hostname.sh   ${D}${sysconfdir}/rcS.d/S39hostname.sh
123         ln -sf          ../init.d/mountnfs.sh   ${D}${sysconfdir}/rcS.d/S45mountnfs.sh
124         ln -sf          ../init.d/bootmisc.sh   ${D}${sysconfdir}/rcS.d/S55bootmisc.sh
125 #       ln -sf          ../init.d/urandom       ${D}${sysconfdir}/rcS.d/S55urandom
126         ln -sf          ../init.d/finish        ${D}${sysconfdir}/rcS.d/S99finish
127         ln -sf          ../init.d/devices       ${D}${sysconfdir}/rcS.d/S05devices
128         # udev will run at S04 if installed
129         ln -sf          ../init.d/sysfs.sh      ${D}${sysconfdir}/rcS.d/S03sysfs
130         ln -sf          ../init.d/populate-volatile.sh  ${D}${sysconfdir}/rcS.d/S37populate-volatile.sh
131         ln -sf          ../init.d/devpts.sh     ${D}${sysconfdir}/rcS.d/S38devpts.sh
132         if [ "${TARGET_ARCH}" = "arm" ]; then
133                 ln -sf  ../init.d/alignment.sh  ${D}${sysconfdir}/rcS.d/S06alignment
134         fi
135
136         install -m 0755         ${WORKDIR}/device_table.txt             ${D}${sysconfdir}/device_table
137 }