blob: 0f889ca8fc8e7e122e836bccb4b561e6598cda23 [file] [log] [blame]
Andrew Geissler9aee5002022-03-30 16:27:02 +00001SUMMARY = "A simple daemon to allow session software to update firmware"
2LICENSE = "LGPL-2.1-or-later"
3LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
4
Andrew Geissler87f5cff2022-09-30 13:13:31 -05005DEPENDS = "glib-2.0 libxmlb json-glib libjcat gcab vala-native"
Andrew Geissler9aee5002022-03-30 16:27:02 +00006
Andrew Geissler9aee5002022-03-30 16:27:02 +00007SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \
8 file://run-ptest"
Andrew Geisslerc5535c92023-01-27 16:10:19 -06009SRC_URI[sha256sum] = "719a791ac4ba5988aeb93ec42778bd65d33cb075d0c093b5c04e5e1682be528a"
Andrew Geissler9aee5002022-03-30 16:27:02 +000010
11UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
12
13# Machine-specific as we examine MACHINE_FEATURES to decide whether to build the UEFI plugins
14PACKAGE_ARCH = "${MACHINE_ARCH}"
15
16inherit meson vala gobject-introspection systemd bash-completion pkgconfig gi-docgen ptest manpages
17
18GIDOCGEN_MESON_OPTION = 'docs'
19GIDOCGEN_MESON_ENABLE_FLAG = 'docgen'
Andrew Geisslerc5535c92023-01-27 16:10:19 -060020GIDOCGEN_MESON_DISABLE_FLAG = 'disabled'
Andrew Geissler9aee5002022-03-30 16:27:02 +000021
22PACKAGECONFIG ??= "curl gnutls gudev gusb \
23 ${@bb.utils.filter('DISTRO_FEATURES', 'bluetooth polkit', d)} \
24 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd offline', '', d)} \
25 ${@bb.utils.contains('MACHINE_FEATURES', 'efi', 'plugin_uefi_capsule plugin_uefi_pk', '', d)} \
26 ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests plugin_dummy', '', d)} \
27 hsi \
Andrew Geisslerc5535c92023-01-27 16:10:19 -060028 plugin_android_boot \
Andrew Geissler9aee5002022-03-30 16:27:02 +000029 plugin_acpi_phat \
Andrew Geissler9aee5002022-03-30 16:27:02 +000030 plugin_bcm57xx \
31 plugin_emmc \
32 plugin_ep963x \
33 plugin_fastboot \
34 plugin_flashrom \
35 plugin_gpio \
Andrew Geisslerc5535c92023-01-27 16:10:19 -060036 plugin_igsc \
37 plugin_intel_me \
Andrew Geissler9aee5002022-03-30 16:27:02 +000038 plugin_intel_spi \
39 plugin_logitech_bulkcontroller \
Andrew Geisslerc5535c92023-01-27 16:10:19 -060040 plugin_logitech_scribe \
Andrew Geissler9aee5002022-03-30 16:27:02 +000041 plugin_modem_manager \
42 plugin_msr \
43 plugin_nitrokey \
44 plugin_nvme \
45 plugin_parade_lspcon \
46 plugin_pixart_rf \
Andrew Geissler9aee5002022-03-30 16:27:02 +000047 plugin_realtek_mst \
48 plugin_redfish \
49 plugin_synaptics_mst \
50 plugin_synaptics_rmi \
51 plugin_scsi \
Andrew Geissler9aee5002022-03-30 16:27:02 +000052 plugin_uf2 \
53 plugin_upower \
54 sqlite"
55
56PACKAGECONFIG[bluetooth] = "-Dbluez=true,-Dbluez=false"
57PACKAGECONFIG[compat-cli] = "-Dcompat_cli=true,-Dcompat_cli=false"
58PACKAGECONFIG[consolekit] = "-Dconsolekit=true,-Dconsolekit=false,consolekit"
59PACKAGECONFIG[curl] = "-Dcurl=true,-Dcurl=false,curl"
60PACKAGECONFIG[firmware-packager] = "-Dfirmware-packager=true,-Dfirmware-packager=false"
61PACKAGECONFIG[fish-completion] = "-Dfish_completion=true,-Dfish_completion=false"
62PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
63PACKAGECONFIG[gudev] = "-Dgudev=true,-Dgudev=false,libgudev"
64PACKAGECONFIG[gusb] = "-Dgusb=true,-Dgusb=false,libgusb"
65PACKAGECONFIG[hsi] = "-Dhsi=true,-Dhsi=false"
66PACKAGECONFIG[libarchive] = "-Dlibarchive=true,-Dlibarchive=false,libarchive"
67PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false"
68PACKAGECONFIG[metainfo] = "-Dmetainfo=true,-Dmetainfo=false"
69PACKAGECONFIG[offline] = "-Doffline=true,-Doffline=false"
70PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false,polkit"
71PACKAGECONFIG[sqlite] = "-Dsqlite=true,-Dsqlite=false,sqlite3"
72PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd"
73PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,gcab-native"
74
75
76# TODO plugins-all meta-option that expands to all plugin_*?
77PACKAGECONFIG[plugin_acpi_phat] = "-Dplugin_acpi_phat=true,-Dplugin_acpi_phat=false"
Andrew Geisslerc5535c92023-01-27 16:10:19 -060078PACKAGECONFIG[plugin_android_boot] = "-Dplugin_android_boot=enabled,-Dplugin_android_boot=disabled"
Andrew Geissler9aee5002022-03-30 16:27:02 +000079PACKAGECONFIG[plugin_bcm57xx] = "-Dplugin_bcm57xx=true,-Dplugin_bcm57xx=false"
80PACKAGECONFIG[plugin_cfu] = "-Dplugin_cfu=true,-Dplugin_cfu=false"
81PACKAGECONFIG[plugin_dell] = "-Dplugin_dell=true,-Dplugin_dell=false,libsmbios"
82PACKAGECONFIG[plugin_dummy] = "-Dplugin_dummy=true,-Dplugin_dummy=false"
83PACKAGECONFIG[plugin_emmc] = "-Dplugin_emmc=true,-Dplugin_emmc=false"
84PACKAGECONFIG[plugin_ep963x] = "-Dplugin_ep963x=true,-Dplugin_ep963x=false"
85PACKAGECONFIG[plugin_fastboot] = "-Dplugin_fastboot=true,-Dplugin_fastboot=false"
86PACKAGECONFIG[plugin_flashrom] = "-Dplugin_flashrom=true,-Dplugin_flashrom=false,flashrom"
Patrick Williams2390b1b2022-11-03 13:47:49 -050087PACKAGECONFIG[plugin_gpio] = "-Dplugin_gpio=true,-Dplugin_gpio=false"
Andrew Geisslerc5535c92023-01-27 16:10:19 -060088PACKAGECONFIG[plugin_igsc] = "-Dplugin_igsc=enabled,-Dplugin_igsc=disabled"
89PACKAGECONFIG[plugin_intel_me] = "-Dplugin_intel_me=enabled,-Dplugin_intel_me=disabled"
Andrew Geissler9aee5002022-03-30 16:27:02 +000090PACKAGECONFIG[plugin_intel_spi] = "-Dplugin_intel_spi=true -Dlzma=true,-Dplugin_intel_spi=false -Dlzma=false,xz"
91PACKAGECONFIG[plugin_logitech_bulkcontroller] = "-Dplugin_logitech_bulkcontroller=true,-Dplugin_logitech_bulkcontroller=false,protobuf-c-native protobuf-c"
Andrew Geisslerc5535c92023-01-27 16:10:19 -060092PACKAGECONFIG[plugin_logitech_scribe] = "-Dplugin_logitech_scribe=enabled,-Dplugin_logitech_scribe=disabled"
Andrew Geissler9aee5002022-03-30 16:27:02 +000093PACKAGECONFIG[plugin_modem_manager] = "-Dplugin_modem_manager=true,-Dplugin_modem_manager=false,libqmi modemmanager"
94PACKAGECONFIG[plugin_msr] = "-Dplugin_msr=true,-Dplugin_msr=false,cpuid"
95PACKAGECONFIG[plugin_nitrokey] = "-Dplugin_nitrokey=true,-Dplugin_nitrokey=false"
96PACKAGECONFIG[plugin_nvme] = "-Dplugin_nvme=true,-Dplugin_nvme=false"
97PACKAGECONFIG[plugin_parade_lspcon] = "-Dplugin_parade_lspcon=true,-Dplugin_parade_lspcon=false"
98PACKAGECONFIG[plugin_pixart_rf] = "-Dplugin_pixart_rf=true,-Dplugin_pixart_rf=false"
Andrew Geissler9aee5002022-03-30 16:27:02 +000099PACKAGECONFIG[plugin_powerd] = "-Dplugin_powerd=true,-Dplugin_powerd=false"
100PACKAGECONFIG[plugin_realtek_mst] = "-Dplugin_realtek_mst=true,-Dplugin_realtek_mst=false"
101PACKAGECONFIG[plugin_redfish] = "-Dplugin_redfish=true,-Dplugin_redfish=false"
102PACKAGECONFIG[plugin_scsi] = "-Dplugin_scsi=true,-Dplugin_scsi=false"
103PACKAGECONFIG[plugin_synaptics_mst] = "-Dplugin_synaptics_mst=true,-Dplugin_synaptics_mst=false"
104PACKAGECONFIG[plugin_synaptics_rmi] = "-Dplugin_synaptics_rmi=true,-Dplugin_synaptics_rmi=false"
Andrew Geissler9aee5002022-03-30 16:27:02 +0000105PACKAGECONFIG[plugin_tpm] = "-Dplugin_tpm=true,-Dplugin_tpm=false,tpm2-tss"
106# Turn off the capsule splash as it needs G-I at buildtime, which isn't currently supported
107PACKAGECONFIG[plugin_uefi_capsule] = "-Dplugin_uefi_capsule=true -Dplugin_uefi_capsule_splash=false,-Dplugin_uefi_capsule=false,efivar fwupd-efi"
108PACKAGECONFIG[plugin_uefi_pk] = "-Dplugin_uefi_pk=true,-Dplugin_uefi_pk=false"
109PACKAGECONFIG[plugin_uf2] = "-Dplugin_uf2=true,-Dplugin_uf2=false"
110PACKAGECONFIG[plugin_upower] = "-Dplugin_upower=true,-Dplugin_upower=false"
111
112# Always disable these plugins on non-x86 platforms as they don't compile or are useless
Andrew Geisslerc5535c92023-01-27 16:10:19 -0600113DISABLE_NON_X86 = "plugin_intel_me plugin_intel_spi plugin_msr"
Andrew Geissler9aee5002022-03-30 16:27:02 +0000114DISABLE_NON_X86:x86 = ""
115DISABLE_NON_X86:x86-64 = ""
116PACKAGECONFIG:remove = "${DISABLE_NON_X86}"
117
118FILES:${PN} += "${libdir}/fwupd-plugins-* \
Andrew Geisslerc5535c92023-01-27 16:10:19 -0600119 ${libdir}/fwupd-${PV} \
Andrew Geissler9aee5002022-03-30 16:27:02 +0000120 ${systemd_unitdir} \
121 ${datadir}/fish \
122 ${datadir}/metainfo \
123 ${datadir}/icons \
124 ${datadir}/dbus-1 \
125 ${datadir}/polkit-1 \
126 ${nonarch_libdir}/modules-load.d"
127
128FILES:${PN}-ptest += "${libexecdir}/installed-tests/ \
129 ${datadir}/installed-tests/"
130RDEPENDS:${PN}-ptest += "gnome-desktop-testing"