1 |
commit: 604d5b3e0de296fc6fa6f05007b196f9860974e6 |
2 |
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Aug 21 22:23:36 2019 +0000 |
4 |
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Aug 21 22:24:58 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=604d5b3e |
7 |
|
8 |
dev-libs/openssl: fix USE=bindist |
9 |
|
10 |
Patches from upstream are out-of-date and don't apply against openssl-1.1.1c. |
11 |
Instead of patching a patch it's easier to maintain our own patch set. |
12 |
|
13 |
Closes: https://bugs.gentoo.org/692678 |
14 |
Package-Manager: Portage-2.3.72, Repoman-2.3.17 |
15 |
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org> |
16 |
|
17 |
dev-libs/openssl/Manifest | 4 +-- |
18 |
dev-libs/openssl/openssl-1.1.1c.ebuild | 62 +++++++++++++++------------------- |
19 |
2 files changed, 28 insertions(+), 38 deletions(-) |
20 |
|
21 |
diff --git a/dev-libs/openssl/Manifest b/dev-libs/openssl/Manifest |
22 |
index ae40847f77d..321134adc24 100644 |
23 |
--- a/dev-libs/openssl/Manifest |
24 |
+++ b/dev-libs/openssl/Manifest |
25 |
@@ -22,7 +22,5 @@ DIST openssl-1.1.1b.tar.gz 8213737 BLAKE2B 7ad9da9548052e2a033a684038f97c420cfff |
26 |
DIST openssl-1.1.1b_ec_curve.c 17938 BLAKE2B d5cbde40dcd8608087aed6ffa9feb040ffadecf0c46b7f3978cc468a9503f0a5ad0a426ea6f8db56f49a64474a508bebdf946e01ebf09adc727675f3b180bcdc SHA512 ec470f6514cb9a4f680b8cbbe02e2bbe71639b288f3429d976726047901d9c50377dfb2737f32429da2fb0e52fd67878a86debb54520e307ee196d97b5c66415 |
27 |
DIST openssl-1.1.1b_ectest.c 35091 BLAKE2B a9602255ab529751c2af2419206ce113f03f93b7b776691ea2ec550f26ddbecd241844bb81dc86988fdbb1c0a587318f82ce4faecba1a6142a19cf08d40fb2c5 SHA512 7813d9b6b7ab62119a7f2dd5431c17c5839f4c320ac7071b0714c9b8528bda5fda779dbb263328dca6ee8446e9fa09c663da659c9a82832a65cf53d1cd8a4cef |
28 |
DIST openssl-1.1.1b_hobble-openssl 1117 BLAKE2B c3a1477e63331e83cf1cbe58e9ef131ec500a311e22d3da55034800ca353c387b2e202575acf3badb00b236ff91d4bac1bb131a33930939646d26bec27be6e04 SHA512 fa9cc70afa11a7a292548b4bddbba8159824a364ce5c279b483768e6ae2aa4b5491d9bf2cc734819f30a11c8ee0d91bcb991c4a7ab357296aeb4c04feac74826 |
29 |
+DIST openssl-1.1.1c-bindist-1.0.tar.xz 11964 BLAKE2B 8c5190846d13984589a150089d329bb3ecc613788b9462c6f6a1833a040e21cb9bf940140449f09fd797c0e396b0aea073237be374bd16097795b8974c3e7ce5 SHA512 249c6d8c455130b98e3be635f12f323e0cc349f1770648bad591e5de15483917185a473c162ed871a2fa05b47056931e6f12e5fdd9cecee7e6d1c246b862923b |
30 |
DIST openssl-1.1.1c.tar.gz 8864262 BLAKE2B bd157b244bedcefb8e646a743732945119b267236789ac69c38856570318aca09299bdaaea3f20294863b633e6fd4dfe124820597185b3b7461cfdf094daadb0 SHA512 8e2c5cc11c120efbb7d7850980cb6eaa782d29b4996b3f3378d37613c1679f852d7cc08a90d62e78fcec3439f06bdbee70064579a8c2adaffd91532a97f646ff |
31 |
-DIST openssl-1.1.1c_ec_curve.c 17938 BLAKE2B d5cbde40dcd8608087aed6ffa9feb040ffadecf0c46b7f3978cc468a9503f0a5ad0a426ea6f8db56f49a64474a508bebdf946e01ebf09adc727675f3b180bcdc SHA512 ec470f6514cb9a4f680b8cbbe02e2bbe71639b288f3429d976726047901d9c50377dfb2737f32429da2fb0e52fd67878a86debb54520e307ee196d97b5c66415 |
32 |
-DIST openssl-1.1.1c_ectest.c 35091 BLAKE2B a9602255ab529751c2af2419206ce113f03f93b7b776691ea2ec550f26ddbecd241844bb81dc86988fdbb1c0a587318f82ce4faecba1a6142a19cf08d40fb2c5 SHA512 7813d9b6b7ab62119a7f2dd5431c17c5839f4c320ac7071b0714c9b8528bda5fda779dbb263328dca6ee8446e9fa09c663da659c9a82832a65cf53d1cd8a4cef |
33 |
-DIST openssl-1.1.1c_hobble-openssl 1117 BLAKE2B c3a1477e63331e83cf1cbe58e9ef131ec500a311e22d3da55034800ca353c387b2e202575acf3badb00b236ff91d4bac1bb131a33930939646d26bec27be6e04 SHA512 fa9cc70afa11a7a292548b4bddbba8159824a364ce5c279b483768e6ae2aa4b5491d9bf2cc734819f30a11c8ee0d91bcb991c4a7ab357296aeb4c04feac74826 |
34 |
|
35 |
diff --git a/dev-libs/openssl/openssl-1.1.1c.ebuild b/dev-libs/openssl/openssl-1.1.1c.ebuild |
36 |
index b189b395c98..1071017acce 100644 |
37 |
--- a/dev-libs/openssl/openssl-1.1.1c.ebuild |
38 |
+++ b/dev-libs/openssl/openssl-1.1.1c.ebuild |
39 |
@@ -6,6 +6,16 @@ EAPI=7 |
40 |
inherit flag-o-matic toolchain-funcs multilib multilib-minimal |
41 |
|
42 |
MY_P=${P/_/-} |
43 |
+ |
44 |
+# This patch set is based on the following files from Fedora 31, |
45 |
+# see https://src.fedoraproject.org/rpms/openssl/blob/f31/f/openssl.spec |
46 |
+# for more details: |
47 |
+# - hobble-openssl (SOURCE1) |
48 |
+# - ec_curve.c (SOURCE12) |
49 |
+# - ectest.c (SOURCE13) |
50 |
+# - openssl-1.1.1-ec-curves.patch (PATCH37) -- MODIFIED |
51 |
+BINDIST_PATCH_SET="openssl-1.1.1c-bindist-1.0.tar.xz" |
52 |
+ |
53 |
DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)" |
54 |
HOMEPAGE="https://www.openssl.org/" |
55 |
SRC_URI="mirror://openssl/source/${MY_P}.tar.gz" |
56 |
@@ -33,25 +43,7 @@ PATCHES=( |
57 |
"${FILESDIR}"/${PN}-1.1.0j-parallel_install_fix.patch #671602 |
58 |
) |
59 |
|
60 |
-# This does not copy the entire Fedora patchset, but JUST the parts that |
61 |
-# are needed to make it safe to use EC with RESTRICT=bindist. |
62 |
-# See openssl.spec for the matching numbering of SourceNNN, PatchNNN |
63 |
-SOURCE1=hobble-openssl |
64 |
-SOURCE12=ec_curve.c |
65 |
-SOURCE13=ectest.c |
66 |
-PATCH37=openssl-1.1.1-ec-curves.patch |
67 |
-FEDORA_GIT_BASE='https://src.fedoraproject.org/cgit/rpms/openssl.git/plain/' |
68 |
-FEDORA_GIT_BRANCH='f29' |
69 |
-FEDORA_SRC_URI=() |
70 |
-FEDORA_SOURCE=( ${SOURCE1} ${SOURCE12} ${SOURCE13} ) |
71 |
-FEDORA_PATCH=( ${PATCH37} ) |
72 |
-for i in "${FEDORA_SOURCE[@]}" ; do |
73 |
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH} -> ${P}_${i}" ) |
74 |
-done |
75 |
-for i in "${FEDORA_PATCH[@]}" ; do # Already have a version prefix |
76 |
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH} -> ${i}" ) |
77 |
-done |
78 |
-SRC_URI+=" bindist? ( ${FEDORA_SRC_URI[@]} )" |
79 |
+SRC_URI+=" bindist? ( https://dev.gentoo.org/~whissi/dist/openssl/${BINDIST_PATCH_SET} )" |
80 |
|
81 |
S="${WORKDIR}/${MY_P}" |
82 |
|
83 |
@@ -61,27 +53,27 @@ MULTILIB_WRAPPED_HEADERS=( |
84 |
|
85 |
src_prepare() { |
86 |
if use bindist; then |
87 |
- # This just removes the prefix, and puts it into WORKDIR like the RPM. |
88 |
- for i in "${FEDORA_SOURCE[@]}" ; do |
89 |
- cp -f "${DISTDIR}"/"${P}_${i}" "${WORKDIR}"/"${i}" || die |
90 |
+ mv "${WORKDIR}"/bindist-patches/hobble-openssl "${WORKDIR}" || die |
91 |
+ bash "${WORKDIR}"/hobble-openssl || die |
92 |
+ |
93 |
+ cp -f "${WORKDIR}"/bindist-patches/ec_curve.c "${S}"/crypto/ec/ || die |
94 |
+ cp -f "${WORKDIR}"/bindist-patches/ectest.c "${S}"/test/ || die |
95 |
+ |
96 |
+ eapply "${WORKDIR}"/bindist-patches/ec-curves.patch |
97 |
+ |
98 |
+ local known_failing_test |
99 |
+ for known_failing_test in \ |
100 |
+ 30-test_evp_extra.t \ |
101 |
+ 80-test_ssl_new.t \ |
102 |
+ ; do |
103 |
+ ebegin "Disabling test '${known_failing_test}' which is known to fail with USE=bindist" |
104 |
+ rm test/recipes/${known_failing_test} || die |
105 |
+ eend $? |
106 |
done |
107 |
|
108 |
- # .spec %prep |
109 |
- bash "${WORKDIR}"/"${SOURCE1}" || die |
110 |
- cp -f "${WORKDIR}"/"${SOURCE12}" "${S}"/crypto/ec/ || die |
111 |
- cp -f "${WORKDIR}"/"${SOURCE13}" "${S}"/test/ || die |
112 |
- for i in "${FEDORA_PATCH[@]}" ; do |
113 |
- if [[ "${i}" == "${PATCH37}" ]] ; then |
114 |
- # apply our own for OpenSSL 1.1.1b adjusted version of this patch |
115 |
- eapply "${FILESDIR}"/openssl-1.1.1b-ec-curves-patch.patch |
116 |
- else |
117 |
- eapply "${DISTDIR}"/"${i}" |
118 |
- fi |
119 |
- done |
120 |
# Also see the configure parts below: |
121 |
# enable-ec \ |
122 |
# $(use_ssl !bindist ec2m) \ |
123 |
- |
124 |
fi |
125 |
|
126 |
# keep this in sync with app-misc/c_rehash |