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 }
-- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto