Skip to contentSkip to conversation

swtpm and libtpms host packages

PATCH Applied Jarkko Sakkinen 2 participants 9 messages Jun 5, 2024 – Jun 6, 2024

lore
Share & tools
lore
#0 lore raw

v7 cover swtpm and libtpms host packages

Add swtpm and libtpms host packages.

Jarkko Sakkinen (3):
package/json-glib: add host build
package/libtpms: add host package
package/swtpm: add host package

 DEVELOPERS                     |  2 ++
 package/Config.in.host         |  1 +
 package/json-glib/json-glib.mk |  6 ++++++
 package/libtpms/libtpms.hash   |  2 ++
 package/libtpms/libtpms.mk     | 18 ++++++++++++++++++
 package/swtpm/Config.in.host   | 11 +++++++++++
 package/swtpm/swtpm.hash       |  2 ++
 package/swtpm/swtpm.mk         | 23 +++++++++++++++++++++++
 8 files changed, 65 insertions(+)
 create mode 100644 package/libtpms/libtpms.hash
 create mode 100644 package/libtpms/libtpms.mk
 create mode 100644 package/swtpm/Config.in.host
 create mode 100644 package/swtpm/swtpm.hash
 create mode 100644 package/swtpm/swtpm.mk

--
2.45.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#1 lore raw

PATCH v7 1/3 package/json-glib: add host build

---
v7:
- Rebase to f77d698f83b2 ("support/scripts/apply-patches: use appropriate TAR"). v3:
- Remove host kconfig symbol.
- HOST_JSON_GLIB_CONF_OPTS = -Dintrospection=disabled
v2:
- Disable GOI and NLS for the host.
- Add the missing host config.

---
 package/json-glib/json-glib.mk | 6 ++++++
 1 file changed, 6 insertions(+)
package/json-glib/json-glib.mk +6 -0
index cd53f24cee..cc9f8c9fa1 100644
@@ -18,6 +18,11 @@ JSON_GLIB_DEPENDENCIES = \
 	host-pkgconf \
 	libglib2
 
+HOST_JSON_GLIB_DEPENDENCIES = \
+	host-pkgconf \
+	host-libglib2
+HOST_JSON_GLIB_CONF_OPTS = -Dintrospection=disabled
+
 ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
 JSON_GLIB_CONF_OPTS += -Dintrospection=enabled
 JSON_GLIB_DEPENDENCIES += gobject-introspection
@@ -34,3 +39,4 @@ endif
 JSON_GLIB_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS)
 
 $(eval $(meson-package))
+$(eval $(host-meson-package))

--
2.45.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#2 lore raw

Re: [Buildroot] [PATCH v7 1/3] package/json-glib: add host build

Jarkko, All,

On 2024-06-06 02:35 +0300, Jarkko Sakkinen spake thusly:

Quoted 1 line

[--SNIP--]

package/json-glib/json-glib.mk JSON_GLIB_DEPENDENCIES = \ · line 24

Quoted 12 lines
package/json-glib/json-glib.mk +4 -0
index cd53f24cee..cc9f8c9fa1 100644
@@ -18,6 +18,11 @@ JSON_GLIB_DEPENDENCIES = \
 	host-pkgconf \
 	libglib2
 
+HOST_JSON_GLIB_DEPENDENCIES = \
+	host-pkgconf \
+	host-libglib2
+HOST_JSON_GLIB_CONF_OPTS = -Dintrospection=disabled

Like for the target variant, I also added:
-Dgtk_doc=disabled
-Dtests=false

Applied to next, thanks.

Regards,
Yann E. MORIN.

Quoted 15 lines
package/json-glib/json-glib.mk +1 -1
 ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
 JSON_GLIB_CONF_OPTS += -Dintrospection=enabled
 JSON_GLIB_DEPENDENCIES += gobject-introspection
@@ -34,3 +39,4 @@ endif
 JSON_GLIB_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS)
 
 $(eval $(meson-package))
+$(eval $(host-meson-package))
--

2.45.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

Signature · 10 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#3 lore raw

PATCH v7 2/3 package/libtpms: add host package

In reply to Jarkko Sakkinen

Libtpms is a library that targets the integration of TPM functionality into hypervisors, primarily into Qemu. Libtpms provides a very narrow public API for this purpose so that integration is possible. Only the minimum of necessary APIs are made publicly available.

---
v7:
- Rebase to f77d698f83b2 ("support/scripts/apply-patches: use appropriate TAR"). v6:
- Remove Config.in.host entirely. Not required for pure deps.
v5:
- Config.in.host
- s/"libtpms"/"host libtpms"/
v4:
- Changed in libtpms.mk to purely HOST_*.
v3:
- Use package deps in Kconfig as this just a library.
- DEPENDENCIES and CONF_OPTS for the host build
v2:
- Use host packages in package/libtpms/Config.in.
- Select BR2_HOST_PACKAGE_LIBOPENSSL.

---
 DEVELOPERS                   |  1 +
 package/libtpms/libtpms.hash |  2 ++
 package/libtpms/libtpms.mk   | 18 ++++++++++++++++++
 3 files changed, 21 insertions(+)
 create mode 100644 package/libtpms/libtpms.hash
 create mode 100644 package/libtpms/libtpms.mk
DEVELOPERS +1 -0
index 03aa7bfa74..3ca7fcc36e 100644
@@ -1521,6 +1521,7 @@ N:	Jared Bents <[email protected]>
 F:	package/libvirt/
 
 N:	Jarkko Sakkinen <[email protected]>
+F:	package/libtpms/
 F:	package/quota/
 
 N:	Jason Pruitt <[email protected]>
package/libtpms/libtpms.hash new file +2 -0
new file mode 100644
index 0000000000..1026aaa4f4
@@ -0,0 +1,2 @@
+sha256  2807466f1563ebe45fdd12dd26e501e8a0c4fbb99c7c428fbb508789efd221c0  libtpms-0.9.6.tar.gz
+sha256  82f1e6bae374bb6a9d4f4596767fd33e499718d560de140fd9f3d402cc5e41fb  LICENSE
package/libtpms/libtpms.mk new file +18 -0
new file mode 100644
index 0000000000..19d7cef89f
@@ -0,0 +1,18 @@
+################################################################################
+#
+# libtpms
+#
+################################################################################
+
+LIBTPMS_VERSION = 0.9.6
+LIBTPMS_SITE = $(call github,stefanberger,libtpms,v$(LIBTPMS_VERSION))
+LIBTPMS_LICENSE = BSD-4-Clause
+LIBTPMS_LICENSE_FILES = LICENSE
+LIBTPMS_INSTALL_STAGING = YES
+
+# Required because a plain Git clone is used:
+HOST_LIBTPMS_AUTORECONF = YES
+HOST_LIBTPMS_DEPENDENCIES = host-pkgconf host-openssl
+HOST_LIBTPMS_CONF_OPTS = --with-openssl  -with-tpm2
+
+$(eval $(host-autotools-package))

--
2.45.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#4 lore raw

PATCH v7 3/3 package/swtpm: add host package

In reply to Jarkko Sakkinen

The SWTPM package provides TPM emulators with different front-end interfaces to libtpms. TPM emulators provide socket interfaces (TCP/IP and Unix) and the Linux CUSE interface for the creation of multiple native /dev/vtpm* devices.

---
v7:
- Rebase to f77d698f83b2 ("support/scripts/apply-patches: use appropriate TAR"). v5:
- HOST_AUTORECONF
v3:
- Remove libtool from Config.host.in.
v2:
- Remove libraries from Config.host.in.
- Put deps line-by-line.

---
 DEVELOPERS                   |  1 +
 package/Config.in.host       |  1 +
 package/swtpm/Config.in.host | 11 +++++++++++
 package/swtpm/swtpm.hash     |  2 ++
 package/swtpm/swtpm.mk       | 23 +++++++++++++++++++++++
 5 files changed, 38 insertions(+)
 create mode 100644 package/swtpm/Config.in.host
 create mode 100644 package/swtpm/swtpm.hash
 create mode 100644 package/swtpm/swtpm.mk
DEVELOPERS +1 -0
index 3ca7fcc36e..4ec1f2cad7 100644
@@ -1523,6 +1523,7 @@ F:	package/libvirt/
 N:	Jarkko Sakkinen <[email protected]>
 F:	package/libtpms/
 F:	package/quota/
+F:	package/swtpm/
 
 N:	Jason Pruitt <[email protected]>
 F:	package/librtlsdr/
package/Config.in.host +1 -0
index 986b2854d0..0cf9dc3897 100644
@@ -110,6 +110,7 @@ menu "Host utilities"
 	source "package/starfive-spltool/Config.in.host"
 	source "package/sunxi-tools/Config.in.host"
 	source "package/swig/Config.in.host"
+	source "package/swtpm/Config.in.host"
 	source "package/swugenerator/Config.in.host"
 	source "package/systemd/Config.in.host"
 	source "package/tegrarcm/Config.in.host"
package/swtpm/Config.in.host new file +11 -0
new file mode 100644
index 0000000000..0dd984ff8d
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_HOST_SWTPM
+	bool "host swtpm"
+	help
+	  Compiles SWTPM software TPM emulator for the host.
+
+	  The SWTPM package provides TPM emulators with different
+	  front-end interfaces to libtpms. TPM emulators provide socket
+	  interfaces (TCP/IP and Unix) and the Linux CUSE interface for
+	  the creation of multiple native /dev/vtpm* devices.
+
+	  https://github.com/stefanberger/swtpm/wiki
package/swtpm/swtpm.hash new file +2 -0
new file mode 100644
index 0000000000..934d3b6ee0
@@ -0,0 +1,2 @@
+sha256  b281b4e8c39f68e1928675f788abc70072e4081152e129144359a8c5c304c06b  swtpm-0.8.2.tar.gz
+sha256  19d27d6e96d07022e5e688f75c974f1ceb9aae9e90e0fccae68666d02099cc4b  LICENSE
package/swtpm/swtpm.mk new file +23 -0
new file mode 100644
index 0000000000..b05a248c03
@@ -0,0 +1,23 @@
+################################################################################
+#
+# swtpm
+#
+################################################################################
+
+SWTPM_VERSION = 0.8.2
+SWTPM_SITE = $(call github,stefanberger,swtpm,v$(SWTPM_VERSION))
+SWTPM_LICENSE = BSD-4-Clause
+SWTPM_LICENSE_FILES = LICENSE
+
+# Required because a plain Git clone is used:
+HOST_SWTPM_AUTORECONF = YES
+HOST_SWTPM_DEPENDENCIES = \
+	host-json-glib \
+	host-libopenssl \
+	host-libtasn1 \
+	host-libtool \
+	host-libtpms \
+	host-pkgconf
+HOST_SWTPM_CONF_OPTS = --with-openssl --without-seccomp
+
+$(eval $(host-autotools-package))

--
2.45.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#5 lore raw

Re: [Buildroot] [PATCH v7 3/3] package/swtpm: add host package

Jarkko, All,

On 2024-06-06 02:35 +0300, Jarkko Sakkinen spake thusly:

Quoted 7 lines

The SWTPM package provides TPM emulators with different front-end interfaces to libtpms. TPM emulators provide socket interfaces (TCP/IP and Unix) and the Linux CUSE interface for the creation of multiple native /dev/vtpm* devices.

---

[--SNIP--]

Quoted 19 lines
package/swtpm/swtpm.mk new file +13 -0
new file mode 100644
index 0000000000..b05a248c03
@@ -0,0 +1,23 @@
+################################################################################
+#
+# swtpm
+#
+################################################################################
+
+SWTPM_VERSION = 0.8.2
+SWTPM_SITE = $(call github,stefanberger,swtpm,v$(SWTPM_VERSION))
+SWTPM_LICENSE = BSD-4-Clause
+SWTPM_LICENSE_FILES = LICENSE
+
+# Required because a plain Git clone is used:
+HOST_SWTPM_AUTORECONF = YES

package/swtpm/swtpm.mk line 23

Quoted 10 lines
package/swtpm/swtpm.mk new file +10 -0
+HOST_SWTPM_DEPENDENCIES = \
+	host-json-glib \
+	host-libopenssl \
+	host-libtasn1 \
+	host-libtool \
+	host-libtpms \
+	host-pkgconf
+HOST_SWTPM_CONF_OPTS = --with-openssl --without-seccomp
+
+$(eval $(host-autotools-package))
    $ make defconfig
    $ make host-swtpm
    [...]
    configure: error: expect is required: expect package

It is only needed for tests, so I disabled those.

I took that opportunity to also reorganise the variables in a more logical manner: first, depenencies, then autoreconf, finally configure opts.

Applied to next, thanks.

Regards,
Yann E. MORIN.

Signature · 10 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#6 lore raw

Re: [Buildroot] [PATCH v7 3/3] package/swtpm: add host package

Quoted 46 lines · Yann E. MORIN

Jarkko, All,

On 2024-06-06 02:35 +0300, Jarkko Sakkinen spake thusly:

Quoted 7 lines

The SWTPM package provides TPM emulators with different front-end interfaces to libtpms. TPM emulators provide socket interfaces (TCP/IP and Unix) and the Linux CUSE interface for the creation of multiple native /dev/vtpm* devices.

---

[--SNIP--]

Quoted 19 lines
package/swtpm/swtpm.mk new file +13 -0
new file mode 100644
index 0000000000..b05a248c03
@@ -0,0 +1,23 @@
+################################################################################
+#
+# swtpm
+#
+################################################################################
+
+SWTPM_VERSION = 0.8.2
+SWTPM_SITE = $(call github,stefanberger,swtpm,v$(SWTPM_VERSION))
+SWTPM_LICENSE = BSD-4-Clause
+SWTPM_LICENSE_FILES = LICENSE
+
+# Required because a plain Git clone is used:
+HOST_SWTPM_AUTORECONF = YES

package/swtpm/swtpm.mk line 23

Quoted 10 lines
package/swtpm/swtpm.mk new file +10 -0
+HOST_SWTPM_DEPENDENCIES = \
+	host-json-glib \
+	host-libopenssl \
+	host-libtasn1 \
+	host-libtool \
+	host-libtpms \
+	host-pkgconf
+HOST_SWTPM_CONF_OPTS = --with-openssl --without-seccomp
+
+$(eval $(host-autotools-package))
    $ make defconfig
    $ make host-swtpm
    [...]
    configure: error: expect is required: expect package
Quoted 7 lines

It is only needed for tests, so I disabled those.

I took that opportunity to also reorganise the variables in a more logical manner: first, depenencies, then autoreconf, finally configure opts.

Applied to next, thanks.

Thanks a lot for addressing those issues!

With systemd I'll test if just those fixes without version upgrade would take of it because that would be a better order. And also split into two patches.

I.e. thes transcripts:

Filesystem found in kernel header but not in filesystems-gperf.gperf: BCACHEFS_SUPER_MAGIC Filesystem found in kernel header but not in filesystems-gperf.gperf: PID_FS_MAGIC

Is this anywhere near how the upstream references could be tagged?

Upstream: ed01b92e1c92 ("basic: add PIDFS magic (#31709)")
Upstream: 201148b08de6 ("basic: Add BCACHEFS magic")

I did not look into any bug database just plain scavenged the superblock keywors for systemd's commit log :-)

Probably for a project like BuildRoot there must be really something actually enforocing the upgrade :-)

Quoted 3 lines

Regards,
Yann E. MORIN.

BR, Jarkko
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#7 lore raw

Re: [Buildroot] [PATCH v7 3/3] package/swtpm: add host package

Jarkko, All,

On 2024-06-06 14:49 +0300, Jarkko Sakkinen spake thusly:

Quoted 3 lines

With systemd I'll test if just those fixes without version upgrade would take of it because that would be a better order. And also split into two patches.

Please, keep the replies in the corresponding thread, otherwise it is hard to follow on and understand what's going on...

Regards,
Yann E. MORIN.

Signature · 10 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#8 lore raw
In reply to Jarkko Sakkinen

Jarkko, All,

On 2024-06-06 02:35 +0300, Jarkko Sakkinen spake thusly:

Quoted 6 lines

Add swtpm and libtpms host packages.

Jarkko Sakkinen (3):
package/json-glib: add host build
package/libtpms: add host package
package/swtpm: add host package

Series applied to next, thanks. I'll further reply to the last patch.

Regards,
Yann E. MORIN.

Quoted 22 lines
 DEVELOPERS                     |  2 ++
 package/Config.in.host         |  1 +
 package/json-glib/json-glib.mk |  6 ++++++
 package/libtpms/libtpms.hash   |  2 ++
 package/libtpms/libtpms.mk     | 18 ++++++++++++++++++
 package/swtpm/Config.in.host   | 11 +++++++++++
 package/swtpm/swtpm.hash       |  2 ++
 package/swtpm/swtpm.mk         | 23 +++++++++++++++++++++++
 8 files changed, 65 insertions(+)
 create mode 100644 package/libtpms/libtpms.hash
 create mode 100644 package/libtpms/libtpms.mk
 create mode 100644 package/swtpm/Config.in.host
 create mode 100644 package/swtpm/swtpm.hash
 create mode 100644 package/swtpm/swtpm.mk

--
2.45.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

Signature · 10 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot