diff options
Diffstat (limited to 'sys-apps/fwupd')
-rw-r--r-- | sys-apps/fwupd/Manifest | 1 | ||||
-rw-r--r-- | sys-apps/fwupd/files/fwupd-1.8.4-installed_tests.patch | 215 | ||||
-rw-r--r-- | sys-apps/fwupd/fwupd-1.8.4.ebuild | 201 |
3 files changed, 417 insertions, 0 deletions
diff --git a/sys-apps/fwupd/Manifest b/sys-apps/fwupd/Manifest index 060c1b5fe73c..7fc645626c16 100644 --- a/sys-apps/fwupd/Manifest +++ b/sys-apps/fwupd/Manifest @@ -1,2 +1,3 @@ DIST fwupd-1.7.7.tar.gz 4057638 BLAKE2B 197d7b8a8de64094d267bb4e2de30101373bcc52fd54d12dc2590a50f2bcebbcfe00847d19c0088d2c778743d219ee73c0237db711ad27e36f7126f7c615ccf7 SHA512 a787ffdff93f483ad97547d335c50a4db7b61bce1bc27d737b077bbedfa4676c8d6d37db94ac24083c50e3bfde8aefd4d1adb3d0e473303f454a46dde136df0a DIST fwupd-1.8.3.tar.gz 4267315 BLAKE2B 35e5855ea0d314fa5b1cc33ed4efa71e54c35b57c742748a5d6c7f4c1f88bfd9c2e5a84f2af72f6e5e63ddfc4f6521312fb7b1446922c76917f9abdd4d90e618 SHA512 271a1c2547f35322a7a7d83adc84d729ba73d810f6ac526d1c6aa2a9774dea1edc986b7d62481ebb70d43653577ced19f13f695dedf4012c82d814da70cb83f4 +DIST fwupd-1.8.4.tar.xz 3269648 BLAKE2B 20857c5de6194a561c587ace0463d94440d25256a04cce51b77f3dcffde9b0f08a03a03e1d0dbb5f15016169f9a31e290609b3fc3f68b40b932c77335f05ec6f SHA512 569d0cb81f9a29259d0a7ae7100ca1063d20557b56903f80c1466667baf40a74d677f48159e5bd53ab6b33de8ce7185bf279b6dbcf6edfee744c1d4965c5db8f diff --git a/sys-apps/fwupd/files/fwupd-1.8.4-installed_tests.patch b/sys-apps/fwupd/files/fwupd-1.8.4-installed_tests.patch new file mode 100644 index 000000000000..1cb3b41cb728 --- /dev/null +++ b/sys-apps/fwupd/files/fwupd-1.8.4-installed_tests.patch @@ -0,0 +1,215 @@ +--- a/data/meson.build ++++ b/data/meson.build +@@ -10,20 +10,10 @@ + subdir('fish-completion') + endif + +-if get_option('tests') +-subdir('device-tests') +-endif +- + if build_daemon + subdir('motd') + endif + +-if get_option('tests') +- if build_daemon +- subdir('installed-tests') +- endif +-endif +- + if build_standalone + install_data(['daemon.conf'], + install_dir: join_paths(sysconfdir, 'fwupd') +--- a/plugins/acpi-dmar/meson.build ++++ b/plugins/acpi-dmar/meson.build +@@ -47,7 +47,6 @@ + fwupd, + fwupdplugin, + ], +- install: true, + install_dir: installed_test_bindir, + ) + test('acpi-dmar-self-test', e, env: env) # added to installed-tests +--- a/plugins/acpi-facp/meson.build ++++ b/plugins/acpi-facp/meson.build +@@ -47,7 +47,6 @@ + fwupd, + fwupdplugin, + ], +- install: true, + install_dir: installed_test_bindir, + ) + test('acpi-facp-self-test', e, env: env) # added to installed-tests +--- a/plugins/acpi-ivrs/meson.build ++++ b/plugins/acpi-ivrs/meson.build +@@ -47,7 +47,6 @@ + fwupd, + fwupdplugin, + ], +- install: true, + install_dir: installed_test_bindir, + ) + test('acpi-ivrs-self-test', e, env: env) # added to installed-tests +--- a/plugins/acpi-phat/meson.build ++++ b/plugins/acpi-phat/meson.build +@@ -53,7 +53,6 @@ + fwupd, + fwupdplugin, + ], +- install: true, + install_dir: installed_test_bindir, + ) + test('acpi-phat-self-test', e, env: env) # added to installed-tests +--- a/plugins/ata/meson.build ++++ b/plugins/ata/meson.build +@@ -53,7 +53,6 @@ + fwupd, + fwupdplugin, + ], +- install: true, + install_dir: installed_test_bindir, + ) + test('ata-self-test', e, env: env) # added to installed-tests +--- a/plugins/bcm57xx/meson.build ++++ b/plugins/bcm57xx/meson.build +@@ -35,8 +35,6 @@ + ) + + if get_option('tests') +- install_data(['tests/bcm57xx.builder.xml'], +- install_dir: join_paths(installed_test_datadir, 'tests')) + env = environment() + env.set('G_TEST_SRCDIR', meson.current_source_dir()) + env.set('G_TEST_BUILDDIR', meson.current_build_dir()) +@@ -63,7 +61,6 @@ + fwupd, + fwupdplugin, + ], +- install: true, + install_dir: installed_test_bindir, + ) + test('bcm57xx-self-test', e, env: env) +--- a/plugins/ccgx/meson.build ++++ b/plugins/ccgx/meson.build +@@ -37,8 +37,6 @@ + endif + + if get_option('tests') +- install_data(['tests/ccgx.builder.xml', 'tests/ccgx-dmc.builder.xml'], +- install_dir: join_paths(installed_test_datadir, 'tests')) + env = environment() + env.set('G_TEST_SRCDIR', meson.current_source_dir()) + env.set('G_TEST_BUILDDIR', meson.current_build_dir()) +@@ -64,7 +62,6 @@ + fwupd, + fwupdplugin, + ], +- install: true, + install_dir: installed_test_bindir, + ) + test('ccgx-self-test', e, env: env) +--- a/plugins/elantp/meson.build ++++ b/plugins/elantp/meson.build +@@ -33,8 +33,6 @@ + endif + + if get_option('tests') +- install_data(['tests/elantp.builder.xml'], +- install_dir: join_paths(installed_test_datadir, 'tests')) + env = environment() + env.set('G_TEST_SRCDIR', meson.current_source_dir()) + env.set('G_TEST_BUILDDIR', meson.current_build_dir()) +@@ -57,7 +55,6 @@ + fwupd, + fwupdplugin, + ], +- install: true, + install_dir: installed_test_bindir, + ) + test('elantp-self-test', e, env: env) +--- a/plugins/linux-swap/meson.build ++++ b/plugins/linux-swap/meson.build +@@ -44,7 +44,6 @@ + fwupd, + fwupdplugin, + ], +- install: true, + install_dir: installed_test_bindir, + ) + test('linux-swap-self-test', e) # added to installed-tests +--- a/plugins/mtd/meson.build ++++ b/plugins/mtd/meson.build +@@ -46,7 +46,6 @@ + fwupd, + fwupdplugin, + ], +- install: true, + install_dir: installed_test_bindir, + ) + test('mtd-self-test', e) # added to installed-tests +--- a/plugins/nitrokey/meson.build ++++ b/plugins/nitrokey/meson.build +@@ -47,7 +47,6 @@ + link_with: [ + fwupdplugin, + ], +- install: true, + install_dir: installed_test_bindir, + ) + test('nitrokey-self-test', e) # added to installed-tests +--- a/plugins/pixart-rf/meson.build ++++ b/plugins/pixart-rf/meson.build +@@ -31,8 +31,6 @@ + ) + + if get_option('tests') +- install_data(['tests/pixart.builder.xml'], +- install_dir: join_paths(installed_test_datadir, 'tests')) + env = environment() + env.set('G_TEST_SRCDIR', meson.current_source_dir()) + env.set('G_TEST_BUILDDIR', meson.current_build_dir()) +@@ -55,7 +53,6 @@ + fwupd, + fwupdplugin, + ], +- install: true, + install_dir: installed_test_bindir, + ) + test('pxi-self-test', e, env: env) +--- a/plugins/redfish/meson.build ++++ b/plugins/redfish/meson.build +@@ -47,14 +47,6 @@ + ) + + if get_option('tests') +- install_data(['tests/redfish-smbios.bin'], +- install_dir: join_paths(installed_test_datadir, 'tests')) +- install_data(['tests/redfish.conf'], +- install_dir: join_paths(installed_test_datadir, 'tests')) +- install_data(['tests/efi/efivars/RedfishIndications-16faa37e-4b6a-4891-9028-242de65a3b70'], +- install_dir: join_paths(installed_test_datadir, 'tests', 'efi', 'efivars')) +- install_data(['tests/efi/efivars/RedfishOSCredentials-16faa37e-4b6a-4891-9028-242de65a3b70'], +- install_dir: join_paths(installed_test_datadir, 'tests', 'efi', 'efivars')) + env = environment() + env.set('G_TEST_SRCDIR', meson.current_source_dir()) + env.set('G_TEST_BUILDDIR', meson.current_build_dir()) +@@ -89,7 +81,6 @@ + fwupd, + fwupdplugin, + ], +- install: true, + install_dir: installed_test_bindir, + ) + test('redfish-self-test', e, env: env) # added to installed-tests +--- a/src/tests/host-emulate/meson.build ++++ b/src/tests/host-emulate/meson.build +@@ -8,7 +8,7 @@ + output: '@0@.gz'.format(input_file), + capture: true, + command: [gzip, '-k', '--stdout', '@INPUT@'], +- install: true, ++ install: false, + install_dir: join_paths(datadir, 'fwupd', 'host-emulate.d'), + ) + endforeach diff --git a/sys-apps/fwupd/fwupd-1.8.4.ebuild b/sys-apps/fwupd/fwupd-1.8.4.ebuild new file mode 100644 index 000000000000..995724a81068 --- /dev/null +++ b/sys-apps/fwupd/fwupd-1.8.4.ebuild @@ -0,0 +1,201 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..11} ) + +inherit linux-info meson python-single-r1 vala udev xdg + +DESCRIPTION="Aims to make updating firmware on Linux automatic, safe and reliable" +HOMEPAGE="https://fwupd.org" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz" + +LICENSE="LGPL-2.1+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="amt archive bash-completion bluetooth cbor dell elogind fastboot flashrom gnutls gtk-doc gusb introspection logitech lzma +man minimal modemmanager nvme policykit spi +sqlite synaptics systemd test tpm uefi" +REQUIRED_USE="${PYTHON_REQUIRED_USE} + ^^ ( elogind minimal systemd ) + dell? ( uefi ) + fastboot? ( gusb ) + logitech? ( gusb ) + minimal? ( !introspection ) + modemmanager? ( gusb ) + spi? ( lzma ) + synaptics? ( gnutls ) + uefi? ( gnutls ) +" +RESTRICT="!test? ( test )" + +BDEPEND="$(vala_depend) + >=dev-util/meson-0.60.0 + virtual/pkgconfig + gtk-doc? ( + >=dev-util/gi-docgen-2021.1 + ) + bash-completion? ( >=app-shells/bash-completion-2.0 ) + introspection? ( dev-libs/gobject-introspection ) + man? ( + app-text/docbook-sgml-utils + sys-apps/help2man + ) + test? ( + dev-util/umockdev + net-libs/gnutls[tools] + ) +" +COMMON_DEPEND="${PYTHON_DEPS} + >=app-arch/gcab-1.0 + app-arch/xz-utils + >=dev-libs/glib-2.58:2 + dev-libs/json-glib + dev-libs/libgudev:= + >=dev-libs/libjcat-0.1.4[gpg,pkcs7] + >=dev-libs/libxmlb-0.1.13:=[introspection?] + $(python_gen_cond_dep ' + dev-python/pygobject:3[cairo,${PYTHON_USEDEP}] + ') + >=net-libs/libsoup-2.51.92:2.4[introspection?] + net-misc/curl + archive? ( app-arch/libarchive:= ) + cbor? ( dev-libs/libcbor ) + dell? ( + >=app-crypt/tpm2-tss-2.0 + >=sys-libs/libsmbios-2.4.0 + ) + elogind? ( >=sys-auth/elogind-211 ) + flashrom? ( >=sys-apps/flashrom-1.2-r3 ) + gnutls? ( net-libs/gnutls ) + gusb? ( >=dev-libs/libgusb-0.3.5[introspection?] ) + logitech? ( dev-libs/protobuf-c:= ) + lzma? ( app-arch/xz-utils ) + modemmanager? ( net-misc/modemmanager[qmi] ) + policykit? ( >=sys-auth/polkit-0.114 ) + sqlite? ( dev-db/sqlite ) + systemd? ( >=sys-apps/systemd-211 ) + tpm? ( app-crypt/tpm2-tss:= ) + uefi? ( + sys-apps/fwupd-efi + sys-boot/efibootmgr + sys-fs/udisks + sys-libs/efivar + ) +" +RDEPEND=" + ${COMMON_DEPEND} + sys-apps/dbus +" + +DEPEND=" + ${COMMON_DEPEND} + x11-libs/pango[introspection] +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.8.3-docgen_deps_test.patch + "${FILESDIR}"/${PN}-1.8.4-installed_tests.patch +) + +pkg_setup() { + python-single-r1_pkg_setup + vala_setup + if use nvme ; then + kernel_is -ge 4 4 || die "NVMe support requires kernel >= 4.4" + fi +} + +src_prepare() { + default + + # c.f. https://github.com/fwupd/fwupd/issues/1414 + sed -e "/test('thunderbolt-self-test', e, env: test_env, timeout : 120)/d" \ + -i plugins/thunderbolt/meson.build || die + + sed -e '/platform-integrity/d' \ + -i plugins/meson.build || die #753521 + + sed -e "/install_dir.*'doc'/s/doc/gtk-doc/" \ + -i docs/meson.build || die + + python_fix_shebang "${S}"/contrib/*.py +} + +src_configure() { + # TODO (maybe): acpi_phat, bcm57xx, cfu, cpu, emmc, ep963x, mtd, nitrokey, + # parade_lspcon, pixart_rf, realtek_mst, scsi, redfish, upower + local plugins=( + -Dplugin_gpio="enabled" + $(meson_feature amt plugin_amt) + $(meson_feature dell plugin_dell) + $(meson_feature fastboot plugin_fastboot) + $(meson_feature flashrom plugin_flashrom) + $(meson_feature gusb plugin_uf2) + $(meson_feature logitech plugin_logitech_bulkcontroller) + $(meson_feature modemmanager plugin_modem_manager) + $(meson_feature nvme plugin_nvme) + $(meson_use spi plugin_intel_spi) + $(meson_feature synaptics plugin_synaptics_mst) + $(meson_feature synaptics plugin_synaptics_rmi) + $(meson_feature tpm plugin_tpm) + $(meson_feature uefi plugin_uefi_capsule) + $(meson_use uefi plugin_uefi_capsule_splash) + $(meson_feature uefi plugin_uefi_pk) + ) + if use ppc64 || use riscv ; then + plugins+=( -Dplugin_msr="disabled" ) + fi + + local emesonargs=( + --localstatedir "${EPREFIX}"/var + -Dbuild="$(usex minimal standalone all)" + -Dconsolekit="disabled" + -Dcurl="enabled" + -Defi_binary="false" + -Dgresource_quirks="disabled" + -Dsupported_build="enabled" + -Dudevdir="${EPREFIX}$(get_udevdir)" + $(meson_feature archive libarchive) + $(meson_use bash-completion bash_completion) + $(meson_feature bluetooth bluez) + $(meson_feature cbor) + $(meson_feature elogind) + $(meson_feature gnutls) + $(meson_feature gtk-doc docs) + $(meson_feature gusb) + $(meson_feature lzma) + $(meson_use man) + $(meson_feature introspection) + $(meson_feature policykit polkit) + $(meson_feature sqlite) + $(meson_feature systemd) + $(meson_use test tests) + + ${plugins[@]} + ) + use uefi && emesonargs+=( -Defi_os_dir="gentoo" ) + export CACHE_DIRECTORY="${T}" + meson_src_configure +} + +src_install() { + meson_src_install + + if ! use minimal ; then + newinitd "${FILESDIR}"/${PN}-r2 ${PN} + + if ! use systemd ; then + # Don't timeout when fwupd is running (#673140) + sed '/^IdleTimeout=/s@=[[:digit:]]\+@=0@' \ + -i "${ED}"/etc/${PN}/daemon.conf || die + fi + fi +} + +pkg_postinst() { + use minimal || udev_reload +} + +pkg_postrm() { + use minimal || udev_reload +} |