diff options
author | Alexander Kanavin <alex.kanavin@gmail.com> | 2020-01-14 14:59:48 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-01-16 22:33:09 +0000 |
commit | 8f2f1af3630264f34f454dab71861e64c820f6db (patch) | |
tree | dcd12e08e80aa494829e1e47d32259ab0bf66600 /meta/recipes-devtools/rpm | |
parent | b11fc7795cd1a6d74c9bb50b922d928f4a17722d (diff) | |
download | poky-8f2f1af3630264f34f454dab71861e64c820f6db.tar.gz |
rpm: switch to openssl from nss
nss is a problematic library in many ways, but openssl
seems to work just fine.
rpm was the only user of nss in oe-core, which opens
the possibility of moving it out.
Add a backported patch to enable builds with latest openssl.
(From OE-Core rev: 8c35a01dc771bf48f74129daa58d365100d18081)
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/rpm')
-rw-r--r-- | meta/recipes-devtools/rpm/files/0001-Rip-out-partial-support-for-unused-MD2-and-RIPEMD160.patch | 81 | ||||
-rw-r--r-- | meta/recipes-devtools/rpm/rpm_4.14.2.1.bb | 5 |
2 files changed, 84 insertions, 2 deletions
diff --git a/meta/recipes-devtools/rpm/files/0001-Rip-out-partial-support-for-unused-MD2-and-RIPEMD160.patch b/meta/recipes-devtools/rpm/files/0001-Rip-out-partial-support-for-unused-MD2-and-RIPEMD160.patch new file mode 100644 index 0000000000..734e38bb39 --- /dev/null +++ b/meta/recipes-devtools/rpm/files/0001-Rip-out-partial-support-for-unused-MD2-and-RIPEMD160.patch | |||
@@ -0,0 +1,81 @@ | |||
1 | From 2d53d1e308a5bd15a16cc289fa7e1f264ea706be Mon Sep 17 00:00:00 2001 | ||
2 | From: Panu Matilainen <pmatilai@redhat.com> | ||
3 | Date: Tue, 26 Jun 2018 10:46:14 +0300 | ||
4 | Subject: [PATCH] Rip out partial support for unused MD2 and RIPEMD160 digests | ||
5 | |||
6 | Inspired by #453, adding configure-checks for unused digests algorithms | ||
7 | seems nonsensical, at no point in rpm history have these algorithms been | ||
8 | used for anything in rpm so there's not even backward compatibility to | ||
9 | care about. So the question becomes why do we appear to have (some) | ||
10 | support for those unused algorithms? So lets don't, problem solved... | ||
11 | |||
12 | Upstream-Status: Backport [https://github.com/rpm-software-management/rpm/commit/ff4b9111aeba01dd025dd133ce617fb80f7398a0] | ||
13 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
14 | --- | ||
15 | rpmio/digest_beecrypt.c | 7 ------- | ||
16 | rpmio/digest_nss.c | 2 -- | ||
17 | rpmio/digest_openssl.c | 6 ------ | ||
18 | 3 files changed, 15 deletions(-) | ||
19 | |||
20 | diff --git a/rpmio/digest_beecrypt.c b/rpmio/digest_beecrypt.c | ||
21 | index 597027e25..653a39491 100644 | ||
22 | --- a/rpmio/digest_beecrypt.c | ||
23 | +++ b/rpmio/digest_beecrypt.c | ||
24 | @@ -132,10 +132,6 @@ DIGEST_CTX rpmDigestInit(int hashalgo, rpmDigestFlags flags) | ||
25 | ctx->Digest = (void *) sha512Digest; | ||
26 | break; | ||
27 | #endif | ||
28 | - case PGPHASHALGO_RIPEMD160: | ||
29 | - case PGPHASHALGO_MD2: | ||
30 | - case PGPHASHALGO_TIGER192: | ||
31 | - case PGPHASHALGO_HAVAL_5_160: | ||
32 | default: | ||
33 | free(ctx); | ||
34 | return NULL; | ||
35 | @@ -292,9 +288,6 @@ static int pgpVerifySigRSA(pgpDigAlg pgpkey, pgpDigAlg pgpsig, uint8_t *hash, si | ||
36 | case PGPHASHALGO_SHA1: | ||
37 | prefix = "3021300906052b0e03021a05000414"; | ||
38 | break; | ||
39 | - case PGPHASHALGO_MD2: | ||
40 | - prefix = "3020300c06082a864886f70d020205000410"; | ||
41 | - break; | ||
42 | case PGPHASHALGO_SHA256: | ||
43 | prefix = "3031300d060960864801650304020105000420"; | ||
44 | break; | ||
45 | diff --git a/rpmio/digest_nss.c b/rpmio/digest_nss.c | ||
46 | index e11920e3e..b3d2b5595 100644 | ||
47 | --- a/rpmio/digest_nss.c | ||
48 | +++ b/rpmio/digest_nss.c | ||
49 | @@ -117,7 +117,6 @@ static HASH_HashType getHashType(int hashalgo) | ||
50 | { | ||
51 | switch (hashalgo) { | ||
52 | case PGPHASHALGO_MD5: return HASH_AlgMD5; | ||
53 | - case PGPHASHALGO_MD2: return HASH_AlgMD2; | ||
54 | case PGPHASHALGO_SHA1: return HASH_AlgSHA1; | ||
55 | #ifdef SHA224_LENGTH | ||
56 | case PGPHASHALGO_SHA224: return HASH_AlgSHA224; | ||
57 | @@ -217,7 +216,6 @@ static SECOidTag getHashAlg(unsigned int hashalgo) | ||
58 | { | ||
59 | switch (hashalgo) { | ||
60 | case PGPHASHALGO_MD5: return SEC_OID_MD5; | ||
61 | - case PGPHASHALGO_MD2: return SEC_OID_MD2; | ||
62 | case PGPHASHALGO_SHA1: return SEC_OID_SHA1; | ||
63 | #ifdef SHA224_LENGTH | ||
64 | case PGPHASHALGO_SHA224: return SEC_OID_SHA224; | ||
65 | diff --git a/rpmio/digest_openssl.c b/rpmio/digest_openssl.c | ||
66 | index 18e52a724..0ae48dd1d 100644 | ||
67 | --- a/rpmio/digest_openssl.c | ||
68 | +++ b/rpmio/digest_openssl.c | ||
69 | @@ -172,12 +172,6 @@ static const EVP_MD *getEVPMD(int hashalgo) | ||
70 | case PGPHASHALGO_SHA1: | ||
71 | return EVP_sha1(); | ||
72 | |||
73 | - case PGPHASHALGO_RIPEMD160: | ||
74 | - return EVP_ripemd160(); | ||
75 | - | ||
76 | - case PGPHASHALGO_MD2: | ||
77 | - return EVP_md2(); | ||
78 | - | ||
79 | case PGPHASHALGO_SHA256: | ||
80 | return EVP_sha256(); | ||
81 | |||
diff --git a/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb b/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb index c37330eb4c..339bd7b834 100644 --- a/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb +++ b/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb | |||
@@ -42,6 +42,7 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \ | |||
42 | file://0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch \ | 42 | file://0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch \ |
43 | file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \ | 43 | file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \ |
44 | file://0001-mono-find-provides-requires-do-not-use-monodis-from-.patch \ | 44 | file://0001-mono-find-provides-requires-do-not-use-monodis-from-.patch \ |
45 | file://0001-Rip-out-partial-support-for-unused-MD2-and-RIPEMD160.patch \ | ||
45 | " | 46 | " |
46 | 47 | ||
47 | PE = "1" | 48 | PE = "1" |
@@ -49,7 +50,7 @@ SRCREV = "4a9440006398646583f0d9ae1837dad2875013aa" | |||
49 | 50 | ||
50 | S = "${WORKDIR}/git" | 51 | S = "${WORKDIR}/git" |
51 | 52 | ||
52 | DEPENDS = "nss libarchive db file popt xz bzip2 dbus elfutils python3" | 53 | DEPENDS = "openssl libarchive db file popt xz bzip2 dbus elfutils python3" |
53 | DEPENDS_append_class-native = " file-replacement-native bzip2-replacement-native" | 54 | DEPENDS_append_class-native = " file-replacement-native bzip2-replacement-native" |
54 | 55 | ||
55 | inherit autotools gettext pkgconfig python3native | 56 | inherit autotools gettext pkgconfig python3native |
@@ -58,7 +59,7 @@ export PYTHON_ABI | |||
58 | # OE-core patches autoreconf to additionally run gnu-configize, which fails with this recipe | 59 | # OE-core patches autoreconf to additionally run gnu-configize, which fails with this recipe |
59 | EXTRA_AUTORECONF_append = " --exclude=gnu-configize" | 60 | EXTRA_AUTORECONF_append = " --exclude=gnu-configize" |
60 | 61 | ||
61 | EXTRA_OECONF_append = " --without-lua --enable-python" | 62 | EXTRA_OECONF_append = " --without-lua --enable-python --with-crypto=openssl" |
62 | EXTRA_OECONF_append_libc-musl = " --disable-nls" | 63 | EXTRA_OECONF_append_libc-musl = " --disable-nls" |
63 | 64 | ||
64 | # --sysconfdir prevents rpm from attempting to access machine-specific configuration in sysroot/etc; we need to have it in rootfs | 65 | # --sysconfdir prevents rpm from attempting to access machine-specific configuration in sysroot/etc; we need to have it in rootfs |