increase dvbapp PR.
[vuplus_openembedded] / recipes / slugos-init / slugos-init_0.10.bb
1 DESCRIPTION = "SlugOS initial network config via sysconf"
2 SECTION = "base"
3 PRIORITY = "required"
4 LICENSE = "GPL"
5 DEPENDS = "base-files devio"
6 RDEPENDS = "busybox devio"
7 PR = "r90"
8
9 SRC_URI = "file://boot/flash \
10            file://boot/disk \
11            file://boot/nfs \
12            file://boot/ram \
13            file://boot/kexec \
14            file://boot/network \
15            file://boot/udhcpc.script \
16            file://initscripts/fixfstab \
17            file://initscripts/syslog.buffer \
18            file://initscripts/syslog.file \
19            file://initscripts/syslog.network \
20            file://initscripts/zleds \
21            file://initscripts/leds_startup \
22            file://initscripts/rmrecovery \
23            file://initscripts/sysconfsetup \
24            file://initscripts/umountinitrd.sh \
25            file://initscripts/loadmodules.sh \
26            file://functions \
27            file://modulefunctions \
28            file://conffiles \
29            file://sysconf \
30            file://leds \
31            file://turnup \
32            file://reflash \
33            "
34
35 SBINPROGS = ""
36 USRSBINPROGS = ""
37 CPROGS = "${USRSBINPROGS} ${SBINPROGS}"
38 SCRIPTS = "turnup reflash leds sysconf"
39 BOOTSCRIPTS = "flash disk nfs ram kexec network udhcpc.script"
40 INITSCRIPTS = "syslog.buffer syslog.file syslog.network zleds\
41         leds_startup rmrecovery sysconfsetup umountinitrd.sh\
42         fixfstab loadmodules.sh"
43
44 # This just makes things easier...
45 S="${WORKDIR}"
46
47 do_compile() {
48         set -ex
49         for p in ${CPROGS}
50         do
51                 ${CC} ${CFLAGS} -o $p $p.c
52         done
53         set +ex
54 }
55
56 do_install() {
57         set -ex
58
59         # Directories
60         install -d ${D}${sysconfdir} \
61                    ${D}${sysconfdir}/default \
62                    ${D}${sysconfdir}/init.d \
63                    ${D}${sysconfdir}/modutils \
64                    ${D}${sysconfdir}/udev \
65                    ${D}${sbindir} \
66                    ${D}${base_sbindir} \
67                    ${D}/initrd \
68                    ${D}/boot
69
70         # linuxrc
71         rm -f ${D}/linuxrc
72         ln -s boot/flash ${D}/linuxrc
73
74         # C programs
75         for p in ${USRSBINPROGS}
76         do
77                 install -m 0755 $p ${D}${sbindir}/$p
78         done
79         for p in ${SBINPROGS}
80         do
81                 install -m 0755 $p ${D}${base_sbindir}/$p
82         done
83
84         # Shell scripts
85         for p in ${SCRIPTS}
86         do
87                 install -m 0755 $p ${D}${base_sbindir}/$p
88         done
89
90         #
91         # Init scripts
92         install -m 0644 functions ${D}${sysconfdir}/default
93         install -m 0644 modulefunctions ${D}${sysconfdir}/default
94         for s in ${INITSCRIPTS}
95         do
96                 install -m 0755 initscripts/$s ${D}${sysconfdir}/init.d/
97         done
98
99         #
100         # Boot scripts
101         for p in ${BOOTSCRIPTS}
102         do
103                 install -m 0755 boot/$p ${D}/boot
104         done
105
106         # Configuration files
107         install -m 0644 conffiles ${D}${sysconfdir}/default
108
109         set +ex
110 }
111
112 # If the package is installed on an NSLU2 $D will be empty, in that
113 # case it is normal to run 'start' and 'stop', but because the conf
114 # files installed don't actually start or stop anything this is
115 # unnecessary, so the package postfoo handling is simplified here.
116 #NB: do not use '08' (etc) for the first argument after start/stop,
117 # the value is interpreted as an octal number if there is a leading
118 # zero.
119 pkg_postinst_slugos-init() {
120         opt=
121         test -n "$D" && opt="-r $D"
122         update-rc.d $opt hwclock.sh             start  8 S . start 45 0 6 .
123         update-rc.d $opt umountinitrd.sh        start  9 S .
124         update-rc.d $opt fixfstab               start 10 S .
125         update-rc.d $opt syslog.buffer          start 11 S . start 49 0 6 .
126         update-rc.d $opt sysconfsetup           start 12 S .
127         update-rc.d $opt loadmodules.sh         start 21 S .
128         update-rc.d $opt syslog.file            start 39 S . start 47 0 6 .
129         update-rc.d $opt syslog.network         start 44 S . start 39 0 6 .
130         update-rc.d $opt zleds                  start 99 S 1 2 3 4 5 . start 89 0 6 . stop  5 0 1 2 3 4 5 6 .
131         update-rc.d $opt rmrecovery             start 99 1 2 3 4 5 .
132         # bug fix for startup
133         update-rc.d $opt leds_startup           start  1 1 2 3 4 5 .
134 }
135
136 pkg_postrm_slugos-init() {
137         opt=
138         test -n "$D" && opt="-r $D"
139         for s in ${INITSCRIPTS}
140         do
141                 update-rc.d $opt "$s" remove
142         done
143 }
144
145 FILES_${PN} = "/"
146
147 # It is bad to overwrite /linuxrc as it puts the system back to
148 # a flash boot (and the flash has potentially not been upgraded!)
149 CONFFILES_${PN} = "/linuxrc ${sysconfdir}/default/conffiles"