All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Lucius <incnews@jenslucius.de>
To: "yocto@yoctoproject.org" <yocto@yoctoproject.org>
Subject: Re: How do I create a recipe for laying down post-build config files?
Date: Tue, 10 Jun 2014 10:30:39 +0200	[thread overview]
Message-ID: <5396C22F.2040204@jenslucius.de> (raw)
In-Reply-To: <86196249137E0843B2E0673D4F731E0CAB521799@reactor.sldomain.com>

[-- Attachment #1: Type: text/plain, Size: 4701 bytes --]

Hi

I am using a very minimal .bb for this.

DESCRIPTION = "Install additional files"
LICENSE = "CLOSED"
SECTION = "base"
PR = "r0"

SRC_URI = "file://autoinstaller.sh"

S = "${WORKDIR}"

do_install () {
     install -d ${D}/usr/bin
     install -m 755 ${S}/autoinstaller.sh ${D}/usr/bin
}

Am 09.06.2014 23:44, schrieb Jim Rafert:
> I'm trying to gather all my post-build tweaks into a recipe that will 
> be built as part of an upper-level layer, so that they are installed 
> after the meta layer is processed.  Many of these could be 
> accomplished as part of .bbappend files for the recipes that 
> originally supply the config files, but I wanted to gather all my 
> customizations in one spot, so that they're easy to find.
>
> The recipe doesn't actually build anything, so there's no do_build task.
>
> This is surely something that is commonly wanted.
>
> Here's my current recipe, in spectra-postbuild_0.1.bb.
>
> When I try to build an image, the build fails with
> ERROR: QA Issue: spectra-postbuild: Files/directories were installed 
> but not shipped
>   /RELEASE-NOTES.txt
>
> When I disable the installed-vs-shipped QA test,  it fails later when 
> it can't find a package file.
>
> I must be missing something critical here?
> SUMMARY = "Post processing of configuration files for SpectraOS"
> SECTION = "base"
> LICENSE = "GPLv2"
> LIC_FILES_CHKSUM = 
> "file://${WORKDIR}/COPYRIGHT;md5=349c872e0066155e1818b786938876a4"
> RDEPENDS_${PN} = "initscripts"
> PR = "r0"
>
> SRC_URI = "file://inittab \
>        file://fstab \
>        file://rsyslog.conf \
>        file://grub.cfg \
>        file://mount.sh \
>        file://RELEASE-NOTES.txt \
>        file://Spectra-OS-Version \
>        file://initializeCustomKernelModules \
>        file://firewall \
>        file://sysctl.conf \
>        file://COPYRIGHT \
>        "
>
> CONFFILES_${PN} += "${sysconfdir}/init.d/firewall "
> CONFFILES_${PN} += "${sysconfdir}/init.d/initializeCustomKernelModules "
> FILES_${PN} =  "/RELEASE_NOTES.txt /Spectra-OS-Version "
>
> #INSANE_SKIP_${PN} = "installed-vs-shipped"
>
> do_install () {
>     install -m 755 ${WORKDIR}/RELEASE-NOTES.txt ${D}
>     install -m 755 ${WORKDIR}/Spectra-OS-Version ${D}
> }
>
> pkg_postinst_${PN} () {
>     install -d ${D}${sysconfdir}/init.d
>     install -d ${D}${sbindir}
>
>     #Install our inittab and fstab
>     echo Install our inittab and fstab
>     install -m 544 ${WORKDIR}/inittab ${D}/etc/inittab
>     install -m 755 ${WORKDIR}/fstab ${D}/etc/fstab
>     install -m 755 ${WORKDIR}/rsyslog.conf ${D}/etc/rsyslog.conf
>     mkdir -p ${D}/boot/grub
>     install -m 755 ${WORKDIR}/grub.cfg ${D}/boot/grub/grub.cfg
>         install -d ${D}/etc/udev/scripts
>     install -m 755 ${WORKDIR}/mount.sh ${D}/etc/udev/scripts/mount.sh
>     chmod 755 ${D}/etc/udev/scripts/mount.sh
>     install -m 755 ${WORKDIR}/RELEASE-NOTES.txt ${D}
>     install -m 755 ${WORKDIR}/Spectra-OS-Version ${D}
>
>     #Remove unneeded services from startup
>     echo Remove unneeded services from startup
>     rm ${D}/etc/rc5.d/S20nfsserver
>     rm ${D}/etc/rc5.d/S20syslog
>     rm ${D}/etc/rc5.d/S70lighttpd
>
>     #Add /dev/sdd to the auto mount blacklist
>     chmod 777 ${D}/etc/udev/mount.blacklist
>     echo "/dev/sda*" >> ${D}/etc/udev/mount.blacklist
>     echo "/dev/sdd*" >> ${D}/etc/udev/mount.blacklist
>     echo "/dev/sde*" >> ${D}/etc/udev/mount.blacklist
>     chmod 644 ${D}/etc/udev/mount.blacklist
>
>     #Remove /var/log link to /var/volatile/log, persist log.
>     rm ${D}/var/log
>     mkdir ${D}/var/log
>     mv ${D}/etc/default/volatiles/00_core 
> ${D}/etc/default/volatiles/00_core.orig
>     grep -v volatile/log ${D}/etc/default/volatiles/00_core.orig |  
> tee ${D}/etc/default/volatiles/00_core >/dev/null
>     rm ${D}/etc/default/volatiles/00_core.orig
>
>     #Create directory for SCST
>     mkdir -p ${D}/var/lib/scst/pr
>     mkdir -p ${D}/usr/local/bin
>     mkdir -p ${D}/etc/logrotate.d
>     #Install drivers load script
>     echo Install drivers load script
>     install -m 755 ${WORKDIR}initializeCustomKernelModules ${D}/etc/init.d
>     ln -s ${D}/etc/init.d/initializeCustomKernelModules 
> ${D}/etc/rc5.d/S70initializeCustomKernelModules
>     echo Install firewall configuration boot script
>     install -m 755 ${WORKDIR}firewall ${D}/etc/init.d
>     chmod +x ${D}/etc/init.d/firewall
>     ln -s ${D}/etc/init.d/firewall ${D}/etc/rc5.d/S80firewall
>     #copy config change for console log level
>     install -m 755 ${WORKDIR}sysctl.conf ${D}/etc/sysctl.conf
> }
>
>
>
>


[-- Attachment #2: Type: text/html, Size: 8954 bytes --]

  reply	other threads:[~2014-06-10  8:30 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-09 21:44 How do I create a recipe for laying down post-build config files? Jim Rafert
2014-06-10  8:30 ` Jens Lucius [this message]
2014-06-10  8:53 ` Paul Eggleton
2014-06-10  8:58 ` Alex J Lennon
2014-06-11 15:04   ` Jim Rafert
2014-06-10 15:02 ` Maxim Radugin
2014-06-13 22:02 ` Jim Rafert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5396C22F.2040204@jenslucius.de \
    --to=incnews@jenslucius.de \
    --cc=yocto@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.