* [Buildroot] [PATCH v4 1/6] package/python-pefile: new host package
@ 2024-07-19 6:32 James Hilliard
2024-07-19 6:32 ` [Buildroot] [PATCH v4 2/6] package/python-cbor2: enable host build James Hilliard
` (5 more replies)
0 siblings, 6 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>
---
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
diff --git a/package/python-pefile/python-pefile.hash b/package/python-pefile/python-pefile.hash
new file mode 100644
index 0000000000..af2288487d
--- /dev/null
+++ b/package/python-pefile/python-pefile.hash
@@ -0,0 +1,5 @@
+# md5, sha256 from https://pypi.org/pypi/pefile/json
+md5 fa0eba7c91f4e696771ddbfacdca25e4 pefile-2023.2.7.tar.gz
+sha256 82e6114004b3d6911c77c3953e3838654b04511b8b66e8583db70c65998017dc pefile-2023.2.7.tar.gz
+# Locally computed sha256 checksums
+sha256 bfd4b5e4f8a99c961fd6f94d708e38396cc146bfe8fbc5d2a86e63aa29fb4208 LICENSE
diff --git a/package/python-pefile/python-pefile.mk b/package/python-pefile/python-pefile.mk
new file mode 100644
index 0000000000..c65f1deb60
--- /dev/null
+++ b/package/python-pefile/python-pefile.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# python-pefile
+#
+################################################################################
+
+PYTHON_PEFILE_VERSION = 2023.2.7
+PYTHON_PEFILE_SOURCE = pefile-$(PYTHON_PEFILE_VERSION).tar.gz
+PYTHON_PEFILE_SITE = https://files.pythonhosted.org/packages/78/c5/3b3c62223f72e2360737fd2a57c30e5b2adecd85e70276879609a7403334
+PYTHON_PEFILE_SETUP_TYPE = setuptools
+PYTHON_PEFILE_LICENSE = MIT
+PYTHON_PEFILE_LICENSE_FILES = LICENSE
+
+$(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 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
end of thread, other threads:[~2024-08-01 20:57 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [Buildroot] [PATCH v4 4/6] package/python-uswid: new host package James Hilliard
2024-07-19 6:32 ` [Buildroot] [PATCH v4 5/6] package/fwupd-efi: new package 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
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.