xref: /OK3568_Linux_fs/yocto/poky/meta/classes/rootfs_rpm.bbclass (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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