Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/openssl/
Date: Wed, 21 Aug 2019 22:25:21
Message-Id: 1566426298.604d5b3e0de296fc6fa6f05007b196f9860974e6.whissi@gentoo
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