xref: /OK3568_Linux_fs/yocto/meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd_1.7.6.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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