diff --git a/extra/fwupd/.SRCINFO b/extra/fwupd/.SRCINFO index 7454ce1fe..c6095edb1 100644 --- a/extra/fwupd/.SRCINFO +++ b/extra/fwupd/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = fwupd pkgdesc = Simple daemon to allow session software to update firmware pkgver = 1.9.17 - pkgrel = 1 + pkgrel = 2 url = https://github.com/fwupd/fwupd arch = x86_64 license = LGPL-2.1-or-later @@ -15,24 +15,30 @@ pkgbase = fwupd makedepends = noto-fonts-cjk makedepends = pandoc makedepends = python-cairo + makedepends = python-dbus makedepends = python-gobject makedepends = python-pillow makedepends = vala makedepends = valgrind + depends = bash depends = bluez depends = curl depends = efivar depends = flashrom depends = fwupd-efi depends = gcab + depends = gcc-libs + depends = glib2 + depends = glibc depends = gnutls depends = hicolor-icon-theme + depends = json-glib depends = libarchive depends = libcbor depends = libgudev depends = libgusb depends = libjcat - depends = json-glib + depends = libmbim depends = libmm-glib depends = libqmi depends = libsmbios @@ -42,33 +48,45 @@ pkgbase = fwupd depends = protobuf-c depends = python depends = shared-mime-info + depends = sqlite + depends = systemd-libs depends = tpm2-tss + depends = xz + depends = zlib source = https://github.com/fwupd/fwupd/releases/download/1.9.17/fwupd-1.9.17.tar.xz source = https://github.com/fwupd/fwupd/releases/download/1.9.17/fwupd-1.9.17.tar.xz.asc source = fwupd.sysusers + source = 0001-Use-simple-allow-listing-for-the-syscall-filter.patch validpgpkeys = 163EB50119225DB3DF8F49EA17ACBA8DFA970E17 sha512sums = 7aa0e24915d51858e1fcd3f04b9c2162d084654991809ce7c19154c8e392a97a4012a967083c171c123b77d0c6174331b8763f1668f499b767c05abdd4a5578d sha512sums = SKIP sha512sums = 637203080b55eda74a659f58c853a9a723a2dad5da70915b2b0e036c6145a649468ebec700cc83975d9cb5378b9dced8b3a3b26bdbcc75ddc774837355e75deb + sha512sums = 2fcec451c4e48ffaeb880668ea916dc55066da9574c9f44c6b731cfd7365a77605e25543c67202adaac7fb466c5060cdb636e81d9b6248903de6c4c5dfd255c2 b2sums = 2fb5b8c058bdee887fd5fe74451bb08923a4b2f906073c714cd7d9e9b2c45872334f1e2729135f5fe016b459c1440dd084f39ffdf4f45fa14df669c7cbf349b7 b2sums = SKIP b2sums = e65ca7da22a20a40882cfc1fe4479643f9a38c90a4f2c3e71e6e5e3de1d6db212a0f17d600097619fe3cdb0a9b860422f8b0b9a9d45441518e51a7eb12a918bb + b2sums = 0fd942b3dcb9ee720c2dad647e942fe57e61d7e8d06ee891cc3de773c0de01d80c96bdd146c9e5faaf70e9dcf74118e788033910e3b3c9e5818d23b6b2256b20 pkgname = fwupd + depends = bash depends = bluez depends = curl depends = efivar depends = flashrom depends = fwupd-efi depends = gcab + depends = gcc-libs + depends = glib2 + depends = glibc depends = gnutls depends = hicolor-icon-theme + depends = json-glib depends = libarchive depends = libcbor depends = libgudev depends = libgusb depends = libjcat - depends = json-glib + depends = libmbim depends = libmm-glib depends = libqmi depends = libsmbios @@ -78,7 +96,11 @@ pkgname = fwupd depends = protobuf-c depends = python depends = shared-mime-info + depends = sqlite + depends = systemd-libs depends = tpm2-tss + depends = xz + depends = zlib depends = libarchive.so depends = libcbor.so depends = libcurl.so @@ -88,6 +110,8 @@ pkgname = fwupd depends = libpassim.so depends = libprotobuf-c.so depends = libqmi-glib.so + optdepends = python-dbus: Firmware packaging tools + optdepends = python-gobject: Firmware packaging tools optdepends = udisks2: UEFI firmware upgrade support provides = libfwupd.so backup = etc/fwupd/fwupd.conf diff --git a/extra/fwupd/0001-Use-simple-allow-listing-for-the-syscall-filter.patch b/extra/fwupd/0001-Use-simple-allow-listing-for-the-syscall-filter.patch new file mode 100644 index 000000000..713b97c6b --- /dev/null +++ b/extra/fwupd/0001-Use-simple-allow-listing-for-the-syscall-filter.patch @@ -0,0 +1,44 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Richard Hughes +Date: Fri, 19 Apr 2024 17:43:51 +0100 +Subject: [PATCH] Use simple allow-listing for the syscall filter + +Sometimes KISS is a good idea, especially for security. +--- + data/meson.build | 21 ++++++++++++++------- + 1 file changed, 14 insertions(+), 7 deletions(-) + +diff --git a/data/meson.build b/data/meson.build +index 712fc7fd22d2..3ca9afa5a1bf 100644 +--- a/data/meson.build ++++ b/data/meson.build +@@ -104,15 +104,22 @@ if build_daemon + dynamic_options += 'RestrictAddressFamilies=AF_NETLINK AF_UNIX' + endif + +- # the order of SystemCallFilter is important as the first encountered will take precedence and +- # will dictate the default action +- syscall_allow = ['@system-service'] +- syscall_deny = ['@resources'] ++ # allow-list, see `systemd-analyze syscall-filter` for what each group adds ++ syscall_filter = [ ++ '@basic-io', ++ '@file-system', ++ '@io-event', ++ '@ipc', ++ '@network-io', ++ '@process', ++ '@sync', ++ 'ioctl', ++ 'uname', ++ ] + if allow_flashrom +- syscall_allow += ['@raw-io'] ++ syscall_filter += ['@raw-io'] + endif +- dynamic_options += ['SystemCallFilter=' + ' '.join(syscall_allow)] +- dynamic_options += ['SystemCallFilter=~' + ' '.join(syscall_deny)] # tilde is not a typo ++ dynamic_options += ['SystemCallFilter=' + ' '.join(syscall_filter)] + + con2.set('dynamic_options', '\n'.join(dynamic_options)) + con2.set('motd_dir', motd_dir) diff --git a/extra/fwupd/PKGBUILD b/extra/fwupd/PKGBUILD index 4da5f68f4..8737f88fa 100644 --- a/extra/fwupd/PKGBUILD +++ b/extra/fwupd/PKGBUILD @@ -11,26 +11,35 @@ # - meson with -Dplugin_intel_spi=false # - remove makedepend on pandoc, meson with -Dman=false -pkgname=(fwupd fwupd-docs) +pkgbase=fwupd +pkgname=( + fwupd + fwupd-docs +) pkgver=1.9.17 -pkgrel=1 +pkgrel=2 pkgdesc="Simple daemon to allow session software to update firmware" arch=(x86_64) url='https://github.com/fwupd/fwupd' license=(LGPL-2.1-or-later) depends=( + bash bluez curl flashrom gcab + gcc-libs + glib2 + glibc gnutls hicolor-icon-theme + json-glib libarchive libcbor libgudev libgusb libjcat - json-glib + libmbim libmm-glib libqmi libxmlb @@ -39,6 +48,10 @@ depends=( protobuf-c python shared-mime-info + sqlite + systemd-libs + xz + zlib ) makedepends=( bash-completion @@ -48,6 +61,7 @@ makedepends=( noto-fonts noto-fonts-cjk python-cairo + python-dbus python-gobject python-pillow vala @@ -56,27 +70,40 @@ checkdepends=(umockdev) source=( "https://github.com/fwupd/fwupd/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.xz"{,.asc} fwupd.sysusers + 0001-Use-simple-allow-listing-for-the-syscall-filter.patch ) sha512sums=('7aa0e24915d51858e1fcd3f04b9c2162d084654991809ce7c19154c8e392a97a4012a967083c171c123b77d0c6174331b8763f1668f499b767c05abdd4a5578d' 'SKIP' - '637203080b55eda74a659f58c853a9a723a2dad5da70915b2b0e036c6145a649468ebec700cc83975d9cb5378b9dced8b3a3b26bdbcc75ddc774837355e75deb') + '637203080b55eda74a659f58c853a9a723a2dad5da70915b2b0e036c6145a649468ebec700cc83975d9cb5378b9dced8b3a3b26bdbcc75ddc774837355e75deb' + '2fcec451c4e48ffaeb880668ea916dc55066da9574c9f44c6b731cfd7365a77605e25543c67202adaac7fb466c5060cdb636e81d9b6248903de6c4c5dfd255c2') b2sums=('2fb5b8c058bdee887fd5fe74451bb08923a4b2f906073c714cd7d9e9b2c45872334f1e2729135f5fe016b459c1440dd084f39ffdf4f45fa14df669c7cbf349b7' 'SKIP' - 'e65ca7da22a20a40882cfc1fe4479643f9a38c90a4f2c3e71e6e5e3de1d6db212a0f17d600097619fe3cdb0a9b860422f8b0b9a9d45441518e51a7eb12a918bb') + 'e65ca7da22a20a40882cfc1fe4479643f9a38c90a4f2c3e71e6e5e3de1d6db212a0f17d600097619fe3cdb0a9b860422f8b0b9a9d45441518e51a7eb12a918bb' + '0fd942b3dcb9ee720c2dad647e942fe57e61d7e8d06ee891cc3de773c0de01d80c96bdd146c9e5faaf70e9dcf74118e788033910e3b3c9e5818d23b6b2256b20') validpgpkeys=(163EB50119225DB3DF8F49EA17ACBA8DFA970E17) # Richard Hughes +prepare() { + cd ${pkgname}-${pkgver} + + # Unbreak syscall filtering check + # https://gitlab.archlinux.org/archlinux/packaging/packages/fwupd/-/issues/1 + # https://github.com/fwupd/fwupd/issues/7144#issuecomment-2070886920 + patch -Np1 -i ../0001-Use-simple-allow-listing-for-the-syscall-filter.patch +} + build() { - arch-meson ${pkgname}-${pkgver} build \ - -D b_lto=false \ - -D docs=enabled \ - -D plugin_amdgpu=disabled \ - -D launchd=disabled \ - -D plugin_intel_spi=false \ - -D supported_build=enabled \ - -D efi_binary=false \ - -D systemd_unit_user=fwupd \ + local meson_options=( + -D docs=enabled + -D efi_binary=false + -D launchd=disabled + -D plugin_amdgpu=disabled + -D plugin_intel_spi=false + -D supported_build=enabled + -D systemd_unit_user=fwupd -Dplugin_uefi_capsule=disabled -Dplugin_uefi_pk=disabled -Dplugin_redfish=disabled -Dplugin_nvme=disabled -Dplugin_msr=disabled -Dman=false - meson compile -C build + ) + + arch-meson ${pkgname}-${pkgver} build "${meson_options[@]}" } check() { @@ -106,6 +133,8 @@ package_fwupd() { libqmi-glib.so ) optdepends=( + 'python-dbus: Firmware packaging tools' + 'python-gobject: Firmware packaging tools' 'udisks2: UEFI firmware upgrade support' ) provides=(libfwupd.so) @@ -121,6 +150,7 @@ package_fwupd() { install -D -m644 fwupd.sysusers "${pkgdir}"/usr/lib/sysusers.d/fwupd.conf # Remove the tests rm -r "${pkgdir}"/usr/{lib,share}/installed-tests/ + # Conflicts with the dbxtool package mv "${pkgdir}"/usr/bin/{,fwupd-}dbxtool #mv "${pkgdir}"/usr/share/man/man1/{,fwupd-}dbxtool.1 # Remove msr module-load config as it is built-in diff --git a/extra/fwupd/keys/pgp/163EB50119225DB3DF8F49EA17ACBA8DFA970E17.asc b/extra/fwupd/keys/pgp/163EB50119225DB3DF8F49EA17ACBA8DFA970E17.asc index bffd39779..6b4395ea6 100644 --- a/extra/fwupd/keys/pgp/163EB50119225DB3DF8F49EA17ACBA8DFA970E17.asc +++ b/extra/fwupd/keys/pgp/163EB50119225DB3DF8F49EA17ACBA8DFA970E17.asc @@ -6,104 +6,190 @@ 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 -vEI5YQ== -=/V/G +IDxyaWNoYXJkQGh1Z2hzaWUuY29tPokBUwQTAQgAPQIbLwYLCQgHAwIEFQIIAwQW +AgMBAh4BAheAFiEEFj61ARkiXbPfj0nqF6y6jfqXDhcFAmYf4QQFCVZeG8AACgkQ +F6y6jfqXDhekLgf+N8NiMd4i7fOtWx4g2AOr0lOlgp52qLj6Svs2YlCIEQCEs2JG +iB/ljelbXftK5tFSvc4WcdHDR4xnmTH4BHSdMsYCqit+qp9gDrRMOrxXNOc755Z7 +6IguCs8euVVY2S1sSw0E3aXX17Q50p1zsNxxjhjEeHzMNVYwNfSMS5MvbmNgxCZy +glNXHHz2vhRXrBbVvq84ExhPMZqTTmTGaQub5tYMJ3RoajL0NVeqLciMt3ocqW8s +gpcCDgijhhtM5l/GlZvIyDCHN0FoNT+Mr8Zc0JETnpQXx4R6oCzgoxh2QJACiTCB +4LDSNLQl2qtYzoGnxb73vb2ucGt/HvxLN1IxstHPGc8XARAAAQEAAAAAAAAAAAAA +AAD/2P/gABBKRklGAAEBAAABAAEAAP/bAEMACAYGBwYFCAcHBwkJCAoMFA0MCwsM +GRITDxQdGh8eHRocHCAkLicgIiwjHBwoNyksMDE0NDQfJzk9ODI8LjM0Mv/bAEMB +CQkJDAsMGA0NGDIhHCEyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy +MjIyMjIyMjIyMjIyMjIyMv/AABEIAJAAfQMBIgACEQEDEQH/xAAfAAABBQEBAQEB +AQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEF +EiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4 +OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaX +mJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp +6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1 +EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS +8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZn +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 +qOR6Tp+1BZ+ODPX+GNvvjrmXWHbVX9jOlhTu+laiNpE7oJmnEBcVPQHoZ2BF1RLF +tLryyfl+t0gNOLw75nni6iODnn0kMTnCeXa/yBydizF/qJau2swIUJfMnYor19uH +vv7OvjfB2UqeGQT/sn6K7UgsNBCgaOoUWp/9WHksbUGNmxNpLQdEiYdfd5EjeUpP +KPu9vqTIezX2UEenkdM3b1QR4pDsGEDaQTpvjHzaPar/UO1sCAnC1dqL54wmD5FF +/g/ZSANd6WgHTdA8vZTRzefN5QEQAAEBAAAAAAAAAAAAAAAA/9j/4AAQSkZJRgAB +AQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwg +JC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwh +MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy +MjL/wAARCACAAIADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQF +BgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKB +kaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW +V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz +tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QA +HwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQA +AQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcY +GRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE +hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX +2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwC3FM+j28wiWKWdWjtb +jz5gCjMOCGU5K5HfoMdMGqc2n20ekzTa1DK1yspWNSfkVBgvtYk5JJByeuBj329b +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 +=eJh0 -----END PGP PUBLIC KEY BLOCK-----