1*4882a593SmuzhiyunSUMMARY = "A simple daemon to allow session software to update firmware" 2*4882a593SmuzhiyunLICENSE = "LGPL-2.1-or-later" 3*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunDEPENDS = "glib-2.0 libxmlb json-glib sqlite3 libjcat gcab vala-native" 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunSRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \ 8*4882a593Smuzhiyun file://run-ptest" 9*4882a593SmuzhiyunSRC_URI[sha256sum] = "7ebe1514acb688d2649cecc392db929094da3f03cfc98a9c0faccabb084912fa" 10*4882a593Smuzhiyun 11*4882a593SmuzhiyunUPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun# Machine-specific as we examine MACHINE_FEATURES to decide whether to build the UEFI plugins 14*4882a593SmuzhiyunPACKAGE_ARCH = "${MACHINE_ARCH}" 15*4882a593Smuzhiyun 16*4882a593Smuzhiyuninherit meson vala gobject-introspection systemd bash-completion pkgconfig gi-docgen ptest manpages 17*4882a593Smuzhiyun 18*4882a593SmuzhiyunGIDOCGEN_MESON_OPTION = 'docs' 19*4882a593SmuzhiyunGIDOCGEN_MESON_ENABLE_FLAG = 'docgen' 20*4882a593SmuzhiyunGIDOCGEN_MESON_DISABLE_FLAG = 'none' 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunPACKAGECONFIG ??= "curl gnutls gudev gusb \ 23*4882a593Smuzhiyun ${@bb.utils.filter('DISTRO_FEATURES', 'bluetooth polkit', d)} \ 24*4882a593Smuzhiyun ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd offline', '', d)} \ 25*4882a593Smuzhiyun ${@bb.utils.contains('MACHINE_FEATURES', 'efi', 'plugin_uefi_capsule plugin_uefi_pk', '', d)} \ 26*4882a593Smuzhiyun ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests plugin_dummy', '', d)} \ 27*4882a593Smuzhiyun hsi \ 28*4882a593Smuzhiyun plugin_acpi_phat \ 29*4882a593Smuzhiyun plugin_amt \ 30*4882a593Smuzhiyun plugin_bcm57xx \ 31*4882a593Smuzhiyun plugin_emmc \ 32*4882a593Smuzhiyun plugin_ep963x \ 33*4882a593Smuzhiyun plugin_fastboot \ 34*4882a593Smuzhiyun plugin_flashrom \ 35*4882a593Smuzhiyun plugin_gpio \ 36*4882a593Smuzhiyun plugin_intel_spi \ 37*4882a593Smuzhiyun plugin_logitech_bulkcontroller \ 38*4882a593Smuzhiyun plugin_modem_manager \ 39*4882a593Smuzhiyun plugin_msr \ 40*4882a593Smuzhiyun plugin_nitrokey \ 41*4882a593Smuzhiyun plugin_nvme \ 42*4882a593Smuzhiyun plugin_parade_lspcon \ 43*4882a593Smuzhiyun plugin_pixart_rf \ 44*4882a593Smuzhiyun plugin_platform_integrity \ 45*4882a593Smuzhiyun plugin_realtek_mst \ 46*4882a593Smuzhiyun plugin_redfish \ 47*4882a593Smuzhiyun plugin_synaptics_mst \ 48*4882a593Smuzhiyun plugin_synaptics_rmi \ 49*4882a593Smuzhiyun plugin_scsi \ 50*4882a593Smuzhiyun plugin_thunderbolt \ 51*4882a593Smuzhiyun plugin_uf2 \ 52*4882a593Smuzhiyun plugin_upower \ 53*4882a593Smuzhiyun sqlite" 54*4882a593Smuzhiyun 55*4882a593SmuzhiyunPACKAGECONFIG[bluetooth] = "-Dbluez=true,-Dbluez=false" 56*4882a593SmuzhiyunPACKAGECONFIG[compat-cli] = "-Dcompat_cli=true,-Dcompat_cli=false" 57*4882a593SmuzhiyunPACKAGECONFIG[consolekit] = "-Dconsolekit=true,-Dconsolekit=false,consolekit" 58*4882a593SmuzhiyunPACKAGECONFIG[curl] = "-Dcurl=true,-Dcurl=false,curl" 59*4882a593SmuzhiyunPACKAGECONFIG[firmware-packager] = "-Dfirmware-packager=true,-Dfirmware-packager=false" 60*4882a593SmuzhiyunPACKAGECONFIG[fish-completion] = "-Dfish_completion=true,-Dfish_completion=false" 61*4882a593SmuzhiyunPACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls" 62*4882a593SmuzhiyunPACKAGECONFIG[gudev] = "-Dgudev=true,-Dgudev=false,libgudev" 63*4882a593SmuzhiyunPACKAGECONFIG[gusb] = "-Dgusb=true,-Dgusb=false,libgusb" 64*4882a593SmuzhiyunPACKAGECONFIG[hsi] = "-Dhsi=true,-Dhsi=false" 65*4882a593SmuzhiyunPACKAGECONFIG[libarchive] = "-Dlibarchive=true,-Dlibarchive=false,libarchive" 66*4882a593SmuzhiyunPACKAGECONFIG[manpages] = "-Dman=true,-Dman=false" 67*4882a593SmuzhiyunPACKAGECONFIG[metainfo] = "-Dmetainfo=true,-Dmetainfo=false" 68*4882a593SmuzhiyunPACKAGECONFIG[offline] = "-Doffline=true,-Doffline=false" 69*4882a593SmuzhiyunPACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false,polkit" 70*4882a593SmuzhiyunPACKAGECONFIG[sqlite] = "-Dsqlite=true,-Dsqlite=false,sqlite3" 71*4882a593SmuzhiyunPACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd" 72*4882a593SmuzhiyunPACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,gcab-native" 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun# TODO plugins-all meta-option that expands to all plugin_*? 76*4882a593SmuzhiyunPACKAGECONFIG[plugin_acpi_phat] = "-Dplugin_acpi_phat=true,-Dplugin_acpi_phat=false" 77*4882a593SmuzhiyunPACKAGECONFIG[plugin_amt] = "-Dplugin_amt=true,-Dplugin_amt=false" 78*4882a593SmuzhiyunPACKAGECONFIG[plugin_bcm57xx] = "-Dplugin_bcm57xx=true,-Dplugin_bcm57xx=false" 79*4882a593SmuzhiyunPACKAGECONFIG[plugin_cfu] = "-Dplugin_cfu=true,-Dplugin_cfu=false" 80*4882a593SmuzhiyunPACKAGECONFIG[plugin_dell] = "-Dplugin_dell=true,-Dplugin_dell=false,libsmbios" 81*4882a593SmuzhiyunPACKAGECONFIG[plugin_dummy] = "-Dplugin_dummy=true,-Dplugin_dummy=false" 82*4882a593SmuzhiyunPACKAGECONFIG[plugin_emmc] = "-Dplugin_emmc=true,-Dplugin_emmc=false" 83*4882a593SmuzhiyunPACKAGECONFIG[plugin_ep963x] = "-Dplugin_ep963x=true,-Dplugin_ep963x=false" 84*4882a593SmuzhiyunPACKAGECONFIG[plugin_fastboot] = "-Dplugin_fastboot=true,-Dplugin_fastboot=false" 85*4882a593SmuzhiyunPACKAGECONFIG[plugin_flashrom] = "-Dplugin_flashrom=true,-Dplugin_flashrom=false,flashrom" 86*4882a593SmuzhiyunPACKAGECONFIG[plugin_gpio] = "-Dplugin_gpio=true,-Dplugin_gpio" 87*4882a593SmuzhiyunPACKAGECONFIG[plugin_intel_spi] = "-Dplugin_intel_spi=true -Dlzma=true,-Dplugin_intel_spi=false -Dlzma=false,xz" 88*4882a593SmuzhiyunPACKAGECONFIG[plugin_logitech_bulkcontroller] = "-Dplugin_logitech_bulkcontroller=true,-Dplugin_logitech_bulkcontroller=false,protobuf-c-native protobuf-c" 89*4882a593SmuzhiyunPACKAGECONFIG[plugin_modem_manager] = "-Dplugin_modem_manager=true,-Dplugin_modem_manager=false,libqmi modemmanager" 90*4882a593SmuzhiyunPACKAGECONFIG[plugin_msr] = "-Dplugin_msr=true,-Dplugin_msr=false,cpuid" 91*4882a593SmuzhiyunPACKAGECONFIG[plugin_nitrokey] = "-Dplugin_nitrokey=true,-Dplugin_nitrokey=false" 92*4882a593SmuzhiyunPACKAGECONFIG[plugin_nvme] = "-Dplugin_nvme=true,-Dplugin_nvme=false" 93*4882a593SmuzhiyunPACKAGECONFIG[plugin_parade_lspcon] = "-Dplugin_parade_lspcon=true,-Dplugin_parade_lspcon=false" 94*4882a593SmuzhiyunPACKAGECONFIG[plugin_pixart_rf] = "-Dplugin_pixart_rf=true,-Dplugin_pixart_rf=false" 95*4882a593SmuzhiyunPACKAGECONFIG[plugin_platform_integrity] = "-Dplugin_platform_integrity=true,-Dplugin_platform_integrity=false" 96*4882a593SmuzhiyunPACKAGECONFIG[plugin_powerd] = "-Dplugin_powerd=true,-Dplugin_powerd=false" 97*4882a593SmuzhiyunPACKAGECONFIG[plugin_realtek_mst] = "-Dplugin_realtek_mst=true,-Dplugin_realtek_mst=false" 98*4882a593SmuzhiyunPACKAGECONFIG[plugin_redfish] = "-Dplugin_redfish=true,-Dplugin_redfish=false" 99*4882a593SmuzhiyunPACKAGECONFIG[plugin_scsi] = "-Dplugin_scsi=true,-Dplugin_scsi=false" 100*4882a593SmuzhiyunPACKAGECONFIG[plugin_synaptics_mst] = "-Dplugin_synaptics_mst=true,-Dplugin_synaptics_mst=false" 101*4882a593SmuzhiyunPACKAGECONFIG[plugin_synaptics_rmi] = "-Dplugin_synaptics_rmi=true,-Dplugin_synaptics_rmi=false" 102*4882a593SmuzhiyunPACKAGECONFIG[plugin_thunderbolt] = "-Dplugin_thunderbolt=true,-Dplugin_thunderbolt=false" 103*4882a593SmuzhiyunPACKAGECONFIG[plugin_tpm] = "-Dplugin_tpm=true,-Dplugin_tpm=false,tpm2-tss" 104*4882a593Smuzhiyun# Turn off the capsule splash as it needs G-I at buildtime, which isn't currently supported 105*4882a593SmuzhiyunPACKAGECONFIG[plugin_uefi_capsule] = "-Dplugin_uefi_capsule=true -Dplugin_uefi_capsule_splash=false,-Dplugin_uefi_capsule=false,efivar fwupd-efi" 106*4882a593SmuzhiyunPACKAGECONFIG[plugin_uefi_pk] = "-Dplugin_uefi_pk=true,-Dplugin_uefi_pk=false" 107*4882a593SmuzhiyunPACKAGECONFIG[plugin_uf2] = "-Dplugin_uf2=true,-Dplugin_uf2=false" 108*4882a593SmuzhiyunPACKAGECONFIG[plugin_upower] = "-Dplugin_upower=true,-Dplugin_upower=false" 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun# Always disable these plugins on non-x86 platforms as they don't compile or are useless 111*4882a593SmuzhiyunDISABLE_NON_X86 = "plugin_amt plugin_intel_spi plugin_msr plugin_thunderbolt" 112*4882a593SmuzhiyunDISABLE_NON_X86:x86 = "" 113*4882a593SmuzhiyunDISABLE_NON_X86:x86-64 = "" 114*4882a593SmuzhiyunPACKAGECONFIG:remove = "${DISABLE_NON_X86}" 115*4882a593Smuzhiyun 116*4882a593SmuzhiyunFILES:${PN} += "${libdir}/fwupd-plugins-* \ 117*4882a593Smuzhiyun ${systemd_unitdir} \ 118*4882a593Smuzhiyun ${datadir}/fish \ 119*4882a593Smuzhiyun ${datadir}/metainfo \ 120*4882a593Smuzhiyun ${datadir}/icons \ 121*4882a593Smuzhiyun ${datadir}/dbus-1 \ 122*4882a593Smuzhiyun ${datadir}/polkit-1 \ 123*4882a593Smuzhiyun ${nonarch_libdir}/modules-load.d" 124*4882a593Smuzhiyun 125*4882a593SmuzhiyunFILES:${PN}-ptest += "${libexecdir}/installed-tests/ \ 126*4882a593Smuzhiyun ${datadir}/installed-tests/" 127*4882a593SmuzhiyunRDEPENDS:${PN}-ptest += "gnome-desktop-testing" 128