Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox