summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-crypt/swtpm')
-rw-r--r--app-crypt/swtpm/Manifest3
-rw-r--r--app-crypt/swtpm/files/swtpm-0.5.0-disable-test-dependencies.patch26
-rw-r--r--app-crypt/swtpm/files/swtpm-0.6.0-fix-localca-path.patch (renamed from app-crypt/swtpm/files/swtpm-0.5.0-fix-localca-path.patch)8
-rw-r--r--app-crypt/swtpm/files/swtpm-0.7.2-Conditionalize-test-dependencies.patch42
-rw-r--r--app-crypt/swtpm/files/swtpm-0.8.2-slibtool.patch24
-rw-r--r--app-crypt/swtpm/metadata.xml11
-rw-r--r--app-crypt/swtpm/swtpm-0.8.1-r2.ebuild (renamed from app-crypt/swtpm/swtpm-0.5.2.ebuild)65
-rw-r--r--app-crypt/swtpm/swtpm-0.8.2.ebuild73
8 files changed, 180 insertions, 72 deletions
diff --git a/app-crypt/swtpm/Manifest b/app-crypt/swtpm/Manifest
index 3516263e71ee..39622bc498e0 100644
--- a/app-crypt/swtpm/Manifest
+++ b/app-crypt/swtpm/Manifest
@@ -1 +1,2 @@
-DIST swtpm-0.5.2.tar.gz 309436 BLAKE2B 0518e59b052c9224d5db1c2720f74ff15717468f73b1665e67c017581dd2b52d7a4cf28f94a932eb6068de3bc50f2e5710b8c447e4a08e6b4a31019db542d910 SHA512 4554f1b7a534829f9fbef4a09e190f1d5e91692d270f4f668bd6ef79799a4186a38db172e37a18be9f203466e2d7c9cdf3a350c0020d25ff6126128085ebe3a3
+DIST swtpm-0.8.1.tar.gz 364169 BLAKE2B 4b364ed581ea97d78c5c6248870503b1612d7d164b05b76c1f02644aade6fd09f204396f0a2d0db4e0ecec2792dc512f7c4393c44bf7ce447a3a7fbb8754594f SHA512 07276519b0e20c9c4167ce78e789d2072eb90172ed9bcba2a11eef46ee03a77860f7a2218f4dc013a2ddb8471079e3cbe43f8ab02174bd704a78aea8eee3d2fc
+DIST swtpm-0.8.2.tar.gz 364432 BLAKE2B 1ffa6feed88a67a2eeea1fca1c034f6513347173d59ae0c0654696faa1e791529e7fa044c478e5fb7e016117ce5f3151b875014d85eac528e4b6d92d5cf9017b SHA512 3b63116b1ed56087e05b0b697462720a10fe384ea2b8ec7115b549df8f557f6a9cf4de8e7d65b8061a1c85e54e015e0249bfbb613d35c1b64453a98d23ce334f
diff --git a/app-crypt/swtpm/files/swtpm-0.5.0-disable-test-dependencies.patch b/app-crypt/swtpm/files/swtpm-0.5.0-disable-test-dependencies.patch
deleted file mode 100644
index 3880385256e3..000000000000
--- a/app-crypt/swtpm/files/swtpm-0.5.0-disable-test-dependencies.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index d035653..0728a2e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -325,21 +325,11 @@ fi
- AM_CONDITIONAL([WITH_GNUTLS], [test "x$with_gnutls" = "xyes"])
- AC_SUBST([GNUTLS_LIBS])
-
--AC_PATH_PROG([EXPECT], expect)
--if test "x$EXPECT" = "x"; then
-- AC_MSG_ERROR([expect is required: expect package])
--fi
--
- AC_PATH_PROG([GAWK], gawk)
- if test "x$GAWK" = "x"; then
- AC_MSG_ERROR([gawk is required: gawk package])
- fi
-
--AC_PATH_PROG([SOCAT], socat)
--if test "x$SOCAT" = "x"; then
-- AC_MSG_ERROR([socat is required: socat package])
--fi
--
- AC_PATH_PROG([BASE64], base64)
- if test "x$BASE64" = "x"; then
- AC_MSG_ERROR([base64 is required: base64 package])
diff --git a/app-crypt/swtpm/files/swtpm-0.5.0-fix-localca-path.patch b/app-crypt/swtpm/files/swtpm-0.6.0-fix-localca-path.patch
index 27d29fc55aed..ae47bd5a793f 100644
--- a/app-crypt/swtpm/files/swtpm-0.5.0-fix-localca-path.patch
+++ b/app-crypt/swtpm/files/swtpm-0.6.0-fix-localca-path.patch
@@ -1,9 +1,9 @@
diff --git a/samples/Makefile.am b/samples/Makefile.am
-index 7d69bf8..9fb8338 100644
+index dcbc9b6..68c8adb 100644
--- a/samples/Makefile.am
+++ b/samples/Makefile.am
-@@ -56,10 +56,10 @@ endif
-
+@@ -48,10 +48,10 @@ swtpm_localca_CFLAGS = \
+ $(GLIB_CFLAGS)
install-data-local:
- $(MKDIR_P) $(DESTDIR)$(localstatedir)/lib/swtpm-localca
@@ -15,7 +15,7 @@ index 7d69bf8..9fb8338 100644
+ chmod 0750 $(DESTDIR)$(localstatedir)/swtpm-localca || true; \
fi
- # for out-of-tree builds we need to clean up
+ EXTRA_DIST= \
diff --git a/samples/swtpm-localca.conf.in b/samples/swtpm-localca.conf.in
index 1f0b48d..63f1fed 100644
--- a/samples/swtpm-localca.conf.in
diff --git a/app-crypt/swtpm/files/swtpm-0.7.2-Conditionalize-test-dependencies.patch b/app-crypt/swtpm/files/swtpm-0.7.2-Conditionalize-test-dependencies.patch
new file mode 100644
index 000000000000..b17e1c2470fc
--- /dev/null
+++ b/app-crypt/swtpm/files/swtpm-0.7.2-Conditionalize-test-dependencies.patch
@@ -0,0 +1,42 @@
+configure.ac: Conditionalize test dependencies
+
+Signed-off-by: Christopher Byrne <salah.coronya@gmail.com>
+--- a/configure.ac
++++ b/configure.ac
+@@ -369,20 +369,25 @@ else
+ fi
+ AC_SUBST([DEFAULT_PCR_BANKS])
+
+-AC_PATH_PROG([EXPECT], expect)
+-if test "x$EXPECT" = "x"; then
+- AC_MSG_ERROR([expect is required: expect package])
+-fi
++AC_ARG_ENABLE([test],
++ [AS_HELP_STRING([--enable-test],
++ [enable tests (default is yes)])],
++ [enable_test=$enableval],
++ [enable_test=yes])
++
++AS_IF([test "x$enable_test" != xno],
++ [AC_PATH_PROG([EXPECT], expect)
++ AS_IF([test "x$EXPECT" = "x"],
++ AC_MSG_ERROR([expect is required: expect package]))
++ AC_PATH_PROG([SOCAT], socat)
++ AS_IF([test "x$SOCAT" = "x"],
++ AC_MSG_ERROR([socat is required: socat package]))])
+
+ AC_PATH_PROG([GAWK], gawk)
+ if test "x$GAWK" = "x"; then
+ AC_MSG_ERROR([gawk is required: gawk package])
+ fi
+
+-AC_PATH_PROG([SOCAT], socat)
+-if test "x$SOCAT" = "x"; then
+- AC_MSG_ERROR([socat is required: socat package])
+-fi
+
+ AC_PATH_PROG([BASE64], base64)
+ if test "x$BASE64" = "x"; then
+--
+2.34.1
+
diff --git a/app-crypt/swtpm/files/swtpm-0.8.2-slibtool.patch b/app-crypt/swtpm/files/swtpm-0.8.2-slibtool.patch
new file mode 100644
index 000000000000..abf0d3dbe29c
--- /dev/null
+++ b/app-crypt/swtpm/files/swtpm-0.8.2-slibtool.patch
@@ -0,0 +1,24 @@
+diff --git a/src/swtpm_localca/Makefile.am b/src/swtpm_localca/Makefile.am
+index 74532a8..41b61ec 100644
+--- a/src/swtpm_localca/Makefile.am
++++ b/src/swtpm_localca/Makefile.am
+@@ -30,7 +30,6 @@ swtpm_localca_LDADD = \
+ $(top_builddir)/src/utils/libswtpm_utils.la
+
+ swtpm_localca_LDFLAGS = \
+- -L$(top_builddir)/src/utils -lswtpm_utils \
+ $(MY_LDFLAGS) \
+ $(GLIB_LIBS) \
+ $(GMP_LIBS) \
+diff --git a/src/swtpm_setup/Makefile.am b/src/swtpm_setup/Makefile.am
+index c0f916b..61188c9 100644
+--- a/src/swtpm_setup/Makefile.am
++++ b/src/swtpm_setup/Makefile.am
+@@ -32,7 +32,6 @@ swtpm_setup_LDADD = \
+ $(top_builddir)/src/utils/libswtpm_utils.la
+
+ swtpm_setup_LDFLAGS = \
+- -L$(top_builddir)/src/utils -lswtpm_utils \
+ $(MY_LDFLAGS) \
+ $(HARDENING_LDFLAGS) \
+ $(GLIB_LIBS) \
diff --git a/app-crypt/swtpm/metadata.xml b/app-crypt/swtpm/metadata.xml
index fd9c4b51cbd0..3187cf4dce7f 100644
--- a/app-crypt/swtpm/metadata.xml
+++ b/app-crypt/swtpm/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>salah.coronya@gmail.com</email>
@@ -9,7 +9,14 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <maintainer type="project">
+ <email>virtualization@gentoo.org</email>
+ <name>Gentoo Virtualization Project</name>
+ </maintainer>
<use>
- <flag name="fuse">Support sys-fs/fuse based /dev/tpm interface</flag>
+ <flag name="fuse">Support <pkg>sys-fs/fuse</pkg> based /dev/tpm interface</flag>
</use>
+ <upstream>
+ <remote-id type="github">stefanberger/swtpm</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-crypt/swtpm/swtpm-0.5.2.ebuild b/app-crypt/swtpm/swtpm-0.8.1-r2.ebuild
index 0042a1df1f80..650e54402d13 100644
--- a/app-crypt/swtpm/swtpm-0.5.2.ebuild
+++ b/app-crypt/swtpm/swtpm-0.8.1-r2.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools distutils-r1
+inherit autotools python-any-r1
DESCRIPTION="Libtpms-based TPM emulator"
HOMEPAGE="https://github.com/stefanberger/swtpm"
@@ -13,74 +13,61 @@ SRC_URI="https://github.com/stefanberger/swtpm/archive/v${PV}.tar.gz -> ${P}.tar
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64"
-IUSE="fuse gnutls seccomp test"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
+IUSE="fuse seccomp test"
RESTRICT="!test? ( test )"
-COMMON_DEPEND="
- fuse? (
+# net-libs/gnutls[pkcs11,tools] is required otherwsie it not possible to
+# provision new vTPMs. swtpm_cert spawns certttool, and upstream expects
+# pkcs11 in gnutls: https://github.com/stefanberger/swtpm/issues/477.
+
+RDEPEND="fuse? (
dev-libs/glib:2
sys-fs/fuse:0
)
- gnutls? (
- dev-libs/libtasn1:=
- >=net-libs/gnutls-3.1.0[tools]
- )
+ seccomp? ( sys-libs/libseccomp )
+ acct-group/tss
+ acct-user/tss
dev-libs/openssl:0=
+ dev-libs/json-glib
dev-libs/libtpms
- seccomp? ( sys-libs/libseccomp )
+ dev-libs/libtasn1:=
+ net-libs/gnutls[pkcs11,tools]
"
-DEPEND="${COMMON_DEPEND}
- test? (
+DEPEND="${RDEPEND}
+ test? (
net-misc/socat
dev-tcltk/expect
- )
-"
+ )"
-RDEPEND="${COMMON_DEPEND}
- acct-group/tss
- acct-user/tss
- dev-python/cryptography[${PYTHON_USEDEP}]
-"
+BDEPEND="${PYTHON_DEPS}"
PATCHES=(
- "${FILESDIR}/${PN}-0.5.0-fix-localca-path.patch"
+ "${FILESDIR}/${PN}-0.6.0-fix-localca-path.patch"
"${FILESDIR}/${PN}-0.5.0-build-sys-Remove-WError.patch"
+ "${FILESDIR}/${PN}-0.7.2-Conditionalize-test-dependencies.patch"
)
src_prepare() {
- use test || eapply "${FILESDIR}/${PN}-0.5.0-disable-test-dependencies.patch"
- python_setup
default
eautoreconf
}
src_configure() {
econf \
- --disable-static \
--with-openssl \
+ --with-gnutls \
--without-selinux \
$(use_with fuse cuse) \
- $(use_with gnutls) \
- $(use_with seccomp)
-}
-
-src_compile() {
- # We want the default src_compile, not the version distutils-r1 exports
- default
+ $(use_with seccomp) \
+ $(use_enable test)
}
src_install() {
default
- python_foreach_impl python_optimize
fowners -R tss:root /var/lib/swtpm-localca
fperms 750 /var/lib/swtpm-localca
keepdir /var/lib/swtpm-localca
find "${D}" -name '*.la' -delete || die
}
-
-src_test() {
- # We want the default src_test, not the version distutils-r1 exports
- default
-}
diff --git a/app-crypt/swtpm/swtpm-0.8.2.ebuild b/app-crypt/swtpm/swtpm-0.8.2.ebuild
new file mode 100644
index 000000000000..1740dd4e204e
--- /dev/null
+++ b/app-crypt/swtpm/swtpm-0.8.2.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit autotools python-any-r1
+
+DESCRIPTION="Libtpms-based TPM emulator"
+HOMEPAGE="https://github.com/stefanberger/swtpm"
+SRC_URI="https://github.com/stefanberger/swtpm/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="fuse seccomp test"
+RESTRICT="!test? ( test )"
+
+# net-libs/gnutls[pkcs11,tools] is required otherwsie it not possible to
+# provision new vTPMs. swtpm_cert spawns certttool, and upstream expects
+# pkcs11 in gnutls: https://github.com/stefanberger/swtpm/issues/477.
+
+RDEPEND="fuse? (
+ dev-libs/glib:2
+ sys-fs/fuse:0
+ )
+ seccomp? ( sys-libs/libseccomp )
+ acct-group/tss
+ acct-user/tss
+ dev-libs/openssl:0=
+ dev-libs/json-glib
+ dev-libs/libtpms
+ dev-libs/libtasn1:=
+ net-libs/gnutls[pkcs11,tools]
+"
+
+DEPEND="${RDEPEND}
+ test? (
+ net-misc/socat
+ dev-tcltk/expect
+ )"
+
+BDEPEND="${PYTHON_DEPS}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.6.0-fix-localca-path.patch"
+ "${FILESDIR}/${PN}-0.5.0-build-sys-Remove-WError.patch"
+ "${FILESDIR}/${PN}-0.8.2-slibtool.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-openssl \
+ --with-gnutls \
+ --without-selinux \
+ $(use_with fuse cuse) \
+ $(use_with seccomp) \
+ $(use_enable test tests)
+}
+
+src_install() {
+ default
+ fowners -R tss:root /var/lib/swtpm-localca
+ fperms 750 /var/lib/swtpm-localca
+ keepdir /var/lib/swtpm-localca
+ find "${D}" -name '*.la' -delete || die
+}