diff --git a/sys-apps/fwupd/Manifest b/sys-apps/fwupd/Manifest new file mode 100644 index 0000000..f5369aa --- /dev/null +++ b/sys-apps/fwupd/Manifest @@ -0,0 +1,4 @@ +DIST fwupd-1.4.7.tar.gz 2370660 BLAKE2B 8f04ced69610278576e41c12c7c51e326bdfbea8e1470ae586795b0c20f6a5fd4385701583195f49e14d749016987a7e02fb0d071b5315cca635f69d99bb63d6 SHA512 9d293adf6e9eba9537c4be9b7a4ccc26cd5519843f1bf94557148fabef8076e4846f7018949d8ad83afd01ce4874833bf8984c2ee3981fc6b1309ebda8e313f9 +DIST fwupd-1.4.8.tar.gz 2375361 BLAKE2B 14951c8ec7d59ec53fed7b98bf0e277a7544f04f72f6a827971d45f9996190ebd46767e373850b269d8d718ec8c2b9df41bdd44614e5065832bd21c4071f012a SHA512 25c49f5a814aaf5cd614074936f6a222c513a0e74446a48ddc19aa51fc3d3e9e79dfa77e9b80055a4e3755bca99f13d260c2e4ddf6853ba0a583162523fe7d47 +DIST fwupd-1.5.8.tar.gz 3708769 BLAKE2B e18738d5f681fd9016a609ce9d48e452628c32e731b2a1f3635ff4897ff2a910b1ca0d7836bd12f14b27254c23eb2b6d74a2c35939ac5c8484e2050ab89a33a3 SHA512 d4fecd13a223e7f544026a5ac684bd570af2b63fb509a21e98ef72ccc4d7818f32abf730e2a40943bc762f04ecd5af03bf71201518d55090bb95fe6e9dc6969e +DIST fwupd-1.5.9.tar.gz 3712637 BLAKE2B 17429bdc3073a92b94de9bc67ce1955e928e8d6aeefa5f0ad39a9d15457f96c562ce5cfbc47e1fc450c31c2b9334ca3902ed63ef809e8d2cb5b5459cc54dec28 SHA512 ccd1246ab5b3c876251924a14d1c2c553b2df5702c6673978b1d627ea1028c3950241f73dd54e2fecb5cc204a1dc77e6597f7514eff6467beb50be7874352d78 diff --git a/sys-apps/fwupd/files/fwupd-1.3.9-logind_plugin.patch b/sys-apps/fwupd/files/fwupd-1.3.9-logind_plugin.patch new file mode 100644 index 0000000..526fe77 --- /dev/null +++ b/sys-apps/fwupd/files/fwupd-1.3.9-logind_plugin.patch @@ -0,0 +1,13 @@ +Enable logind plugin when -Delogind=true is set as well + +--- fwupd-1.3.9/plugins/meson.build ++++ fwupd-1.3.9/plugins/meson.build +@@ -27,7 +27,7 @@ + subdir('wacom-raw') + endif + +-if get_option('systemd') ++if get_option('systemd') or get_option('elogind') + subdir('logind') + endif + diff --git a/sys-apps/fwupd/files/fwupd-1.4.4-help2man_var.patch b/sys-apps/fwupd/files/fwupd-1.4.4-help2man_var.patch new file mode 100644 index 0000000..818a69d --- /dev/null +++ b/sys-apps/fwupd/files/fwupd-1.4.4-help2man_var.patch @@ -0,0 +1,93 @@ +From 5164e713f620972b43c54e34a653a932c968e653 Mon Sep 17 00:00:00 2001 +From: Mario Limonciello +Date: Thu, 18 Jun 2020 12:11:31 -0500 +Subject: [PATCH] trivial: fix issue with agent on but man off + +Fixes: #2192 +--- + src/meson.build | 64 +++++++++++++++++++++++++------------------------ + 1 file changed, 33 insertions(+), 31 deletions(-) + +diff --git a/src/meson.build b/src/meson.build +index 7a0b2976a..9a8334973 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -166,22 +166,24 @@ fwupdtool = executable( + install_dir : bindir + ) + +-if build_daemon and get_option('man') ++if get_option('man') + help2man = find_program('help2man') +- custom_target('fwupdmgr-man', +- input : fwupdmgr, +- output : 'fwupdmgr.1', +- command : [ +- help2man, '@INPUT@', +- '--no-info', +- '--output', '@OUTPUT@', +- '--name', 'Firmware update manager client utility', +- '--manual', 'User Commands', +- '--version-string', fwupd_version, +- ], +- install : true, +- install_dir : join_paths(mandir, 'man1'), +- ) ++ if build_daemon ++ custom_target('fwupdmgr-man', ++ input : fwupdmgr, ++ output : 'fwupdmgr.1', ++ command : [ ++ help2man, '@INPUT@', ++ '--no-info', ++ '--output', '@OUTPUT@', ++ '--name', 'Firmware update manager client utility', ++ '--manual', 'User Commands', ++ '--version-string', fwupd_version, ++ ], ++ install : true, ++ install_dir : join_paths(mandir, 'man1'), ++ ) ++ endif + if get_option('agent') + custom_target('fwupdagent-man', + input : fwupdagent, +@@ -198,22 +200,22 @@ if build_daemon and get_option('man') + install_dir : join_paths(mandir, 'man1'), + ) + endif +-endif +-if get_option('man') +- custom_target('fwupdtool-man', +- input : fwupdtool, +- output : 'fwupdtool.1', +- command : [ +- help2man, '@INPUT@', +- '--no-info', +- '--output', '@OUTPUT@', +- '--name', 'Standalone firmware update utility', +- '--manual', 'User Commands', +- '--version-string', fwupd_version, +- ], +- install : true, +- install_dir : join_paths(mandir, 'man1'), +- ) ++ if build_standalone ++ custom_target('fwupdtool-man', ++ input : fwupdtool, ++ output : 'fwupdtool.1', ++ command : [ ++ help2man, '@INPUT@', ++ '--no-info', ++ '--output', '@OUTPUT@', ++ '--name', 'Standalone firmware update utility', ++ '--manual', 'User Commands', ++ '--version-string', fwupd_version, ++ ], ++ install : true, ++ install_dir : join_paths(mandir, 'man1'), ++ ) ++ endif + endif + + if build_daemon diff --git a/sys-apps/fwupd/files/fwupd-1.5.7-logind_plugin.patch b/sys-apps/fwupd/files/fwupd-1.5.7-logind_plugin.patch new file mode 100644 index 0000000..7fbaf39 --- /dev/null +++ b/sys-apps/fwupd/files/fwupd-1.5.7-logind_plugin.patch @@ -0,0 +1,8 @@ +--- fwupd-1.5.7/plugins/logind/meson.build ++++ fwupd-1.5.7/plugins/logind/meson.build +@@ -1,4 +1,4 @@ +-if get_option('systemd') ++if get_option('systemd') or get_option('elogind') + if host_machine.system() != 'linux' + error('linux is required for systemd') + endif diff --git a/sys-apps/fwupd/files/fwupd-r2 b/sys-apps/fwupd/files/fwupd-r2 new file mode 100644 index 0000000..c8994dd --- /dev/null +++ b/sys-apps/fwupd/files/fwupd-r2 @@ -0,0 +1,13 @@ +#!/sbin/openrc-run +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Firmware update daemon" +pidfile="/var/run/fwupd.pid" +command="/usr/libexec/fwupd/fwupd" +command_background="true" + +depend() { + need %SEAT_MANAGER% dbus + before display-manager +} diff --git a/sys-apps/fwupd/fwupd-1.4.7.ebuild b/sys-apps/fwupd/fwupd-1.4.7.ebuild new file mode 100644 index 0000000..f2da993 --- /dev/null +++ b/sys-apps/fwupd/fwupd-1.4.7.ebuild @@ -0,0 +1,165 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7,8} ) + +inherit linux-info meson python-single-r1 vala xdg toolchain-funcs + +DESCRIPTION="Aims to make updating firmware on Linux automatic, safe and reliable" +HOMEPAGE="https://fwupd.org" +SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="LGPL-2.1+" +SLOT="0" +KEYWORDS="amd64 ~arm x86" +IUSE="agent amt dell gtk-doc elogind minimal introspection +man nvme redfish synaptics systemd test thunderbolt tpm uefi" +REQUIRED_USE="${PYTHON_REQUIRED_USE} + ^^ ( elogind minimal systemd ) + dell? ( uefi ) + minimal? ( !introspection ) +" +RESTRICT="!test? ( test )" + +BDEPEND="$(vala_depend) + virtual/pkgconfig + gtk-doc? ( dev-util/gtk-doc ) + introspection? ( dev-libs/gobject-introspection ) + man? ( + app-text/docbook-sgml-utils + sys-apps/help2man + ) + test? ( + app-crypt/tpm2-tss + net-libs/gnutls[tools] + thunderbolt? ( dev-util/umockdev ) + ) +" +CDEPEND="${PYTHON_DEPS} + >=app-arch/gcab-1.0 + app-arch/libarchive:= + dev-db/sqlite + >=dev-libs/glib-2.45.8:2 + dev-libs/json-glib + dev-libs/libgpg-error + dev-libs/libgudev:= + >=dev-libs/libgusb-0.2.9[introspection?] + >=dev-libs/libjcat-0.1.0[gpg,pkcs7] + >=dev-libs/libxmlb-0.1.13:= + $(python_gen_cond_dep ' + dev-python/pillow[${PYTHON_MULTI_USEDEP}] + dev-python/pycairo[${PYTHON_MULTI_USEDEP}] + dev-python/pygobject:3[cairo,${PYTHON_MULTI_USEDEP}] + ') + >=net-libs/libsoup-2.51.92:2.4[introspection?] + virtual/libelf:0= + virtual/udev + dell? ( + sys-libs/efivar + >=sys-libs/libsmbios-2.4.0 + ) + elogind? ( sys-auth/elogind ) + !minimal? ( + >=sys-auth/polkit-0.103 + ) + nvme? ( sys-libs/efivar ) + redfish? ( sys-libs/efivar ) + systemd? ( >=sys-apps/systemd-211 ) + tpm? ( app-crypt/tpm2-tss ) + uefi? ( + app-crypt/tpm2-tss + media-libs/fontconfig + media-libs/freetype + sys-boot/gnu-efi + sys-boot/efibootmgr + >=sys-libs/efivar-33 + x11-libs/cairo + ) +" +# Block sci-chemistry/chemical-mime-data for bug #701900 +RDEPEND=" + != 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 + vala_src_prepare +} + +src_configure() { + local emesonargs=( + --localstatedir "${EPREFIX}"/var + -Dbuild="$(usex minimal standalone all)" + $(meson_use agent) + $(meson_use amt plugin_amt) + $(meson_use dell plugin_dell) + $(meson_use elogind) + $(meson_use gtk-doc gtkdoc) + $(meson_use man) + $(meson_use nvme plugin_nvme) + $(meson_use introspection) + $(meson_use redfish plugin_redfish) + $(meson_use synaptics plugin_synaptics) + $(meson_use systemd) + $(meson_use test tests) + $(meson_use thunderbolt plugin_thunderbolt) + $(meson_use tpm tpm) + $(meson_use uefi plugin_uefi) + # Although our sys-apps/flashrom package now provides + # libflashrom.a, meson still can't find it + -Dplugin_flashrom="false" + # Dependencies are not available (yet?) + -Dplugin_modem_manager="false" + -Dconsolekit="false" + ) + export CACHE_DIRECTORY="${T}" + meson_src_configure +} + +src_install() { + meson_src_install + + if ! use minimal ; then + sed "s@%SEAT_MANAGER%@elogind@" \ + "${FILESDIR}"/${PN}-r2 \ + > "${T}"/${PN} || die + doinitd "${T}"/${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() { + xdg_pkg_postinst + elog "In case you are using openrc as init system" + elog "and you're upgrading from = 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 + vala_src_prepare +} + +src_configure() { + local emesonargs=( + --localstatedir "${EPREFIX}"/var + -Dbuild="$(usex minimal standalone all)" + $(meson_use agent) + $(meson_use amt plugin_amt) + $(meson_use dell plugin_dell) + $(meson_use elogind) + $(meson_use gtk-doc gtkdoc) + $(meson_use man) + $(meson_use nvme plugin_nvme) + $(meson_use introspection) + $(meson_use redfish plugin_redfish) + $(meson_use synaptics plugin_synaptics) + $(meson_use systemd) + $(meson_use test tests) + $(meson_use thunderbolt plugin_thunderbolt) + $(meson_use tpm plugin_tpm) + $(meson_use uefi plugin_uefi) + # Although our sys-apps/flashrom package now provides + # libflashrom.a, meson still can't find it + -Dplugin_flashrom="false" + # Dependencies are not available (yet?) + -Dplugin_modem_manager="false" + -Dconsolekit="false" + ) + export CACHE_DIRECTORY="${T}" + meson_src_configure +} + +src_install() { + meson_src_install + + if ! use minimal ; then + sed "s@%SEAT_MANAGER%@elogind@" \ + "${FILESDIR}"/${PN}-r2 \ + > "${T}"/${PN} || die + doinitd "${T}"/${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() { + xdg_pkg_postinst + elog "In case you are using openrc as init system" + elog "and you're upgrading from = 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 '/platform-integrity/d' \ + -i plugins/meson.build || die #753521 + vala_src_prepare +} + +src_configure() { + local emesonargs=( + --localstatedir "${EPREFIX}"/var + -Dbuild="$(usex minimal standalone all)" + $(meson_use agent) + $(meson_use amt plugin_amt) + $(meson_use archive libarchive) + $(meson_use bluetooth bluez) + $(meson_use dell plugin_dell) + $(meson_use elogind) + $(meson_use flashrom plugin_flashrom) + $(meson_use gnutls) + $(meson_use gtk-doc gtkdoc) + $(meson_use gusb) + $(meson_use gusb plugin_altos) + $(meson_use man) + $(meson_use nvme plugin_nvme) + $(meson_use introspection) + $(meson_use policykit polkit) + $(meson_use synaptics plugin_synaptics_mst) + $(meson_use synaptics plugin_synaptics_rmi) + $(meson_use systemd) + $(meson_use test tests) + $(meson_use thunderbolt plugin_thunderbolt) + $(meson_use tpm plugin_tpm) + $(meson_use uefi plugin_uefi_capsule) + $(meson_use uefi plugin_uefi_pk) + -Dconsolekit="false" + -Dcurl="true" + # Dependencies are not available (yet?) + -Dplugin_modem_manager="false" + ) + use ppc64 && emesonargs+=( -Dplugin_msr="false" ) + use uefi && emesonargs+=( -Defi_os_dir="gentoo" ) + export CACHE_DIRECTORY="${T}" + meson_src_configure +} + +src_install() { + meson_src_install + + if ! use minimal ; then + sed "s@%SEAT_MANAGER%@elogind@" \ + "${FILESDIR}"/${PN}-r2 \ + > "${T}"/${PN} || die + doinitd "${T}"/${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() { + xdg_pkg_postinst + elog "In case you are using openrc as init system" + elog "and you're upgrading from = 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 '/platform-integrity/d' \ + -i plugins/meson.build || die #753521 + vala_src_prepare +} + +src_configure() { + local emesonargs=( + --localstatedir "${EPREFIX}"/var + -Dbuild="$(usex minimal standalone all)" + $(meson_use agent) + $(meson_use amt plugin_amt) + $(meson_use archive libarchive) + $(meson_use bluetooth bluez) + $(meson_use dell plugin_dell) + $(meson_use elogind) + $(meson_use flashrom plugin_flashrom) + $(meson_use gnutls) + $(meson_use gtk-doc gtkdoc) + $(meson_use gusb) + $(meson_use gusb plugin_altos) + $(meson_use man) + $(meson_use nvme plugin_nvme) + $(meson_use introspection) + $(meson_use policykit polkit) + $(meson_use synaptics plugin_synaptics_mst) + $(meson_use synaptics plugin_synaptics_rmi) + $(meson_use systemd) + $(meson_use test tests) + $(meson_use thunderbolt plugin_thunderbolt) + $(meson_use tpm plugin_tpm) + $(meson_use uefi plugin_uefi_capsule) + $(meson_use uefi plugin_uefi_pk) + -Dconsolekit="false" + -Dcurl="true" + # Dependencies are not available (yet?) + -Dplugin_modem_manager="false" + ) + use ppc64 && emesonargs+=( -Dplugin_msr="false" ) + use uefi && emesonargs+=( -Defi_os_dir="gentoo" ) + export CACHE_DIRECTORY="${T}" + meson_src_configure +} + +src_install() { + meson_src_install + + if ! use minimal ; then + sed "s@%SEAT_MANAGER%@elogind@" \ + "${FILESDIR}"/${PN}-r2 \ + > "${T}"/${PN} || die + doinitd "${T}"/${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() { + xdg_pkg_postinst + elog "In case you are using openrc as init system" + elog "and you're upgrading from + + + + polynomial-c@gentoo.org + Lars Wendler + + + Enable update notification agent + Use app-arch/libarchive for archives support + Build and install Intel AMT plugin + Enable Dell-specific support. + Enable flashrom plugin via sys-apps/flashrom + Enable dev-libs/libgusb support + Build and install NVMe plugin + Install redfish plugin + Install synaptics plugin + Install Thunderbolt plugin + Install Trusted Platform Module plugin + Enable UEFI support + + + hughsie/fwupd + +