diff options
Diffstat (limited to 'packages/foonas-init/foonas-init_0.10.bb')
-rw-r--r-- | packages/foonas-init/foonas-init_0.10.bb | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/packages/foonas-init/foonas-init_0.10.bb b/packages/foonas-init/foonas-init_0.10.bb new file mode 100644 index 0000000000..80166793a5 --- /dev/null +++ b/packages/foonas-init/foonas-init_0.10.bb @@ -0,0 +1,144 @@ +DESCRIPTION = "FooNAS initial boot and config" +SECTION = "base" +PRIORITY = "required" +LICENSE = "GPL" +DEPENDS = "base-files devio" +RDEPENDS = "busybox devio" +PR = "r0" + +SRC_URI = "file://boot/flash \ + file://boot/disk \ + file://boot/nfs \ + file://boot/network \ + file://boot/udhcpc.script \ + file://initscripts/fixfstab \ + file://initscripts/syslog.buffer \ + file://initscripts/syslog.file \ + file://initscripts/syslog.network \ + file://initscripts/rmrecovery \ + file://initscripts/sysconfsetup \ + file://initscripts/umountinitrd.sh \ + file://initscripts/loadmodules.sh \ + file://functions \ + file://modulefunctions \ + file://conffiles \ + file://sysconf \ + file://turnup \ + file://reflash \ + file://links.conf \ + " + +SBINPROGS = "" +USRSBINPROGS = "" +CPROGS = "${USRSBINPROGS} ${SBINPROGS}" +SCRIPTS = "turnup reflash sysconf" +BOOTSCRIPTS = "flash disk nfs network udhcpc.script" +INITSCRIPTS = "syslog.buffer syslog.file syslog.network \ + rmrecovery sysconfsetup umountinitrd.sh \ + fixfstab loadmodules.sh" + +# This just makes things easier... + +S="${WORKDIR}" + +do_compile() { + set -ex + for p in ${CPROGS} + do + ${CC} ${CFLAGS} -o $p $p.c + done + set +ex +} + +do_install() { + set -ex + + # Directories + install -d ${D}${sysconfdir} \ + ${D}${sysconfdir}/default \ + ${D}${sysconfdir}/init.d \ + ${D}${sysconfdir}/modutils \ + ${D}${sysconfdir}/udev \ + ${D}${sbindir} \ + ${D}${base_sbindir} \ + ${D}/initrd \ + ${D}/boot + + # linuxrc + rm -f ${D}/linuxrc + ln -s boot/flash ${D}/linuxrc + + # C programs + for p in ${USRSBINPROGS} + do + install -m 0755 $p ${D}${sbindir}/$p + done + for p in ${SBINPROGS} + do + install -m 0755 $p ${D}${base_sbindir}/$p + done + + # Shell scripts + for p in ${SCRIPTS} + do + install -m 0755 $p ${D}${base_sbindir}/$p + done + + # + # Init scripts + install -m 0644 functions ${D}${sysconfdir}/default + install -m 0644 modulefunctions ${D}${sysconfdir}/default + for s in ${INITSCRIPTS} + do + install -m 0755 initscripts/$s ${D}${sysconfdir}/init.d/ + done + + # + # Udev configuration files + install -m 0644 links.conf ${D}${sysconfdir}/udev + + # + # Boot scripts + for p in ${BOOTSCRIPTS} + do + install -m 0755 boot/$p ${D}/boot + done + + # Configuration files + install -m 0644 conffiles ${D}${sysconfdir}/default + + set +ex +} + +# NB: do not use '08' (etc) for the first argument after start/stop, +# the value is interpreted as an octal number if there is a leading +# zero. +pkg_postinst_foonas-init() { + opt= + test -n "$D" && opt="-r $D" + update-rc.d $opt hwclock.sh start 8 S . start 45 0 6 . + update-rc.d $opt umountinitrd.sh start 9 S . + update-rc.d $opt fixfstab start 10 S . + update-rc.d $opt syslog.buffer start 11 S . start 49 0 6 . + update-rc.d $opt sysconfsetup start 12 S . + update-rc.d $opt loadmodules.sh start 21 S . + update-rc.d $opt syslog.file start 39 S . start 47 0 6 . + update-rc.d $opt syslog.network start 44 S . start 39 0 6 . + update-rc.d $opt rmrecovery start 99 1 2 3 4 5 . +} + +pkg_postrm_foonas-init() { + opt= + test -n "$D" && opt="-r $D" + for s in ${INITSCRIPTS} + do + update-rc.d $opt "$s" remove + done +} + +PACKAGES = "${PN}" +FILES_${PN} = "/" + +# It is bad to overwrite /linuxrc as it puts the system back to +# a flash boot (and the flash has potentially not been upgraded!) +CONFFILES_${PN} = "/linuxrc ${sysconfdir}/default/conffiles" |