Here is the content of bbappend recipe for base-files recipe: FILESEXTRAPATHS_append := "${THISDIR}/${PN}"
SRC_URI += "file://fstab-flash \ file://fstab-regular \ " PACKAGES += " ${PN}-flash ${PN}-regular" CONFFILES_${PN}-flash = "${CONFFILES_${PN}}" CONFFILES_${PN}-regular = "${CONFFILES_${PN}}" pkg_preinst_${PN}-flash = "${pkg_preinst_${PN}}" pkg_preinst_${PN}-regular = "${pkg_preinst_${PN}}" RREPLACES_${PN}-flash = "${PN}" RPROVIDES_${PN}-flash = "${PN}" RCONFLICTS_${PN}-flash = "${PN}" RREPLACES_${PN}-regular = "${PN}" RPROVIDES_${PN}-regular = "${PN}" RCONFLICTS_${PN}-regular = "${PN}" python populate_packages_prepend() { import shutil packages = ("${PN}-flash", "${PN}-regular") for package in packages: # copy ${PN} content to packages shutil.copytree("${PKGD}", "${PKGDEST}/%s" % package, symlinks=True) # replace fstab if package == "${PN}-flash": shutil.copy("${WORKDIR}/fstab-flash", "${PKGDEST}/${PN}-flash/etc/fstab") else: shutil.copy("${WORKDIR}/fstab-regular", "${PKGDEST}/${PN}-regular/etc/fstab") } This will produce two separate packages that will replace base-files package. Moreover, this trick allows You to modify base-files package separately for flash-OS and regular-OS in other recipes add packages like this: base-files-flash or base-files-regular Thanks, Oleksandr Poznyak! On Wed, Jun 1, 2016 at 7:15 PM, Diego <diego...@zoho.com> wrote: > In data mercoledì 1 giugno 2016 15:25:09, Oleksandr Poznyak ha scritto: > > Don't forget to add your fstab/inittab files into CONFFILES_${PN} cause > if > > the package that includes them will be changed and You'll update it via > > package system, your POSTPROCESS hacks will be overwritten. > > > > Anyway, its better to avoid POSTPROCESS if possible. > > 1) Create *.bbappend recipe base-files_%s.bbappend in your layer. It > > appends to poky "base-files" recipe. > > 2) Create your own "python do_package_prepend" function where you should > > make your recipe produce two different packages > > 3) Add them to DEPENDS in your image recipe > > > > Hi Oleksandr, > > your approach is really interesting, but I'm unsure how to proceed with > step > 2) of your list. > > I've added the following in the bbappend: > > python do_package_prepend() { > d.setVar('PACKAGES', "${PACKAGES} ${PN}-fstab-regular > ${PN}-fstab-flash") > } > > which creates the two additional packages, but then I'm confused on how to > manage the two 'variant' fstab files. The FILES variable doesn't support > "source -> destination", so how do I manage the fact that two different > files > need to go to the same destination path? > > An easier option would be to remove fstab in the base-files_%s.bbappend, > and > create 2 different .bb recipes for the 2 fstab files. > > Thanks anyhow for your help, > Diego > >
-- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto