* [Buildroot] [PATCH v4 2/6] package/python-cbor2: enable host build
2024-07-19 6:32 [Buildroot] [PATCH v4 1/6] package/python-pefile: new host package James Hilliard
@ 2024-07-19 6:32 ` James Hilliard
2024-07-19 6:32 ` [Buildroot] [PATCH v4 3/6] package/python3: add option to support lzma/xz in host-python James Hilliard
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: James Hilliard @ 2024-07-19 6:32 UTC (permalink / raw)
To: buildroot; +Cc: Eric Le Bihan, James Hilliard, Thomas Petazzoni, Asaf Kahlon
This will be required for the upcoming python-uswid package.
Disable c extensions for host package to speed up build.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
package/python-cbor2/python-cbor2.mk | 3 +++
1 file changed, 3 insertions(+)
diff --git a/package/python-cbor2/python-cbor2.mk b/package/python-cbor2/python-cbor2.mk
index 5040301867..423670047e 100644
--- a/package/python-cbor2/python-cbor2.mk
+++ b/package/python-cbor2/python-cbor2.mk
@@ -12,5 +12,8 @@ PYTHON_CBOR2_LICENSE = MIT
PYTHON_CBOR2_LICENSE_FILES = LICENSE.txt
PYTHON_CBOR2_DEPENDENCIES = host-python-setuptools-scm
PYTHON_CBOR2_ENV = CBOR2_BUILD_C_EXTENSION=1
+HOST_PYTHON_CBOR2_DEPENDENCIES = host-python-setuptools-scm
+HOST_PYTHON_CBOR2_ENV = CBOR2_BUILD_C_EXTENSION=0
$(eval $(python-package))
+$(eval $(host-python-package))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 7+ messages in thread* [Buildroot] [PATCH v4 3/6] package/python3: add option to support lzma/xz in host-python
2024-07-19 6:32 [Buildroot] [PATCH v4 1/6] package/python-pefile: new host package James Hilliard
2024-07-19 6:32 ` [Buildroot] [PATCH v4 2/6] package/python-cbor2: enable host build James Hilliard
@ 2024-07-19 6:32 ` James Hilliard
2024-07-19 6:32 ` [Buildroot] [PATCH v4 4/6] package/python-uswid: new host package James Hilliard
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: James Hilliard @ 2024-07-19 6:32 UTC (permalink / raw)
To: buildroot; +Cc: Eric Le Bihan, James Hilliard, Thomas Petazzoni, Asaf Kahlon
This will be needed by the upcoming host-python-uswid package.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
package/python3/Config.in.host | 5 +++++
package/python3/python3.mk | 6 ++++++
2 files changed, 11 insertions(+)
diff --git a/package/python3/Config.in.host b/package/python3/Config.in.host
index 88c286c55b..f3fcd63567 100644
--- a/package/python3/Config.in.host
+++ b/package/python3/Config.in.host
@@ -12,6 +12,11 @@ config BR2_PACKAGE_HOST_PYTHON3_BZIP2
help
bz2 module for host Python3.
+config BR2_PACKAGE_HOST_PYTHON3_XZ
+ bool "xz"
+ help
+ xz (a.k.a lzma) module for host Python3
+
config BR2_PACKAGE_HOST_PYTHON3_CURSES
bool "curses"
help
diff --git a/package/python3/python3.mk b/package/python3/python3.mk
index f85dcfad30..7d6c9fe93f 100644
--- a/package/python3/python3.mk
+++ b/package/python3/python3.mk
@@ -57,6 +57,12 @@ else
HOST_PYTHON3_CONF_ENV += py_cv_module__bz2=n/a
endif
+ifeq ($(BR2_PACKAGE_HOST_PYTHON3_XZ),y)
+HOST_PYTHON3_DEPENDENCIES += host-xz
+else
+HOST_PYTHON3_CONF_ENV += py_cv_module__lzma=n/a
+endif
+
ifeq ($(BR2_PACKAGE_HOST_PYTHON3_CURSES),y)
HOST_PYTHON3_DEPENDENCIES += host-ncurses
else
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 7+ messages in thread* [Buildroot] [PATCH v4 4/6] package/python-uswid: new host package
2024-07-19 6:32 [Buildroot] [PATCH v4 1/6] package/python-pefile: new host package James Hilliard
2024-07-19 6:32 ` [Buildroot] [PATCH v4 2/6] package/python-cbor2: enable host build James Hilliard
2024-07-19 6:32 ` [Buildroot] [PATCH v4 3/6] package/python3: add option to support lzma/xz in host-python James Hilliard
@ 2024-07-19 6:32 ` James Hilliard
2024-07-19 6:32 ` [Buildroot] [PATCH v4 5/6] package/fwupd-efi: new package James Hilliard
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: James Hilliard @ 2024-07-19 6:32 UTC (permalink / raw)
To: buildroot; +Cc: Eric Le Bihan, James Hilliard, Thomas Petazzoni, Asaf Kahlon
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
Changes v3 -> v4:
- add host python3 xz dependency
---
package/Config.in.host | 1 +
package/python-uswid/Config.in.host | 8 ++++++++
package/python-uswid/python-uswid.hash | 5 +++++
package/python-uswid/python-uswid.mk | 18 ++++++++++++++++++
4 files changed, 32 insertions(+)
create mode 100644 package/python-uswid/Config.in.host
create mode 100644 package/python-uswid/python-uswid.hash
create mode 100644 package/python-uswid/python-uswid.mk
diff --git a/package/Config.in.host b/package/Config.in.host
index 4340e6e8c9..e4fbee4f2a 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -89,6 +89,7 @@ menu "Host utilities"
source "package/python-lxml/Config.in.host"
source "package/python-pyyaml/Config.in.host"
source "package/python-six/Config.in.host"
+ source "package/python-uswid/Config.in.host"
source "package/python-xlrd/Config.in.host"
source "package/python3/Config.in.host"
source "package/qemu/Config.in.host"
diff --git a/package/python-uswid/Config.in.host b/package/python-uswid/Config.in.host
new file mode 100644
index 0000000000..6605d51915
--- /dev/null
+++ b/package/python-uswid/Config.in.host
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_HOST_PYTHON_USWID
+ bool "host python-uswid"
+ select BR2_PACKAGE_HOST_PYTHON3
+ select BR2_PACKAGE_HOST_PYTHON3_XZ
+ help
+ A tiny tool for embedding CoSWID tags in EFI binaries.
+
+ https://github.com/hughsie/python-uswid
diff --git a/package/python-uswid/python-uswid.hash b/package/python-uswid/python-uswid.hash
new file mode 100644
index 0000000000..b6bf09c713
--- /dev/null
+++ b/package/python-uswid/python-uswid.hash
@@ -0,0 +1,5 @@
+# md5, sha256 from https://pypi.org/pypi/uswid/json
+md5 e43ff6d49ddcda0c95338d3271694b91 uswid-0.5.0.tar.gz
+sha256 bdcd7ee5afac1da60ee688c357aa12f5f8d74bc28012446b10e2b4a9cf52fc6d uswid-0.5.0.tar.gz
+# Locally computed sha256 checksums
+sha256 98bc07f3fb70d05b01ff740e8191b9f29c080159f01588991fbd872c611236f9 LICENSE
diff --git a/package/python-uswid/python-uswid.mk b/package/python-uswid/python-uswid.mk
new file mode 100644
index 0000000000..2092a06f52
--- /dev/null
+++ b/package/python-uswid/python-uswid.mk
@@ -0,0 +1,18 @@
+################################################################################
+#
+# python-uswid
+#
+################################################################################
+
+PYTHON_USWID_VERSION = 0.5.0
+PYTHON_USWID_SOURCE = uswid-$(PYTHON_USWID_VERSION).tar.gz
+PYTHON_USWID_SITE = https://files.pythonhosted.org/packages/dc/bf/05291df12037befeacda2083c798e98691043978e07ca4a00b4eb94aeb61
+PYTHON_USWID_SETUP_TYPE = setuptools
+PYTHON_USWID_LICENSE = BSD-2-Clause-Patent
+PYTHON_USWID_LICENSE_FILES = LICENSE
+HOST_PYTHON_USWID_DEPENDENCIES = \
+ host-python-cbor2 \
+ host-python-lxml \
+ host-python-pefile
+
+$(eval $(host-python-package))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 7+ messages in thread* [Buildroot] [PATCH v4 5/6] package/fwupd-efi: new package
2024-07-19 6:32 [Buildroot] [PATCH v4 1/6] package/python-pefile: new host package James Hilliard
` (2 preceding siblings ...)
2024-07-19 6:32 ` [Buildroot] [PATCH v4 4/6] package/python-uswid: new host package James Hilliard
@ 2024-07-19 6:32 ` James Hilliard
2024-07-19 6:32 ` [Buildroot] [PATCH v4 6/6] package/fwupd: " James Hilliard
2024-08-01 20:56 ` [Buildroot] [PATCH v4 1/6] package/python-pefile: new host package Thomas Petazzoni via buildroot
5 siblings, 0 replies; 7+ messages in thread
From: James Hilliard @ 2024-07-19 6:32 UTC (permalink / raw)
To: buildroot; +Cc: Eric Le Bihan, James Hilliard, Thomas Petazzoni, Asaf Kahlon
Backport some patches fixing the python shebang and allowing one
to disable the use of genpeimg since we use host-python-pefile.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
Changes v3 -> v4:
- select BR2_PACKAGE_HOST_PYTHON_USWID
Changes v2 -> v3:
- add python shebang fix
- disable genpeimg binary usage
- set objcopy path
- add host-python-pefile host-python-uswid deps
Changes v1 -> v2:
- use gitlab for efi_sbat_distro_url
---
DEVELOPERS | 1 +
package/Config.in | 1 +
...disabling-the-use-of-genpeimg-binary.patch | 41 ++++++++
...-shebang-paths-and-add-python-option.patch | 95 +++++++++++++++++++
package/fwupd-efi/Config.in | 9 ++
package/fwupd-efi/fwupd-efi.hash | 3 +
package/fwupd-efi/fwupd-efi.mk | 28 ++++++
7 files changed, 178 insertions(+)
create mode 100644 package/fwupd-efi/0001-Allow-enabling-disabling-the-use-of-genpeimg-binary.patch
create mode 100644 package/fwupd-efi/0002-Fix-python3-shebang-paths-and-add-python-option.patch
create mode 100644 package/fwupd-efi/Config.in
create mode 100644 package/fwupd-efi/fwupd-efi.hash
create mode 100644 package/fwupd-efi/fwupd-efi.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index c4f1565edd..e686dd7060 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1489,6 +1489,7 @@ F: package/apcupsd/
F: package/bpftool/
F: package/cloudflared/
F: package/exfatprogs/
+F: package/fwupd-efi/
F: package/fxdiv/
F: package/gensio/
F: package/lua-std-debug/
diff --git a/package/Config.in b/package/Config.in
index f2e10b2b5e..c07544bb21 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -520,6 +520,7 @@ endmenu
source "package/fmtools/Config.in"
source "package/freeipmi/Config.in"
source "package/freescale-imx/Config.in"
+ source "package/fwupd-efi/Config.in"
source "package/fxload/Config.in"
source "package/gcnano-binaries/Config.in"
source "package/gpm/Config.in"
diff --git a/package/fwupd-efi/0001-Allow-enabling-disabling-the-use-of-genpeimg-binary.patch b/package/fwupd-efi/0001-Allow-enabling-disabling-the-use-of-genpeimg-binary.patch
new file mode 100644
index 0000000000..e6e460a3b7
--- /dev/null
+++ b/package/fwupd-efi/0001-Allow-enabling-disabling-the-use-of-genpeimg-binary.patch
@@ -0,0 +1,41 @@
+From fb1cf079346a2838cc44f7116cb4a790e40cc5bf Mon Sep 17 00:00:00 2001
+From: James Hilliard <james.hilliard1@gmail.com>
+Date: Tue, 2 Jul 2024 15:08:18 -0600
+Subject: [PATCH] Allow enabling/disabling the use of genpeimg binary
+
+In some cases we may want to force the use of python3-pefile instead
+of genpeimg such as when cross compiling, add a feature option to
+allow disabling genpeimg.
+
+Upstream: https://github.com/fwupd/fwupd-efi/commit/fb1cf079346a2838cc44f7116cb4a790e40cc5bf
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+---
+ meson.build | 2 +-
+ meson_options.txt | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index a3ce068..a5612a6 100644
+--- a/meson.build
++++ b/meson.build
+@@ -17,7 +17,7 @@ prefix = get_option('prefix')
+ libdir = join_paths(prefix, get_option('libdir'))
+ libexecdir = join_paths(prefix, get_option('libexecdir'))
+
+-genpeimg = find_program ('genpeimg', required: false)
++genpeimg = find_program ('genpeimg', required: get_option('genpeimg'))
+
+ efi_app_location = join_paths(libexecdir, 'fwupd', 'efi')
+ host_cpu = host_machine.cpu_family()
+diff --git a/meson_options.txt b/meson_options.txt
+index 26161e1..588ae29 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -7,3 +7,4 @@ option('efi_sbat_distro_summary', type : 'string', value : '', description : 'SB
+ option('efi_sbat_distro_pkgname', type : 'string', value : '', description : 'SBAT distribution package name, e.g. fwupd')
+ option('efi_sbat_distro_version', type : 'string', value : '', description : 'SBAT distribution version, e.g. fwupd-1.5.6.fc33')
+ option('efi_sbat_distro_url', type : 'string', value : '', description : 'SBAT distribution URL, e.g. https://src.fedoraproject.org/rpms/fwupd')
++option('genpeimg', type : 'feature', description : 'Use genpeimg to add NX support to binaries')
+--
+2.34.1
+
diff --git a/package/fwupd-efi/0002-Fix-python3-shebang-paths-and-add-python-option.patch b/package/fwupd-efi/0002-Fix-python3-shebang-paths-and-add-python-option.patch
new file mode 100644
index 0000000000..9747565182
--- /dev/null
+++ b/package/fwupd-efi/0002-Fix-python3-shebang-paths-and-add-python-option.patch
@@ -0,0 +1,95 @@
+From 1cd1ff0216d5beb2a2523031398d4dba7d12729d Mon Sep 17 00:00:00 2001
+From: James Hilliard <james.hilliard1@gmail.com>
+Date: Tue, 2 Jul 2024 14:51:26 -0600
+Subject: [PATCH] Fix python3 shebang paths and add python option.
+
+Using absolute paths can result in the wrong python3 binary being
+used, such as when cross compiling using a non-system python3.
+
+Use the normal python3 env shebang instead.
+
+Also add a meson option to allow overriding the python path.
+
+Upstream: https://github.com/fwupd/fwupd-efi/commit/1cd1ff0216d5beb2a2523031398d4dba7d12729d
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+---
+ contrib/reformat-code.py | 2 +-
+ efi/generate_binary.py | 2 +-
+ efi/generate_sbat.py | 2 +-
+ efi/meson.build | 4 ++--
+ meson.build | 7 +++++++
+ meson_options.txt | 1 +
+ 6 files changed, 13 insertions(+), 5 deletions(-)
+
+diff --git a/contrib/reformat-code.py b/contrib/reformat-code.py
+index 65a4ac4..ff6014d 100755
+--- a/contrib/reformat-code.py
++++ b/contrib/reformat-code.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python3
++#!/usr/bin/env python3
+ #
+ # Copyright (C) 2017 Dell Inc.
+ #
+diff --git a/efi/generate_binary.py b/efi/generate_binary.py
+index 443472a..a4611bb 100755
+--- a/efi/generate_binary.py
++++ b/efi/generate_binary.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python3
++#!/usr/bin/env python3
+ #
+ # Copyright (C) 2021 Javier Martinez Canillas <javierm@redhat.com>
+ # Copyright (C) 2021 Richard Hughes <richard@hughsie.com>
+diff --git a/efi/generate_sbat.py b/efi/generate_sbat.py
+index 6c904e5..b9b80ac 100755
+--- a/efi/generate_sbat.py
++++ b/efi/generate_sbat.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python3
++#!/usr/bin/env python3
+ #
+ # Copyright (C) 2021 Javier Martinez Canillas <javierm@redhat.com>
+ # Copyright (C) 2021 Richard Hughes <richard@hughsie.com>
+diff --git a/efi/meson.build b/efi/meson.build
+index 75ade7a..008ba3d 100644
+--- a/efi/meson.build
++++ b/efi/meson.build
+@@ -1,5 +1,5 @@
+-generate_sbat = find_program('generate_sbat.py', native: true)
+-generate_binary = find_program('generate_binary.py', native: true)
++generate_sbat = [python3, files('generate_sbat.py')]
++generate_binary = [python3, files('generate_binary.py')]
+
+ # get source version, falling back
+ git = find_program('git', required : false)
+diff --git a/meson.build b/meson.build
+index a5612a6..5836213 100644
+--- a/meson.build
++++ b/meson.build
+@@ -19,6 +19,13 @@ libexecdir = join_paths(prefix, get_option('libexecdir'))
+
+ genpeimg = find_program ('genpeimg', required: get_option('genpeimg'))
+
++python3path = get_option('python')
++if python3path == ''
++ python3 = import('python').find_installation('python3')
++else
++ python3 = find_program(python3path)
++endif
++
+ efi_app_location = join_paths(libexecdir, 'fwupd', 'efi')
+ host_cpu = host_machine.cpu_family()
+ if host_cpu == 'x86'
+diff --git a/meson_options.txt b/meson_options.txt
+index 588ae29..5f6f521 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -8,3 +8,4 @@ option('efi_sbat_distro_pkgname', type : 'string', value : '', description : 'SB
+ option('efi_sbat_distro_version', type : 'string', value : '', description : 'SBAT distribution version, e.g. fwupd-1.5.6.fc33')
+ option('efi_sbat_distro_url', type : 'string', value : '', description : 'SBAT distribution URL, e.g. https://src.fedoraproject.org/rpms/fwupd')
+ option('genpeimg', type : 'feature', description : 'Use genpeimg to add NX support to binaries')
++option('python', type : 'string', description : 'the absolute path of the python3 binary')
+--
+2.34.1
+
diff --git a/package/fwupd-efi/Config.in b/package/fwupd-efi/Config.in
new file mode 100644
index 0000000000..7d3ad6a4a8
--- /dev/null
+++ b/package/fwupd-efi/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_FWUPD_EFI
+ bool "fwupd-efi"
+ depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS
+ select BR2_PACKAGE_GNU_EFI
+ select BR2_PACKAGE_HOST_PYTHON_USWID
+ help
+ EFI Application used by uefi-capsule plugin in fwupd.
+
+ https://github.com/fwupd/fwupd-efi
diff --git a/package/fwupd-efi/fwupd-efi.hash b/package/fwupd-efi/fwupd-efi.hash
new file mode 100644
index 0000000000..35dc9625ca
--- /dev/null
+++ b/package/fwupd-efi/fwupd-efi.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 afd0805a2ad081a7caff2ef5bc004ce3a0147b538015e8eca966341716b1260e fwupd-efi-1.6.tar.xz
+sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING
diff --git a/package/fwupd-efi/fwupd-efi.mk b/package/fwupd-efi/fwupd-efi.mk
new file mode 100644
index 0000000000..45eeb8d824
--- /dev/null
+++ b/package/fwupd-efi/fwupd-efi.mk
@@ -0,0 +1,28 @@
+################################################################################
+#
+# fwupd-efi
+#
+################################################################################
+
+FWUPD_EFI_VERSION = 1.6
+FWUPD_EFI_SITE = https://github.com/fwupd/fwupd-efi/releases/download/$(FWUPD_EFI_VERSION)
+FWUPD_EFI_SOURCE = fwupd-efi-$(FWUPD_EFI_VERSION).tar.xz
+FWUPD_EFI_LICENSE = LGPL-2.1+
+FWUPD_EFI_LICENSE_FILES = COPYING
+FWUPD_EFI_INSTALL_STAGING = YES
+FWUPD_EFI_DEPENDENCIES = host-python-pefile host-python-uswid gnu-efi
+FWUPD_EFI_CONF_OPTS = \
+ -Defi-libdir=$(STAGING_DIR)/usr/lib \
+ -Defi-ldsdir=$(STAGING_DIR)/usr/lib \
+ -Defi-includedir=$(STAGING_DIR)/usr/include/efi \
+ -Defi_sbat_fwupd_generation=1 \
+ -Defi_sbat_distro_id=buildroot \
+ -Defi_sbat_distro_summary=Buildroot \
+ -Defi_sbat_distro_pkgname=fwupd-efi \
+ -Defi_sbat_distro_version=fwupd-efi-$(FWUPD_EFI_VERSION) \
+ -Defi_sbat_distro_url=https://gitlab.com/buildroot.org/buildroot/-/tree/master/package/fwupd-efi \
+ -Dgenpeimg=disabled \
+ -Dpython="$(HOST_DIR)/bin/python3"
+FWUPD_EFI_MESON_EXTRA_BINARIES = objcopy='$(TARGET_OBJCOPY)'
+
+$(eval $(meson-package))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 7+ messages in thread* [Buildroot] [PATCH v4 6/6] package/fwupd: new package
2024-07-19 6:32 [Buildroot] [PATCH v4 1/6] package/python-pefile: new host package James Hilliard
` (3 preceding siblings ...)
2024-07-19 6:32 ` [Buildroot] [PATCH v4 5/6] package/fwupd-efi: new package James Hilliard
@ 2024-07-19 6:32 ` James Hilliard
2024-08-01 20:56 ` [Buildroot] [PATCH v4 1/6] package/python-pefile: new host package Thomas Petazzoni via buildroot
5 siblings, 0 replies; 7+ messages in thread
From: James Hilliard @ 2024-07-19 6:32 UTC (permalink / raw)
To: buildroot; +Cc: Eric Le Bihan, James Hilliard, Thomas Petazzoni, Asaf Kahlon
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
Changes v3 -> v4:
- add patch removing udevdir requirement
Changes v2 -> v3:
- set udevdir so that we don't need to depend on udev
- add missing host-python-jinja2 build dependency
- only set -Doffline=enabled when systemd is enabled
---
DEVELOPERS | 1 +
package/Config.in | 1 +
...devdir-when-gudev-support-is-enabled.patch | 35 +++
package/fwupd/Config.in | 19 ++
package/fwupd/fwupd.hash | 3 +
package/fwupd/fwupd.mk | 208 ++++++++++++++++++
6 files changed, 267 insertions(+)
create mode 100644 package/fwupd/0001-Only-require-udevdir-when-gudev-support-is-enabled.patch
create mode 100644 package/fwupd/Config.in
create mode 100644 package/fwupd/fwupd.hash
create mode 100644 package/fwupd/fwupd.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index e686dd7060..a546a5b244 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1489,6 +1489,7 @@ F: package/apcupsd/
F: package/bpftool/
F: package/cloudflared/
F: package/exfatprogs/
+F: package/fwupd/
F: package/fwupd-efi/
F: package/fxdiv/
F: package/gensio/
diff --git a/package/Config.in b/package/Config.in
index c07544bb21..ed34afe281 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -520,6 +520,7 @@ endmenu
source "package/fmtools/Config.in"
source "package/freeipmi/Config.in"
source "package/freescale-imx/Config.in"
+ source "package/fwupd/Config.in"
source "package/fwupd-efi/Config.in"
source "package/fxload/Config.in"
source "package/gcnano-binaries/Config.in"
diff --git a/package/fwupd/0001-Only-require-udevdir-when-gudev-support-is-enabled.patch b/package/fwupd/0001-Only-require-udevdir-when-gudev-support-is-enabled.patch
new file mode 100644
index 0000000000..0f14508516
--- /dev/null
+++ b/package/fwupd/0001-Only-require-udevdir-when-gudev-support-is-enabled.patch
@@ -0,0 +1,35 @@
+From a784ef9b904778b511a6284f46d983906939de6c Mon Sep 17 00:00:00 2001
+From: James Hilliard <james.hilliard1@gmail.com>
+Date: Thu, 18 Jul 2024 09:44:15 -0600
+Subject: [PATCH] Only require udevdir when gudev support is enabled
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+Upstream: https://github.com/fwupd/fwupd/commit/a784ef9b904778b511a6284f46d983906939de6c
+---
+ meson.build | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 22282d73e..f49d08d29 100644
+--- a/meson.build
++++ b/meson.build
+@@ -273,10 +273,12 @@ if build_daemon
+ if not polkit.found()
+ warning('Polkit is disabled, the daemon will allow ALL client actions')
+ endif
+- udevdir = get_option('udevdir')
+- if udevdir == '' and host_machine.system() == 'linux'
+- udev = dependency('udev')
+- udevdir = udev.get_variable(pkgconfig: 'udevdir')
++ if gudev.found()
++ udevdir = get_option('udevdir')
++ if udevdir == '' and host_machine.system() == 'linux'
++ udev = dependency('udev')
++ udevdir = udev.get_variable(pkgconfig: 'udevdir')
++ endif
+ endif
+ endif
+ libm = cc.find_library('m', required: false)
+--
+2.34.1
+
diff --git a/package/fwupd/Config.in b/package/fwupd/Config.in
new file mode 100644
index 0000000000..6a96358e5b
--- /dev/null
+++ b/package/fwupd/Config.in
@@ -0,0 +1,19 @@
+config BR2_PACKAGE_FWUPD
+ bool "fwupd"
+ depends on !BR2_STATIC_LIBS # libxmlb
+ depends on BR2_USE_WCHAR # libglib2
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
+ depends on BR2_USE_MMU # libglib2
+ select BR2_PACKAGE_LIBGLIB2
+ select BR2_PACKAGE_LIBJCAT
+ select BR2_PACKAGE_LIBXMLB
+ select BR2_PACKAGE_ZLIB
+ help
+ Fwupd is a simple daemon to allow session software
+ to update device firmware on your local machine.
+
+ https://fwupd.org/
+
+comment "fwupd needs a toolchain w/ wchar, threads, dynamic library"
+ depends on BR2_USE_MMU
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
diff --git a/package/fwupd/fwupd.hash b/package/fwupd/fwupd.hash
new file mode 100644
index 0000000000..8da9dc3c66
--- /dev/null
+++ b/package/fwupd/fwupd.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 b86a2d7fe1b6cc0ac4f75f3351a78cb3c225880c9e20b932fa078ef472e9fcb2 fwupd-1.9.20.tar.xz
+sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING
diff --git a/package/fwupd/fwupd.mk b/package/fwupd/fwupd.mk
new file mode 100644
index 0000000000..9283eb43aa
--- /dev/null
+++ b/package/fwupd/fwupd.mk
@@ -0,0 +1,208 @@
+################################################################################
+#
+# fwupd
+#
+################################################################################
+
+FWUPD_VERSION = 1.9.20
+FWUPD_SITE = https://github.com/fwupd/fwupd/releases/download/$(FWUPD_VERSION)
+FWUPD_SOURCE = fwupd-$(FWUPD_VERSION).tar.xz
+FWUPD_LICENSE = LGPL-2.1+
+FWUPD_LICENSE_FILES = COPYING
+FWUPD_DEPENDENCIES = \
+ host-pkgconf \
+ host-python-jinja2 \
+ libglib2 \
+ libjcat \
+ libxmlb \
+ zlib
+
+FWUPD_CONF_OPTS = \
+ -Dstatic_analysis=false \
+ -Dconsolekit=disabled \
+ -Dfirmware-packager=true \
+ -Ddocs=disabled \
+ -Dlvfs=true \
+ -Dman=false \
+ -Dgusb=disabled \
+ -Dpassim=disabled \
+ -Dp2p_policy=none \
+ -Dcbor=disabled \
+ -Dplugin_acpi_phat=enabled \
+ -Dplugin_cfu=disabled \
+ -Dplugin_ep963x=enabled \
+ -Dplugin_fastboot=disabled \
+ -Dplugin_logitech_bulkcontroller=disabled \
+ -Dplugin_logitech_scribe=disabled \
+ -Dplugin_logitech_tap=disabled \
+ -Dplugin_pixart_rf=enabled \
+ -Dplugin_tpm=disabled \
+ -Dplugin_uefi_capsule=enabled \
+ -Dplugin_uefi_capsule_splash=false \
+ -Dplugin_nitrokey=enabled \
+ -Dplugin_mtd=enabled \
+ -Dplugin_intel_me=enabled \
+ -Dplugin_upower=enabled \
+ -Dplugin_powerd=enabled \
+ -Dqubes=false \
+ -Dsupported_build=enabled \
+ -Dlaunchd=disabled \
+ -Dtests=false \
+ -Dmetainfo=true \
+ -Dfish_completion=false \
+ -Dcompat_cli=false \
+ -Dthinklmi_compat=false \
+ -Dpython="$(HOST_DIR)/bin/python3"
+
+ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
+FWUPD_DEPENDENCIES += gobject-introspection
+FWUPD_CONF_OPTS += -Dintrospection=enabled
+else
+FWUPD_CONF_OPTS += -Dintrospection=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_LIBARCHIVE),y)
+FWUPD_DEPENDENCIES += libarchive
+FWUPD_CONF_OPTS += -Dlibarchive=enabled
+else
+FWUPD_CONF_OPTS += -Dlibarchive=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_LIBGUDEV),y)
+FWUPD_DEPENDENCIES += libgudev
+FWUPD_CONF_OPTS += \
+ -Dgudev=enabled \
+ -Dplugin_android_boot=enabled \
+ -Dplugin_bcm57xx=enabled \
+ -Dplugin_emmc=enabled \
+ -Dplugin_gpio=enabled \
+ -Dplugin_igsc=enabled \
+ -Dplugin_kinetic_dp=enabled \
+ -Dplugin_parade_lspcon=enabled \
+ -Dplugin_realtek_mst=enabled \
+ -Dplugin_synaptics_mst=enabled \
+ -Dplugin_mediatek_scaler=enabled \
+ -Dplugin_scsi=enabled \
+ -Dplugin_nvme=enabled \
+ -Dplugin_uf2=enabled
+else
+FWUPD_CONF_OPTS += \
+ -Dgudev=disabled \
+ -Dplugin_android_boot=disabled \
+ -Dplugin_bcm57xx=disabled \
+ -Dplugin_emmc=disabled \
+ -Dplugin_gpio=disabled \
+ -Dplugin_igsc=disabled \
+ -Dplugin_kinetic_dp=disabled \
+ -Dplugin_parade_lspcon=disabled \
+ -Dplugin_realtek_mst=disabled \
+ -Dplugin_synaptics_mst=disabled \
+ -Dplugin_mediatek_scaler=disabled \
+ -Dplugin_scsi=disabled \
+ -Dplugin_nvme=disabled \
+ -Dplugin_uf2=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS),y)
+FWUPD_DEPENDENCIES += bluez5_utils
+FWUPD_CONF_OPTS += -Dbluez=enabled
+else
+FWUPD_CONF_OPTS += -Dbluez=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_POLKIT),y)
+FWUPD_DEPENDENCIES += polkit
+FWUPD_CONF_OPTS += -Dpolkit=enabled
+else
+FWUPD_CONF_OPTS += -Dpolkit=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_GNUTLS),y)
+FWUPD_DEPENDENCIES += gnutls
+FWUPD_CONF_OPTS += -Dgnutls=enabled -Dplugin_uefi_pk=enabled
+else
+FWUPD_CONF_OPTS += -Dgnutls=disabled -Dplugin_uefi_pk=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_SQLITE),y)
+FWUPD_DEPENDENCIES += sqlite
+FWUPD_CONF_OPTS += -Dsqlite=enabled
+else
+FWUPD_CONF_OPTS += -Dsqlite=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_XZ),y)
+FWUPD_DEPENDENCIES += xz
+FWUPD_CONF_OPTS += -Dlzma=enabled
+ifeq ($(BR2_i386)$(BR2_x86_64),y)
+FWUPD_CONF_OPTS += -Dplugin_intel_spi=true
+else
+FWUPD_CONF_OPTS += -Dplugin_intel_spi=false
+endif
+else
+FWUPD_CONF_OPTS += -Dlzma=disabled -Dplugin_intel_spi=false
+endif
+
+ifeq ($(BR2_PACKAGE_LIBDRM_AMDGPU)$(BR2_PACKAGE_LIBGUDEV),yy)
+FWUPD_DEPENDENCIES += libdrm libgudev
+FWUPD_CONF_OPTS += -Dplugin_amdgpu=enabled
+else
+FWUPD_CONF_OPTS += -Dplugin_amdgpu=disabled
+endif
+
+ifeq ($(BR2_i386)$(BR2_x86_64),y)
+FWUPD_CONF_OPTS += -Dplugin_cpu=enabled -Dplugin_msr=enabled -Dhsi=enabled
+else
+FWUPD_CONF_OPTS += -Dplugin_cpu=disabled -Dplugin_msr=disabled -Dhsi=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_GNUTLS)$(BR2_PACKAGE_LIBGUDEV),yy)
+FWUPD_DEPENDENCIES += gnutls libgudev
+FWUPD_CONF_OPTS += -Dplugin_synaptics_rmi=enabled
+else
+FWUPD_CONF_OPTS += -Dplugin_synaptics_rmi=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_LIBCURL),y)
+FWUPD_DEPENDENCIES += libcurl
+FWUPD_CONF_OPTS += -Dplugin_redfish=enabled -Dcurl=enabled
+else
+FWUPD_CONF_OPTS += -Dplugin_redfish=disabled -Dcurl=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_LIBGUDEV)$(BR2_PACKAGE_LIBMBIM)$(BR2_PACKAGE_LIBQMI)$(BR2_PACKAGE_MODEM_MANAGER),yyyy)
+FWUPD_DEPENDENCIES += libgudev libmbim libqmi modem-manager
+FWUPD_CONF_OPTS += -Dplugin_modem_manager=enabled
+else
+FWUPD_CONF_OPTS += -Dplugin_modem_manager=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_FLASHROM),y)
+FWUPD_DEPENDENCIES += flashrom
+FWUPD_CONF_OPTS += -Dplugin_flashrom=enabled
+else
+FWUPD_CONF_OPTS += -Dplugin_flashrom=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_SYSTEMD),y)
+FWUPD_DEPENDENCIES += systemd
+FWUPD_CONF_OPTS += -Dsystemd=enabled -Delogind=enabled -Doffline=enabled
+else
+FWUPD_CONF_OPTS += -Dsystemd=disabled -Delogind=disabled -Doffline=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_FWUPD_EFI),y)
+FWUPD_DEPENDENCIES += fwupd-efi
+FWUPD_CONF_OPTS += -Defi_binary=true
+else
+FWUPD_CONF_OPTS += -Defi_binary=false
+endif
+
+ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y)
+FWUPD_DEPENDENCIES += bash-completion
+FWUPD_CONF_OPTS += -Dbash_completion=true
+else
+FWUPD_CONF_OPTS += -Dbash_completion=false
+endif
+
+$(eval $(meson-package))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [Buildroot] [PATCH v4 1/6] package/python-pefile: new host package
2024-07-19 6:32 [Buildroot] [PATCH v4 1/6] package/python-pefile: new host package James Hilliard
` (4 preceding siblings ...)
2024-07-19 6:32 ` [Buildroot] [PATCH v4 6/6] package/fwupd: " James Hilliard
@ 2024-08-01 20:56 ` Thomas Petazzoni via buildroot
5 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-08-01 20:56 UTC (permalink / raw)
To: James Hilliard; +Cc: Eric Le Bihan, Asaf Kahlon, buildroot
On Fri, 19 Jul 2024 00:32:30 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
> package/python-pefile/python-pefile.hash | 5 +++++
> package/python-pefile/python-pefile.mk | 14 ++++++++++++++
> 2 files changed, 19 insertions(+)
> create mode 100644 package/python-pefile/python-pefile.hash
> create mode 100644 package/python-pefile/python-pefile.mk
Thanks a lot, series applied!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 7+ messages in thread