Browse code

openssl update

Hanno Böck authored on 04/12/2015 08:47:37
Showing 4 changed files
... ...
@@ -1,4 +1,5 @@
1 1
 AUX gentoo.config-1.0.1 4980 SHA256 e7dd01bc76f0262c91b0a3a56bbf0675feedd6d5c6e61f8dcb5e3c538b113424 SHA512 1900cf603954dc4213d84d2f1f10fb74310dd8134f9c1bcf5f633a45e2ab27398f51656ac2f4165f86be78b19283374689766e3a5d7b43e16afeff884f31a1a0 WHIRLPOOL 2fd9eb3e46a262509f46f5ee6cef963e0bf32ff2c2dc3acb2fdf890326b4db801c0c90814df6f206fc6bc8aaf1184eb68289beb33e36dcebd890bb9e2855545a
2
+AUX gentoo.config-1.0.2 4905 SHA256 98a4c1e2cef5a2378d5dcc61f661300333a6c5c0ba4e3c82590f688e33117604 SHA512 4c13371fb7d0c33f015ed559951c755dabc35279c91d7490578a008087f62c1a94d69e309d4a113bf23e5ad7085e2eec5692152b3d7b1c3130cb64dc2a002632 WHIRLPOOL 64d9cc378ff32bb78a8d0edea25b6519c65af5faf3a7b22713bf19881f61385271e352814460f16375effeccc743c82642e8175aa2590f352b2909748513e120
2 3
 AUX openssl-1.0.0a-ldflags.patch 1095 SHA256 2489ffbae4af11e1642d54992c404ca81b0c2a9c169032281f4f7778d945836f SHA512 d5a3f90ca0e9755940da525b8daba5b5d09b2b251863e9ca4f2b3b0a5db461e0aa25b2ae7a7d36d13a92ff64f2a37d4809b70aff9672c0f43398369bc7099979 WHIRLPOOL b7c2fbc833be856388110f2ac891976903e7c5dd4030249bcd79f915ae94fa93bff955ff3eaaf4a4bab306a09512bd861099c2738f5af7027174b79d023f7261
3 4
 AUX openssl-1.0.0d-windres.patch 2912 SHA256 e5dbfd6af69bc3f69b51787cf1f6245207be9824dfffbdd9b4e278772ed8ab32 SHA512 d7a0238edea29aac7d20dca0778c67f8ae4dc0da190e5277e1b3519ae536f2c44533ac5dc1cbcd138bc4277ad669b13fca316bd962f26e2cb387f2ad3fd0111b WHIRLPOOL d62156820e55898d0a0393473c6ad8e49c5aa7bb9d3fc7043795de7102c3003d5f8b874c751e03cf832e306ac290790e871e1318bb830b3558a43e09be5b45b4
4 5
 AUX openssl-1.0.0h-pkg-config.patch 1363 SHA256 dbbcc175f02e5edced01a13dd1e7d35dc4322c0970f78a7fd781a6c0766886af SHA512 c2f7a68c96098bd742235a40f27d6b1e5a0ebece53ca32dd0be74b85210479064efa1d5dc76e457b786067185768492fab2ed53762a22c511c2a2e3d43ed137b WHIRLPOOL 7f795dbed2124d8d2d126886d106675662f09b8e79c70fa2af3298486fdb75b7f1285dc17a53daf985bd4af1e58c36e13e49f46d18af860f0dabad1b3898c3b0
... ...
@@ -21,7 +22,10 @@ AUX openssl-1.0.2a-parallel-obj-headers.patch 1359 SHA256 147c3eeaad614c044749ea
21 22
 AUX openssl-1.0.2a-parallel-symlinking.patch 1967 SHA256 5be3c20d64cadaed7bc4e8e500e8a67faafded7fb326779620fdb29397c44d87 SHA512 ee6c057134b31a96af5ffc3558011f8f4ffda4a2ceb2967f32cd01b6ee0ce7b386fd195c19936923404da46c33eee38a2bab335da1a16b835ac9f9d02157bdf6 WHIRLPOOL daf64bf9d14b0516b4e9dd75d3b806b1e389defe604de9e0d19860ef10436b9a534d14cfec6422c85e9134998dfe9917d257730036daf813fce0ae7d1f6be284
22 23
 AUX openssl-1.0.2a-x32-asm.patch 1561 SHA256 8bcff04217c5ad82448e27d14f3559a157c2cad89b5fb2b6af701fff1664f86d SHA512 fbb23393e68776e9d34953f85ba3cbb285421d50f06bd297b485c7cffc8d89ca8caff6783f21038ae668b5c75056c89dc652217ac8609b5328e2c28e70ac294c WHIRLPOOL 70163beaed966de948562c3a633828846d12eda7b04526c7e33746c67af5a20ecf47e9e9e5cce33abf7444676f4b15b770204e95db75d0b91a9db13c46ff92bb
23 24
 AUX openssl-1.0.2d-parallel-build.patch 9504 SHA256 deaf6f3af41874ecc6d63841ea14b8e6c71cea81d4a511a754bc90c9a993147f SHA512 9d81b0dd260c0622eefea2bd33a8b19806b372c39fa6197af1b19ce263ddcd4554dd4fc4ebc23452ffc8d0144bb7b8d4aeb19fd479b14220c08c3c53b895a88c WHIRLPOOL 4b9b7c1aa5b2c3a867dc53e417453e0cd7414510fe32b0392915601ed5e4a1ea6b5deeb082d0fdfae1e8a23f481fe7551bb29303a752a8a27c4c11d80c4a320d
25
+AUX openssl-1.0.2e-parallel-build.patch 9620 SHA256 1200c48f8e209bce505bec23958afa4700681ee97f374064a5484623fe497269 SHA512 8aa64a78bc190a9c04f0093af2cdbcc0bed25be8c5f31c3a31e8b19954a58ba96ab05139d3ae6ecd7bc24e123536eec54fc98330167affcfd13cbd6d90626637 WHIRLPOOL 7ad5e275dce8f644deb3779900940cdbc625ecdcc984386502e1cb8dd7ead6bbd3a32fa41ae537a7ad5b2dc8308a2458ebbfcd3c05aedc4874e5d5a212677f88
24 26
 DIST openssl-1.0.2d.tar.gz 5295447 SHA256 671c36487785628a703374c652ad2cebea45fa920ae5681515df25d9f2c9a8c8 SHA512 68a051e92aaed0e7a8b218c185427c534c32f30f50c45f5d2c1f5b7a26d1416e83863d2953c77486acde3b636a148f39faf48246d28a207607ec069f62b13d75 WHIRLPOOL e3d8f0784903c8d6aa05ada7b8b410517c99157a3c2f4ac34c8a9d80c77408bd6ff9e820ded47f6223ccac4a77413174aa625303166ec28fdbf8374a7d4659ec
27
+DIST openssl-1.0.2e.tar.gz 5256555 SHA256 e23ccafdb75cfcde782da0151731aa2185195ac745eea3846133f2e05c0e0bff SHA512 b73f114a117ccab284cf5891dac050e3016d28e0b1fc71639442cdb42accef676115af90a12deff4bcc1f599cc0cbdeb38142cbf4570bd7d03634786ad32c95f WHIRLPOOL 8e1c1800a66f57fa78dc391e717e4b2bdf0e6e37a837c5ac033d7a4b1a6437451c7e7540c4ec2f75f936a2d2ef4f9293b42c76f51b0c9c93706639589612f196
25 28
 DIST openssl-c_rehash.sh.1.7 4167 SHA256 4999ee79892f52bd6a4a7baba9fac62262454d573bbffd72685d3aae9e48cee0 SHA512 55e8c2e827750a4f375cb83c86bfe2d166c01ffa5d7e9b16657b72b38b747c8985dd2c98f854c911dfbbee2ff3e92aff39fdf089d979b2e3534b7685ee8b80da WHIRLPOOL c88f06a3b8651f76b6289552cccceb64e13f6697c5f0ce3ff114c781ce1c218912b8ee308af9d087cd76a9600fdacda1953175bff07d7d3eb21b0c0b7f4f1ce1
26 29
 EBUILD openssl-1.0.2d.ebuild 9005 SHA256 17cc24aca1c707d035be11265a88f28e88acee513ecae54e594ee4e9d17d4081 SHA512 303d86fb806b4c030e4f1d7f7620229d278f4ac32e3ef0dcf5cd37faeb20557c65d2d8ee21cb85661511901512dd12b1551a567d77941ad25c64c5c4b3183b9e WHIRLPOOL 6836dcf53117c04c1de231b2361b90b4eda0ed71360bc32ee75d84e9a5e6926f38100db6eaf48e8ddc3391bf6df1070ab8b3d27861a8fc0c4c80c44af4a5444a
30
+EBUILD openssl-1.0.2e.ebuild 8891 SHA256 ed137cfb8ae91f8cccf71406d1f47273089a6eb4222e1b1da302eeb056275080 SHA512 261d725e4893fd4e41749049b527196581221218b0bc45490e26dc91bd01c09759858f4e785584350acaeaf9c6c7c766e201ad1af3b784581dd249330375d7d0 WHIRLPOOL 204cade7616493dbf9e600ebd089728fdf8a29f4983c7ecbe1960860e4990686610699d9c34905278130f7fbfd0c60dcbaf7aed9300b45ccb9ff26ee9841fbaa
27 31
 MISC metadata.xml 826 SHA256 2f22f821be68740da19821e48de6246b57763cdd3a65c137550215be67e91506 SHA512 5f5ef56e7a5e73c0765ecdcbdc01cc06e52694e55882eae9abeee063879fd2f0acf198580c8bc7e9fcd8404c6ef1ecbd9b45dbd79361b712d38e008ba0b5c8fa WHIRLPOOL c1a33911a5609aa6cd18e69b5b6c4938a7b8304ca2f739a0502428c06d79d845a8cc9c85f2fc218d824dba62bb6b16ac9d8c5da1fa1f5578a96b1fc54dd827d2
28 32
new file mode 100755
... ...
@@ -0,0 +1,165 @@
1
+#!/usr/bin/env bash
2
+# Copyright 1999-2014 Gentoo Foundation
3
+# Distributed under the terms of the GNU General Public License v2
4
+# $Id$
5
+#
6
+# Openssl doesn't play along nicely with cross-compiling
7
+# like autotools based projects, so let's teach it new tricks.
8
+#
9
+# Review the bundled 'config' script to see why kind of targets
10
+# we can pass to the 'Configure' script.
11
+
12
+
13
+# Testing routines
14
+if [[ $1 == "test" ]] ; then
15
+	for c in \
16
+		"arm-gentoo-linux-uclibc      |linux-generic32 -DL_ENDIAN" \
17
+		"armv5b-linux-gnu             |linux-armv4 -DB_ENDIAN" \
18
+		"x86_64-pc-linux-gnu          |linux-x86_64" \
19
+		"alpha-linux-gnu              |linux-alpha-gcc" \
20
+		"alphaev56-unknown-linux-gnu  |linux-alpha+bwx-gcc" \
21
+		"i686-pc-linux-gnu            |linux-elf" \
22
+		"whatever-gentoo-freebsdX.Y   |BSD-generic32" \
23
+		"i686-gentoo-freebsdX.Y       |BSD-x86-elf" \
24
+		"sparc64-alpha-freebsdX.Y     |BSD-sparc64" \
25
+		"ia64-gentoo-freebsd5.99234   |BSD-ia64" \
26
+		"x86_64-gentoo-freebsdX.Y     |BSD-x86_64" \
27
+		"hppa64-aldsF-linux-gnu5.3    |linux-generic32 -DB_ENDIAN" \
28
+		"powerpc-gentOO-linux-uclibc  |linux-ppc" \
29
+		"powerpc64-unk-linux-gnu      |linux-ppc64" \
30
+		"powerpc64le-linux-gnu        |linux-ppc64le" \
31
+		"x86_64-apple-darwinX         |darwin64-x86_64-cc" \
32
+		"powerpc64-apple-darwinX      |darwin64-ppc-cc" \
33
+		"i686-apple-darwinX           |darwin-i386-cc" \
34
+		"i386-apple-darwinX           |darwin-i386-cc" \
35
+		"powerpc-apple-darwinX        |darwin-ppc-cc" \
36
+		"i586-pc-winnt                |winnt-parity" \
37
+		"s390-ibm-linux-gnu           |linux-generic32 -DB_ENDIAN" \
38
+		"s390x-linux-gnu              |linux64-s390x" \
39
+	;do
40
+		CHOST=${c/|*}
41
+		ret_want=${c/*|}
42
+		ret_got=$(CHOST=${CHOST} "$0")
43
+
44
+		if [[ ${ret_want} == "${ret_got}" ]] ; then
45
+			echo "PASS: ${CHOST}"
46
+		else
47
+			echo "FAIL: ${CHOST}"
48
+			echo -e "\twanted: ${ret_want}"
49
+			echo -e "\twe got: ${ret_got}"
50
+		fi
51
+	done
52
+	exit 0
53
+fi
54
+[[ -z ${CHOST} && -n $1 ]] && CHOST=$1
55
+
56
+
57
+# Detect the operating system
58
+case ${CHOST} in
59
+	*-aix*)          system="aix";;
60
+	*-darwin*)       system="darwin";;
61
+	*-freebsd*)      system="BSD";;
62
+	*-hpux*)         system="hpux";;
63
+	*-linux*)        system="linux";;
64
+	*-solaris*)      system="solaris";;
65
+	*-winnt*)        system="winnt";;
66
+	x86_64-*-mingw*) system="mingw64";;
67
+	*mingw*)         system="mingw";;
68
+	*)               exit 0;;
69
+esac
70
+
71
+
72
+# Compiler munging
73
+compiler="gcc"
74
+if [[ ${CC} == "ccc" ]] ; then
75
+	compiler=${CC}
76
+fi
77
+
78
+
79
+# Detect target arch
80
+machine=""
81
+chost_machine=${CHOST%%-*}
82
+case ${system} in
83
+linux)
84
+	case ${chost_machine}:${ABI} in
85
+		aarch64*be*)  machine="generic64 -DB_ENDIAN";;
86
+		aarch64*)     machine="generic64 -DL_ENDIAN";;
87
+		alphaev56*|\
88
+		alphaev[678]*)machine=alpha+bwx-${compiler};;
89
+		alpha*)       machine=alpha-${compiler};;
90
+		armv[4-9]*b*) machine="armv4 -DB_ENDIAN";;
91
+		armv[4-9]*)   machine="armv4 -DL_ENDIAN";;
92
+		arm*b*)       machine="generic32 -DB_ENDIAN";;
93
+		arm*)         machine="generic32 -DL_ENDIAN";;
94
+		avr*)         machine="generic32 -DL_ENDIAN";;
95
+		bfin*)        machine="generic32 -DL_ENDIAN";;
96
+	#	hppa64*)      machine=parisc64;;
97
+		hppa*)        machine="generic32 -DB_ENDIAN";;
98
+		i[0-9]86*|\
99
+		x86_64*:x86)  machine=elf;;
100
+		ia64*)        machine=ia64;;
101
+		m68*)         machine="generic32 -DB_ENDIAN";;
102
+		mips*el*)     machine="generic32 -DL_ENDIAN";;
103
+		mips*)        machine="generic32 -DB_ENDIAN";;
104
+		powerpc64*le*)machine=ppc64le;;
105
+		powerpc64*)   machine=ppc64;;
106
+		powerpc*le*)  machine="generic32 -DL_ENDIAN";;
107
+		powerpc*)     machine=ppc;;
108
+	#	sh64*)        machine=elf;;
109
+		sh*b*)        machine="generic32 -DB_ENDIAN";;
110
+		sh*)          machine="generic32 -DL_ENDIAN";;
111
+		sparc*v7*)    machine="generic32 -DB_ENDIAN";;
112
+		sparc64*)     machine=sparcv9;;
113
+		sparc*)       machine=sparcv8;;
114
+		s390x*)       machine=s390x system=linux64;;
115
+		s390*)        machine="generic32 -DB_ENDIAN";;
116
+		x86_64*:x32)  machine=x32;;
117
+		x86_64*)      machine=x86_64;;
118
+	esac
119
+	;;
120
+BSD)
121
+	case ${chost_machine} in
122
+		alpha*)       machine=generic64;;
123
+		i[6-9]86*)    machine=x86-elf;;
124
+		ia64*)        machine=ia64;;
125
+		sparc64*)     machine=sparc64;;
126
+		x86_64*)      machine=x86_64;;
127
+		*)            machine=generic32;;
128
+	esac
129
+	;;
130
+aix)
131
+	machine=${compiler}
132
+	;;
133
+darwin)
134
+	case ${chost_machine} in
135
+		powerpc64)    machine=ppc-cc; system=${system}64;;
136
+		powerpc)      machine=ppc-cc;;
137
+		i?86*)        machine=i386-cc;;
138
+		x86_64)       machine=x86_64-cc; system=${system}64;;
139
+	esac
140
+	;;
141
+hpux)
142
+	case ${chost_machine} in
143
+		ia64)	machine=ia64-${compiler} ;;
144
+	esac
145
+	;;
146
+solaris)
147
+	case ${chost_machine} in
148
+		i386)         machine=x86-${compiler} ;;
149
+		x86_64*)      machine=x86_64-${compiler}; system=${system}64;;
150
+		sparcv9*)     machine=sparcv9-${compiler}; system=${system}64;;
151
+		sparc*)       machine=sparcv8-${compiler};;
152
+	esac
153
+	;;
154
+winnt)
155
+	machine=parity
156
+	;;
157
+mingw*)
158
+	# special case ... no xxx-yyy style name
159
+	echo ${system}
160
+	;;
161
+esac
162
+
163
+
164
+# If we have something, show it
165
+[[ -n ${machine} ]] && echo ${system}-${machine}
0 166
new file mode 100644
... ...
@@ -0,0 +1,314 @@
1
+--- openssl-1.0.2e/crypto/Makefile
2
+@@ -85,11 +85,11 @@
3
+ 	@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
4
+ 
5
+ subdirs:
6
+-	@target=all; $(RECURSIVE_MAKE)
7
++	+@target=all; $(RECURSIVE_MAKE)
8
+ 
9
+ files:
10
+ 	$(PERL) $(TOP)/util/files.pl "CPUID_OBJ=$(CPUID_OBJ)" Makefile >> $(TOP)/MINFO
11
+-	@target=files; $(RECURSIVE_MAKE)
12
++	+@target=files; $(RECURSIVE_MAKE)
13
+ 
14
+ links:
15
+ 	@$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
16
+@@ -100,7 +100,7 @@
17
+ # lib: $(LIB): are splitted to avoid end-less loop
18
+ lib:	$(LIB)
19
+ 	@touch lib
20
+-$(LIB):	$(LIBOBJ)
21
++$(LIB):	$(LIBOBJ) | subdirs
22
+ 	$(AR) $(LIB) $(LIBOBJ)
23
+ 	test -z "$(FIPSLIBDIR)" || $(AR) $(LIB) $(FIPSLIBDIR)fipscanister.o
24
+ 	$(RANLIB) $(LIB) || echo Never mind.
25
+@@ -111,7 +111,7 @@
26
+ 	fi
27
+ 
28
+ libs:
29
+-	@target=lib; $(RECURSIVE_MAKE)
30
++	+@target=lib; $(RECURSIVE_MAKE)
31
+ 
32
+ install:
33
+ 	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
34
+@@ -120,7 +120,7 @@
35
+ 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
36
+ 	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
37
+ 	done;
38
+-	@target=install; $(RECURSIVE_MAKE)
39
++	+@target=install; $(RECURSIVE_MAKE)
40
+ 
41
+ lint:
42
+ 	@target=lint; $(RECURSIVE_MAKE)
43
+--- openssl-1.0.2e/engines/Makefile
44
+@@ -72,7 +72,7 @@
45
+ 
46
+ all:	lib subdirs
47
+ 
48
+-lib:	$(LIBOBJ)
49
++lib:	$(LIBOBJ) | subdirs
50
+ 	@if [ -n "$(SHARED_LIBS)" ]; then \
51
+ 		set -e; \
52
+ 		for l in $(LIBNAMES); do \
53
+@@ -89,7 +89,7 @@
54
+ 
55
+ subdirs:
56
+ 	echo $(EDIRS)
57
+-	@target=all; $(RECURSIVE_MAKE)
58
++	+@target=all; $(RECURSIVE_MAKE)
59
+ 
60
+ files:
61
+ 	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
62
+@@ -128,7 +128,7 @@
63
+ 			  mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
64
+ 		done; \
65
+ 	fi
66
+-	@target=install; $(RECURSIVE_MAKE)
67
++	+@target=install; $(RECURSIVE_MAKE)
68
+ 
69
+ tags:
70
+ 	ctags $(SRC)
71
+--- openssl-1.0.2e/Makefile.org
72
+@@ -280,17 +280,17 @@
73
+ build_libssl: build_ssl libssl.pc
74
+ 
75
+ build_crypto:
76
+-	@dir=crypto; target=all; $(BUILD_ONE_CMD)
77
++	+@dir=crypto; target=all; $(BUILD_ONE_CMD)
78
+ build_ssl: build_crypto
79
+-	@dir=ssl; target=all; $(BUILD_ONE_CMD)
80
++	+@dir=ssl; target=all; $(BUILD_ONE_CMD)
81
+ build_engines: build_crypto
82
+-	@dir=engines; target=all; $(BUILD_ONE_CMD)
83
++	+@dir=engines; target=all; $(BUILD_ONE_CMD)
84
+ build_apps: build_libs
85
+-	@dir=apps; target=all; $(BUILD_ONE_CMD)
86
++	+@dir=apps; target=all; $(BUILD_ONE_CMD)
87
+ build_tests: build_libs
88
+-	@dir=test; target=all; $(BUILD_ONE_CMD)
89
++	+@dir=test; target=all; $(BUILD_ONE_CMD)
90
+ build_tools: build_libs
91
+-	@dir=tools; target=all; $(BUILD_ONE_CMD)
92
++	+@dir=tools; target=all; $(BUILD_ONE_CMD)
93
+ 
94
+ all_testapps: build_libs build_testapps
95
+ build_testapps:
96
+@@ -548,7 +548,7 @@
97
+ 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
98
+ 	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
99
+ 	done;
100
+-	@set -e; target=install; $(RECURSIVE_BUILD_CMD)
101
++	+@set -e; target=install; $(RECURSIVE_BUILD_CMD)
102
+ 	@set -e; liblist="$(LIBS)"; for i in $$liblist ;\
103
+ 	do \
104
+ 		if [ -f "$$i" ]; then \
105
+--- openssl-1.0.2e/Makefile.shared
106
+@@ -105,6 +105,7 @@
107
+     SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
108
+     LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
109
+     LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
110
++    [ -e $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX ] && exit 0; \
111
+     LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
112
+     $${SHAREDCMD} $${SHAREDFLAGS} \
113
+ 	-o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
114
+@@ -122,6 +123,7 @@
115
+ 			done; \
116
+ 		fi; \
117
+ 		if [ -n "$$SHLIB_SOVER" ]; then \
118
++			[ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \
119
+ 			( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
120
+ 			  ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
121
+ 		fi; \
122
+--- openssl-1.0.2e/test/Makefile
123
+@@ -138,7 +138,7 @@
124
+ tags:
125
+ 	ctags $(SRC)
126
+ 
127
+-tests:	exe apps $(TESTS)
128
++tests:	exe $(TESTS)
129
+ 
130
+ apps:
131
+ 	@(cd ..; $(MAKE) DIRS=apps all)
132
+@@ -416,127 +416,127 @@
133
+ 		link_app.$${shlib_target}
134
+ 
135
+ $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
136
+-	@target=$(RSATEST); $(BUILD_CMD)
137
++	+@target=$(RSATEST); $(BUILD_CMD)
138
+ 
139
+ $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
140
+-	@target=$(BNTEST); $(BUILD_CMD)
141
++	+@target=$(BNTEST); $(BUILD_CMD)
142
+ 
143
+ $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
144
+-	@target=$(ECTEST); $(BUILD_CMD)
145
++	+@target=$(ECTEST); $(BUILD_CMD)
146
+ 
147
+ $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
148
+-	@target=$(EXPTEST); $(BUILD_CMD)
149
++	+@target=$(EXPTEST); $(BUILD_CMD)
150
+ 
151
+ $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
152
+-	@target=$(IDEATEST); $(BUILD_CMD)
153
++	+@target=$(IDEATEST); $(BUILD_CMD)
154
+ 
155
+ $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
156
+-	@target=$(MD2TEST); $(BUILD_CMD)
157
++	+@target=$(MD2TEST); $(BUILD_CMD)
158
+ 
159
+ $(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO)
160
+-	@target=$(SHATEST); $(BUILD_CMD)
161
++	+@target=$(SHATEST); $(BUILD_CMD)
162
+ 
163
+ $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
164
+-	@target=$(SHA1TEST); $(BUILD_CMD)
165
++	+@target=$(SHA1TEST); $(BUILD_CMD)
166
+ 
167
+ $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
168
+-	@target=$(SHA256TEST); $(BUILD_CMD)
169
++	+@target=$(SHA256TEST); $(BUILD_CMD)
170
+ 
171
+ $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
172
+-	@target=$(SHA512TEST); $(BUILD_CMD)
173
++	+@target=$(SHA512TEST); $(BUILD_CMD)
174
+ 
175
+ $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
176
+-	@target=$(RMDTEST); $(BUILD_CMD)
177
++	+@target=$(RMDTEST); $(BUILD_CMD)
178
+ 
179
+ $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
180
+-	@target=$(MDC2TEST); $(BUILD_CMD)
181
++	+@target=$(MDC2TEST); $(BUILD_CMD)
182
+ 
183
+ $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
184
+-	@target=$(MD4TEST); $(BUILD_CMD)
185
++	+@target=$(MD4TEST); $(BUILD_CMD)
186
+ 
187
+ $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
188
+-	@target=$(MD5TEST); $(BUILD_CMD)
189
++	+@target=$(MD5TEST); $(BUILD_CMD)
190
+ 
191
+ $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
192
+-	@target=$(HMACTEST); $(BUILD_CMD)
193
++	+@target=$(HMACTEST); $(BUILD_CMD)
194
+ 
195
+ $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
196
+-	@target=$(WPTEST); $(BUILD_CMD)
197
++	+@target=$(WPTEST); $(BUILD_CMD)
198
+ 
199
+ $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
200
+-	@target=$(RC2TEST); $(BUILD_CMD)
201
++	+@target=$(RC2TEST); $(BUILD_CMD)
202
+ 
203
+ $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
204
+-	@target=$(BFTEST); $(BUILD_CMD)
205
++	+@target=$(BFTEST); $(BUILD_CMD)
206
+ 
207
+ $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
208
+-	@target=$(CASTTEST); $(BUILD_CMD)
209
++	+@target=$(CASTTEST); $(BUILD_CMD)
210
+ 
211
+ $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
212
+-	@target=$(RC4TEST); $(BUILD_CMD)
213
++	+@target=$(RC4TEST); $(BUILD_CMD)
214
+ 
215
+ $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
216
+-	@target=$(RC5TEST); $(BUILD_CMD)
217
++	+@target=$(RC5TEST); $(BUILD_CMD)
218
+ 
219
+ $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
220
+-	@target=$(DESTEST); $(BUILD_CMD)
221
++	+@target=$(DESTEST); $(BUILD_CMD)
222
+ 
223
+ $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
224
+-	@target=$(RANDTEST); $(BUILD_CMD)
225
++	+@target=$(RANDTEST); $(BUILD_CMD)
226
+ 
227
+ $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
228
+-	@target=$(DHTEST); $(BUILD_CMD)
229
++	+@target=$(DHTEST); $(BUILD_CMD)
230
+ 
231
+ $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
232
+-	@target=$(DSATEST); $(BUILD_CMD)
233
++	+@target=$(DSATEST); $(BUILD_CMD)
234
+ 
235
+ $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
236
+-	@target=$(METHTEST); $(BUILD_CMD)
237
++	+@target=$(METHTEST); $(BUILD_CMD)
238
+ 
239
+ $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
240
+-	@target=$(SSLTEST); $(FIPS_BUILD_CMD)
241
++	+@target=$(SSLTEST); $(FIPS_BUILD_CMD)
242
+ 
243
+ $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
244
+-	@target=$(ENGINETEST); $(BUILD_CMD)
245
++	+@target=$(ENGINETEST); $(BUILD_CMD)
246
+ 
247
+ $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
248
+-	@target=$(EVPTEST); $(BUILD_CMD)
249
++	+@target=$(EVPTEST); $(BUILD_CMD)
250
+ 
251
+ $(EVPEXTRATEST)$(EXE_EXT): $(EVPEXTRATEST).o $(DLIBCRYPTO)
252
+-	@target=$(EVPEXTRATEST); $(BUILD_CMD)
253
++	+@target=$(EVPEXTRATEST); $(BUILD_CMD)
254
+ 
255
+ $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
256
+-	@target=$(ECDSATEST); $(BUILD_CMD)
257
++	+@target=$(ECDSATEST); $(BUILD_CMD)
258
+ 
259
+ $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
260
+-	@target=$(ECDHTEST); $(BUILD_CMD)
261
++	+@target=$(ECDHTEST); $(BUILD_CMD)
262
+ 
263
+ $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
264
+-	@target=$(IGETEST); $(BUILD_CMD)
265
++	+@target=$(IGETEST); $(BUILD_CMD)
266
+ 
267
+ $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO)
268
+-	@target=$(JPAKETEST); $(BUILD_CMD)
269
++	+@target=$(JPAKETEST); $(BUILD_CMD)
270
+ 
271
+ $(ASN1TEST)$(EXE_EXT): $(ASN1TEST).o $(DLIBCRYPTO)
272
+-	@target=$(ASN1TEST); $(BUILD_CMD)
273
++	+@target=$(ASN1TEST); $(BUILD_CMD)
274
+ 
275
+ $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
276
+-	@target=$(SRPTEST); $(BUILD_CMD)
277
++	+@target=$(SRPTEST); $(BUILD_CMD)
278
+ 
279
+ $(V3NAMETEST)$(EXE_EXT): $(V3NAMETEST).o $(DLIBCRYPTO)
280
+-	@target=$(V3NAMETEST); $(BUILD_CMD)
281
++	+@target=$(V3NAMETEST); $(BUILD_CMD)
282
+ 
283
+ $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO)
284
+-	@target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
285
++	+@target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
286
+ 
287
+ $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMETEST).o
288
+-	@target=$(CONSTTIMETEST) $(BUILD_CMD)
289
++	+@target=$(CONSTTIMETEST) $(BUILD_CMD)
290
+ 
291
+ $(VERIFYEXTRATEST)$(EXE_EXT): $(VERIFYEXTRATEST).o
292
+-	@target=$(VERIFYEXTRATEST) $(BUILD_CMD)
293
++	+@target=$(VERIFYEXTRATEST) $(BUILD_CMD)
294
+ 
295
+ $(CLIENTHELLOTEST)$(EXE_EXT): $(CLIENTHELLOTEST).o
296
+-	@target=$(CLIENTHELLOTEST) $(BUILD_CMD)
297
++	+@target=$(CLIENTHELLOTEST) $(BUILD_CMD)
298
+ 
299
+ #$(AESTEST).o: $(AESTEST).c
300
+ #	$(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
301
+@@ -549,7 +549,7 @@
302
+ #	fi
303
+ 
304
+ dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
305
+-	@target=dummytest; $(BUILD_CMD)
306
++	+@target=dummytest; $(BUILD_CMD)
307
+ 
308
+ # DO NOT DELETE THIS LINE -- make depend depends on it.
309
+ 
0 310
new file mode 100644
... ...
@@ -0,0 +1,267 @@
1
+# Copyright 1999-2015 Gentoo Foundation
2
+# Distributed under the terms of the GNU General Public License v2
3
+# $Id$
4
+
5
+EAPI="4"
6
+
7
+inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
8
+
9
+MY_P=${P/_/-}
10
+DESCRIPTION="full-strength general purpose cryptography library (including SSL and TLS)"
11
+HOMEPAGE="http://www.openssl.org/"
12
+SRC_URI="mirror://openssl/source/${MY_P}.tar.gz"
13
+
14
+LICENSE="openssl"
15
+SLOT="0"
16
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
17
+IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 static-libs test +tls-heartbeat vanilla zlib insecure-ssl2 insecure-ssl3"
18
+RESTRICT="!bindist? ( bindist )"
19
+
20
+# The blocks are temporary just to make sure people upgrade to a
21
+# version that lack runtime version checking.  We'll drop them in
22
+# the future.
23
+RDEPEND=">=app-misc/c_rehash-1.7-r1
24
+	gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
25
+	zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
26
+	kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
27
+	abi_x86_32? (
28
+		!<=app-emulation/emul-linux-x86-baselibs-20140508
29
+		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
30
+	)
31
+	!<net-misc/openssh-5.9_p1-r4
32
+	!<net-libs/neon-0.29.6-r1"
33
+DEPEND="${RDEPEND}
34
+	>=dev-lang/perl-5
35
+	sctp? ( >=net-misc/lksctp-tools-1.0.12 )
36
+	test? (
37
+		sys-apps/diffutils
38
+		sys-devel/bc
39
+	)"
40
+PDEPEND="app-misc/ca-certificates"
41
+
42
+S="${WORKDIR}/${MY_P}"
43
+
44
+MULTILIB_WRAPPED_HEADERS=(
45
+	usr/include/openssl/opensslconf.h
46
+)
47
+
48
+src_prepare() {
49
+	# keep this in sync with app-misc/c_rehash
50
+	SSL_CNF_DIR="/etc/ssl"
51
+
52
+	# Make sure we only ever touch Makefile.org and avoid patching a file
53
+	# that gets blown away anyways by the Configure script in src_configure
54
+	rm -f Makefile
55
+
56
+	if ! use vanilla ; then
57
+		epatch "${FILESDIR}"/${PN}-1.0.0a-ldflags.patch #327421
58
+		epatch "${FILESDIR}"/${PN}-1.0.0d-windres.patch #373743
59
+		epatch "${FILESDIR}"/${PN}-1.0.2e-parallel-build.patch
60
+		epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-obj-headers.patch
61
+		epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-install-dirs.patch
62
+		epatch "${FILESDIR}"/${PN}-1.0.2a-parallel-symlinking.patch #545028
63
+		epatch "${FILESDIR}"/${PN}-1.0.2-ipv6.patch
64
+		epatch "${FILESDIR}"/${PN}-1.0.2a-x32-asm.patch #542618
65
+		epatch "${FILESDIR}"/${PN}-1.0.1p-default-source.patch #554338
66
+
67
+		epatch_user #332661
68
+	fi
69
+
70
+	# disable fips in the build
71
+	# make sure the man pages are suffixed #302165
72
+	# don't bother building man pages if they're disabled
73
+	sed -i \
74
+		-e '/DIRS/s: fips : :g' \
75
+		-e '/^MANSUFFIX/s:=.*:=ssl:' \
76
+		-e '/^MAKEDEPPROG/s:=.*:=$(CC):' \
77
+		-e $(has noman FEATURES \
78
+			&& echo '/^install:/s:install_docs::' \
79
+			|| echo '/^MANDIR=/s:=.*:='${EPREFIX}'/usr/share/man:') \
80
+		Makefile.org \
81
+		|| die
82
+	# show the actual commands in the log
83
+	sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
84
+
85
+	# since we're forcing $(CC) as makedep anyway, just fix
86
+	# the conditional as always-on
87
+	# helps clang (#417795), and versioned gcc (#499818)
88
+	sed -i 's/expr.*MAKEDEPEND.*;/true;/' util/domd || die
89
+
90
+	# quiet out unknown driver argument warnings since openssl
91
+	# doesn't have well-split CFLAGS and we're making it even worse
92
+	# and 'make depend' uses -Werror for added fun (#417795 again)
93
+	[[ ${CC} == *clang* ]] && append-flags -Qunused-arguments
94
+
95
+	# allow openssl to be cross-compiled
96
+	cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die
97
+	chmod a+rx gentoo.config
98
+
99
+	append-flags -fno-strict-aliasing
100
+	append-flags $(test-flags-CC -Wa,--noexecstack)
101
+	append-cppflags -DOPENSSL_NO_BUF_FREELISTS
102
+
103
+	sed -i '1s,^:$,#!'${EPREFIX}'/usr/bin/perl,' Configure #141906
104
+	# The config script does stupid stuff to prompt the user.  Kill it.
105
+	sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
106
+	./config --test-sanity || die "I AM NOT SANE"
107
+
108
+	multilib_copy_sources
109
+}
110
+
111
+multilib_src_configure() {
112
+	unset APPS #197996
113
+	unset SCRIPTS #312551
114
+	unset CROSS_COMPILE #311473
115
+
116
+	tc-export CC AR RANLIB RC
117
+
118
+	# Clean out patent-or-otherwise-encumbered code
119
+	# Camellia: Royalty Free            http://en.wikipedia.org/wiki/Camellia_(cipher)
120
+	# IDEA:     Expired                 http://en.wikipedia.org/wiki/International_Data_Encryption_Algorithm
121
+	# EC:       ????????? ??/??/2015    http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography
122
+	# MDC2:     Expired                 http://en.wikipedia.org/wiki/MDC-2
123
+	# RC5:      Expired                 http://en.wikipedia.org/wiki/RC5
124
+
125
+	use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
126
+	echoit() { echo "$@" ; "$@" ; }
127
+
128
+	local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
129
+
130
+	# See if our toolchain supports __uint128_t.  If so, it's 64bit
131
+	# friendly and can use the nicely optimized code paths. #460790
132
+	local ec_nistp_64_gcc_128
133
+	# Disable it for now though #469976
134
+	#if ! use bindist ; then
135
+	#	echo "__uint128_t i;" > "${T}"/128.c
136
+	#	if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
137
+	#		ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
138
+	#	fi
139
+	#fi
140
+
141
+	local sslout=$(./gentoo.config)
142
+	einfo "Use configuration ${sslout:-(openssl knows best)}"
143
+	local config="Configure"
144
+	[[ -z ${sslout} ]] && config="config"
145
+
146
+	echoit \
147
+	./${config} \
148
+		${sslout} \
149
+		$(use cpu_flags_x86_sse2 || echo "no-sse2") \
150
+		enable-camellia \
151
+		$(use_ssl !bindist ec) \
152
+		${ec_nistp_64_gcc_128} \
153
+		enable-idea \
154
+		enable-mdc2 \
155
+		enable-rc5 \
156
+		enable-tlsext \
157
+		$(use_ssl asm) \
158
+		$(use_ssl gmp gmp -lgmp) \
159
+		$(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
160
+		$(use_ssl rfc3779) \
161
+		$(use_ssl sctp) \
162
+		$(use_ssl tls-heartbeat heartbeats) \
163
+		$(use_ssl zlib) \
164
+		$(use_ssl insecure-ssl2 ssl2) \
165
+		$(use_ssl insecure-ssl3 ssl3) \
166
+		--prefix="${EPREFIX}"/usr \
167
+		--openssldir="${EPREFIX}"${SSL_CNF_DIR} \
168
+		--libdir=$(get_libdir) \
169
+		shared threads \
170
+		|| die
171
+
172
+	# Clean out hardcoded flags that openssl uses
173
+	local CFLAG=$(grep ^CFLAG= Makefile | LC_ALL=C sed \
174
+		-e 's:^CFLAG=::' \
175
+		-e 's:-fomit-frame-pointer ::g' \
176
+		-e 's:-O[0-9] ::g' \
177
+		-e 's:-march=[-a-z0-9]* ::g' \
178
+		-e 's:-mcpu=[-a-z0-9]* ::g' \
179
+		-e 's:-m[a-z0-9]* ::g' \
180
+	)
181
+	sed -i \
182
+		-e "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
183
+		-e "/^SHARED_LDFLAGS=/s|$| ${LDFLAGS}|" \
184
+		Makefile || die
185
+}
186
+
187
+multilib_src_compile() {
188
+	# depend is needed to use $confopts; it also doesn't matter
189
+	# that it's -j1 as the code itself serializes subdirs
190
+	emake -j1 depend
191
+	emake all
192
+	# rehash is needed to prep the certs/ dir; do this
193
+	# separately to avoid parallel build issues.
194
+	emake rehash
195
+}
196
+
197
+multilib_src_test() {
198
+	emake -j1 test
199
+}
200
+
201
+multilib_src_install() {
202
+	emake INSTALL_PREFIX="${D}" install
203
+}
204
+
205
+multilib_src_install_all() {
206
+	# openssl installs perl version of c_rehash by default, but
207
+	# we provide a shell version via app-misc/c_rehash
208
+	rm "${ED}"/usr/bin/c_rehash || die
209
+
210
+	dodoc CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el
211
+	dohtml -r doc/*
212
+	use rfc3779 && dodoc engines/ccgost/README.gost
213
+
214
+	# This is crappy in that the static archives are still built even
215
+	# when USE=static-libs.  But this is due to a failing in the openssl
216
+	# build system: the static archives are built as PIC all the time.
217
+	# Only way around this would be to manually configure+compile openssl
218
+	# twice; once with shared lib support enabled and once without.
219
+	use static-libs || rm -f "${ED}"/usr/lib*/lib*.a
220
+
221
+	# create the certs directory
222
+	dodir ${SSL_CNF_DIR}/certs
223
+	cp -RP certs/* "${ED}"${SSL_CNF_DIR}/certs/ || die
224
+	rm -r "${ED}"${SSL_CNF_DIR}/certs/{demo,expired}
225
+
226
+	# Namespace openssl programs to prevent conflicts with other man pages
227
+	cd "${ED}"/usr/share/man
228
+	local m d s
229
+	for m in $(find . -type f | xargs grep -L '#include') ; do
230
+		d=${m%/*} ; d=${d#./} ; m=${m##*/}
231
+		[[ ${m} == openssl.1* ]] && continue
232
+		[[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
233
+		mv ${d}/{,ssl-}${m}
234
+		# fix up references to renamed man pages
235
+		sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m}
236
+		ln -s ssl-${m} ${d}/openssl-${m}
237
+		# locate any symlinks that point to this man page ... we assume
238
+		# that any broken links are due to the above renaming
239
+		for s in $(find -L ${d} -type l) ; do
240
+			s=${s##*/}
241
+			rm -f ${d}/${s}
242
+			ln -s ssl-${m} ${d}/ssl-${s}
243
+			ln -s ssl-${s} ${d}/openssl-${s}
244
+		done
245
+	done
246
+	[[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
247
+
248
+	dodir /etc/sandbox.d #254521
249
+	echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
250
+
251
+	diropts -m0700
252
+	keepdir ${SSL_CNF_DIR}/private
253
+}
254
+
255
+pkg_preinst() {
256
+	has_version ${CATEGORY}/${PN}:0.9.8 && return 0
257
+	preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
258
+}
259
+
260
+pkg_postinst() {
261
+	ebegin "Running 'c_rehash ${EROOT%/}${SSL_CNF_DIR}/certs/' to rebuild hashes #333069"
262
+	c_rehash "${EROOT%/}${SSL_CNF_DIR}/certs" >/dev/null
263
+	eend $?
264
+
265
+	has_version ${CATEGORY}/${PN}:0.9.8 && return 0
266
+	preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}.so.0.9.8
267
+}