1# 2# Creates a root filesystem out of rpm packages 3# 4 5ROOTFS_PKGMANAGE = "rpm dnf" 6 7# dnf is using our custom sysconfig module, and so will fail without these 8export STAGING_INCDIR 9export STAGING_LIBDIR 10 11# Add 100Meg of extra space for dnf 12IMAGE_ROOTFS_EXTRA_SPACE:append = "${@bb.utils.contains("PACKAGE_INSTALL", "dnf", " + 102400", "", d)}" 13 14# Dnf is python based, so be sure python3-native is available to us. 15EXTRANATIVEPATH += "python3-native" 16 17# opkg is needed for update-alternatives 18RPMROOTFSDEPENDS = "rpm-native:do_populate_sysroot \ 19 dnf-native:do_populate_sysroot \ 20 createrepo-c-native:do_populate_sysroot \ 21 opkg-native:do_populate_sysroot" 22 23do_rootfs[depends] += "${RPMROOTFSDEPENDS}" 24do_populate_sdk[depends] += "${RPMROOTFSDEPENDS}" 25 26do_rootfs[recrdeptask] += "do_package_write_rpm do_package_qa" 27do_rootfs[vardeps] += "PACKAGE_FEED_URIS PACKAGE_FEED_BASE_PATHS PACKAGE_FEED_ARCHS" 28 29python () { 30 if d.getVar('BUILD_IMAGES_FROM_FEEDS'): 31 flags = d.getVarFlag('do_rootfs', 'recrdeptask') 32 flags = flags.replace("do_package_write_rpm", "") 33 flags = flags.replace("do_deploy", "") 34 flags = flags.replace("do_populate_sysroot", "") 35 d.setVarFlag('do_rootfs', 'recrdeptask', flags) 36 d.setVar('RPM_PREPROCESS_COMMANDS', '') 37 d.setVar('RPM_POSTPROCESS_COMMANDS', '') 38 39} 40