From 566a1c3fcc28729a82ea34de096014b5bbff35b7 Mon Sep 17 00:00:00 2001 From: dkwo Date: Mon, 23 Jan 2023 17:45:50 -0500 Subject: [PATCH] sbsigntool: patch for openss3, add CFLAG --- srcpkgs/sbsigntool/patches/openssl3.patch | 35 +++++++++++++++++++++++ srcpkgs/sbsigntool/template | 4 ++- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/sbsigntool/patches/openssl3.patch diff --git a/srcpkgs/sbsigntool/patches/openssl3.patch b/srcpkgs/sbsigntool/patches/openssl3.patch new file mode 100644 index 000000000000..cd0d025ada7b --- /dev/null +++ b/srcpkgs/sbsigntool/patches/openssl3.patch @@ -0,0 +1,35 @@ +Subject: [PATCH] Fix openssl-3.0 issue involving ASN1 xxx_it +From: Jeremi Piotrowski +Origin: https://groups.io/g/sbsigntools/message/54 + +Use ASN1_ITEM_rptr() instead of taking the address of IDC_PEID_it. + +openssl-3.0 changed the type of TYPE_it from `const ASN1_ITEM TYPE_it` to +`const ASN1_ITEM *TYPE_it(void)`. This was previously hidden behind +OPENSSL_EXPORT_VAR_AS_FUNCTION but in 3.0 only the function version is +available. This change should have been transparent to the application, but +only if the `ASN1_ITEM_rptr()` macro is used. + +This change passes `make check` with both openssl 1.1 and 3.0. + +Signed-off-by: Jeremi Piotrowski +--- + src/idc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/idc.c b/src/idc.c +index 6d87bd4..0a82218 100644 +--- a/src/idc.c ++++ b/src/idc.c +@@ -189,7 +189,7 @@ int IDC_set(PKCS7 *p7, PKCS7_SIGNER_INFO *si, struct image *image) + + idc->data->type = OBJ_nid2obj(peid_nid); + idc->data->value = ASN1_TYPE_new(); +- type_set_sequence(image, idc->data->value, peid, &IDC_PEID_it); ++ type_set_sequence(image, idc->data->value, peid, ASN1_ITEM_rptr(IDC_PEID)); + + idc->digest->alg->parameter = ASN1_TYPE_new(); + idc->digest->alg->algorithm = OBJ_nid2obj(NID_sha256); +-- +2.25.1 + diff --git a/srcpkgs/sbsigntool/template b/srcpkgs/sbsigntool/template index 42b2545d23ef..1bdee8c5b784 100644 --- a/srcpkgs/sbsigntool/template +++ b/srcpkgs/sbsigntool/template @@ -1,7 +1,7 @@ # Template file for 'sbsigntool' pkgname=sbsigntool version=0.9.4 -revision=4 +revision=5 archs="x86_64* i686* aarch64* arm*" build_style=gnu-configure hostmakedepends="autoconf automake pkg-config help2man" @@ -20,6 +20,8 @@ checksum="eddb7d21263ee2b07be8f0ed93b6ba021c3f943964730b2d86f44736fa1924d5 1dc1e1de5f2dda50dbd2e6a83355fe7ae38ca0f79daeb404026421af70606653" skip_extraction="sbsigntool_0.9.2.orig.tar.gz" conf_files="/etc/default/sbsigntool-kernel-hook" +# openssl3 fix +CFLAGS+=" -Wno-error=deprecated-declarations" post_extract() { bsdtar -xzf $XBPS_SRCDISTDIR/$pkgname-$version/sbsigntool_0.9.2.orig.tar.gz