Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 531846 | Differences between
and this patch

Collapse All | Expand All

(-)a/dev-libs/nss/Manifest (+3 lines)
Lines 4-11 AUX nss-3.15-gentoo-fixups.patch 5255 SHA256 eba46da3424640a0f16c7b07e526c373f37 Link Here
4
AUX nss-3.15.4-enable-pem.patch 243 SHA256 eec796bbc845b123f97bcf1f351495ec1645a2d015e6f6bcdb1e088d02f5d1e6 SHA512 b8f942ced3ff6cea1d54934e0e68ad589585f3fd42934046d0b57563fd4e24b50ad550db391346768abdd9848c3457a532fe3b7495862454f9a52a4603e92f9c WHIRLPOOL 0cd2428516e8a63d64c20b94153f079c4cefd96c05155fa27ecb4cba68419e5efebd32d6ab4820b072fea173e66b5816d8cc238f2a328616f5b7752c60e3998e
4
AUX nss-3.15.4-enable-pem.patch 243 SHA256 eec796bbc845b123f97bcf1f351495ec1645a2d015e6f6bcdb1e088d02f5d1e6 SHA512 b8f942ced3ff6cea1d54934e0e68ad589585f3fd42934046d0b57563fd4e24b50ad550db391346768abdd9848c3457a532fe3b7495862454f9a52a4603e92f9c WHIRLPOOL 0cd2428516e8a63d64c20b94153f079c4cefd96c05155fa27ecb4cba68419e5efebd32d6ab4820b072fea173e66b5816d8cc238f2a328616f5b7752c60e3998e
5
AUX nss-3.16-musl.patch 352 SHA256 8e04dbf5088adaf121379350f58510b52a594c9a3725cd62fd4282c0069dac76 SHA512 4a8d53c5ff847bb32b0e0c79d072fe45525110773e1e36299ac5ba0d0a046e73360681208f0b64c0a36a9ec3da8a2776ca659b8a5446fe0abf17cd7da131d594 WHIRLPOOL 5e9bb130b9aa7c1fb939e1953a6a5aa38fec2cd80953e33efd2333e7e242dc7a7a575309fa3b3e067d97acb0eca41bb954beb5cab1fba1b1d1d23c576fbaea1b
5
AUX nss-3.16-musl.patch 352 SHA256 8e04dbf5088adaf121379350f58510b52a594c9a3725cd62fd4282c0069dac76 SHA512 4a8d53c5ff847bb32b0e0c79d072fe45525110773e1e36299ac5ba0d0a046e73360681208f0b64c0a36a9ec3da8a2776ca659b8a5446fe0abf17cd7da131d594 WHIRLPOOL 5e9bb130b9aa7c1fb939e1953a6a5aa38fec2cd80953e33efd2333e7e242dc7a7a575309fa3b3e067d97acb0eca41bb954beb5cab1fba1b1d1d23c576fbaea1b
6
AUX nss-3.17.1-gentoo-fixups.patch 5415 SHA256 b28efbafe7be3adec9fba08fa79e28052982ae8ec8ffd8d0850be22ff1def134 SHA512 f3e64aee5b5c3c3135caa414baa76bded87737c807e69525b2214b8b44e53cf9a837275b39892ef8ecfe05ff26fd06f199c2e8b192479716ae2e80ff34b52f10 WHIRLPOOL 3c9bf7c872a72955a6e83901f3a20febcba80e14a924fc83e4845882225027bdb17263bc9824f87535937dab48c2d49bbc44e114dd13b8c32d4bd222dc5fa6fd
6
AUX nss-3.17.1-gentoo-fixups.patch 5415 SHA256 b28efbafe7be3adec9fba08fa79e28052982ae8ec8ffd8d0850be22ff1def134 SHA512 f3e64aee5b5c3c3135caa414baa76bded87737c807e69525b2214b8b44e53cf9a837275b39892ef8ecfe05ff26fd06f199c2e8b192479716ae2e80ff34b52f10 WHIRLPOOL 3c9bf7c872a72955a6e83901f3a20febcba80e14a924fc83e4845882225027bdb17263bc9824f87535937dab48c2d49bbc44e114dd13b8c32d4bd222dc5fa6fd
7
AUX nss-cacert-class3.patch 11762 SHA256 e610ea084d9ad8a5b0e117d9f667c5bc921101e0c3547e4f300f697ced1d541e SHA512 1d33466df3be25a2cb80986f8b30158614294bac5abeba3371a5ecff9d6d3a8f931601709dd605630d13c9bd8acb8d3f8d289aa5e5ad2e2b320d89d670fc52ac WHIRLPOOL 204dcbf1f81f1aba471bc1e689071d3d350e445b46ca2d5ffb16d2f367880bd06ef580a7ce5640f07597210e9cfed252b63d36786134f8dd15a7ed1b65037b90
7
DIST nss-3.14.1-add_spi+cacerts_ca_certs.patch 25018 SHA256 82ca25982828fd7153ad15fc6e81408c115476eeeb4045d3a71469380b56824b SHA512 2aafbd972b073061bfd66a66a4b50060691957f2910f716f7a69d22d655c499f186f05db2101bea5248a00949f339327ba8bfffec024c61c8ee908766201ae00 WHIRLPOOL c9fe397e316dac7983b187acf7227078ebd8f8da5df53f77f2564489e85f123c4d2afb88d56e8dc14b9ebfffe8a71ade4724b3c1ea683c5c4c487cb3a64eda43
8
DIST nss-3.14.1-add_spi+cacerts_ca_certs.patch 25018 SHA256 82ca25982828fd7153ad15fc6e81408c115476eeeb4045d3a71469380b56824b SHA512 2aafbd972b073061bfd66a66a4b50060691957f2910f716f7a69d22d655c499f186f05db2101bea5248a00949f339327ba8bfffec024c61c8ee908766201ae00 WHIRLPOOL c9fe397e316dac7983b187acf7227078ebd8f8da5df53f77f2564489e85f123c4d2afb88d56e8dc14b9ebfffe8a71ade4724b3c1ea683c5c4c487cb3a64eda43
8
DIST nss-3.17.4.tar.gz 6924699 SHA256 1d98ad1881a4237ec98cbe472fc851480f0b0e954dfe224d047811fb96ff9d79 SHA512 dfc44e28c303743a72b4553f471089bc991c3cb61d5f3071082c16400d5e4f216f84a2e44536570316fe0e798c14ca370c875dad791a873034595b9e4dd70b89 WHIRLPOOL bb6e1027c5237d12fe58b4c520536022d8d4e83183a78c3421fd46bf9c3503b1f0ca4644240e383f216ec1e5174c0ae4148372db68fb9f1c10275954559d5bbf
9
DIST nss-3.17.4.tar.gz 6924699 SHA256 1d98ad1881a4237ec98cbe472fc851480f0b0e954dfe224d047811fb96ff9d79 SHA512 dfc44e28c303743a72b4553f471089bc991c3cb61d5f3071082c16400d5e4f216f84a2e44536570316fe0e798c14ca370c875dad791a873034595b9e4dd70b89 WHIRLPOOL bb6e1027c5237d12fe58b4c520536022d8d4e83183a78c3421fd46bf9c3503b1f0ca4644240e383f216ec1e5174c0ae4148372db68fb9f1c10275954559d5bbf
10
DIST nss-3.19.1.tar.gz 6953537 SHA256 b7be709551ec13206d8e3e8c065b894fa981c11573115e9478fa051029c52fff SHA512 8938fff8d819f5a223f99b3ee55734b624609dd87d9035c3bb4ca22db707da709f43d6e56610860ff99e4d2271405ad0efb762ba3f6d9e6cd586415e31412107 WHIRLPOOL d5ba4abaa29c28c19f18314427c581b1356ab4edaeb818433000dd63281340de7db5cf98700c80d781cb26e6989b222113e927eb2e890592ae8691fe8dcb4eb9
9
DIST nss-pem-015ae754dd9f6fbcd7e52030ec9732eb27fc06a8.tar.bz2 27506 SHA256 50d9ec26a75835e900302f631456e278e13d4b435b8f98aa69f79dd439ddc6ab SHA512 0158a140f112a905f7db5a4f4d04f49f6742db1d2665ddf6c32913c367f0b93a57f86ba13b9883a42a528aff44c48196941d7c0fd7a27005db6adaf07802e501 WHIRLPOOL 279ef11d2d6f0cb7c192189d64bc6971cdada7417b93a65a3ff0ba4548b736b53b9812803024c2349114e94e0864f2b58c23812687ed3f75cf28334b0f6e11ac
11
DIST nss-pem-015ae754dd9f6fbcd7e52030ec9732eb27fc06a8.tar.bz2 27506 SHA256 50d9ec26a75835e900302f631456e278e13d4b435b8f98aa69f79dd439ddc6ab SHA512 0158a140f112a905f7db5a4f4d04f49f6742db1d2665ddf6c32913c367f0b93a57f86ba13b9883a42a528aff44c48196941d7c0fd7a27005db6adaf07802e501 WHIRLPOOL 279ef11d2d6f0cb7c192189d64bc6971cdada7417b93a65a3ff0ba4548b736b53b9812803024c2349114e94e0864f2b58c23812687ed3f75cf28334b0f6e11ac
10
EBUILD nss-3.17.4-r99.ebuild 9064 SHA256 1b981c03c85a47231f4542ced6356995458a36949b1c04eeb9143010d3625f31 SHA512 ccd1cc9a70b27435e4403786d1734a2d14c9512bfda2611d359e6b960c8b44c38ebcbaaea17856e9c995b55e138099961ecdb41595877a83069a48e7bff5941d WHIRLPOOL accf33d921a4f875534ca093c499b20f41429b76d5af3a4fe50d975e6082e100247048080386ebc6d48a42f2b40bda75bd1a89bc9f41b4a2836b33ce80cb768c
12
EBUILD nss-3.17.4-r99.ebuild 9064 SHA256 1b981c03c85a47231f4542ced6356995458a36949b1c04eeb9143010d3625f31 SHA512 ccd1cc9a70b27435e4403786d1734a2d14c9512bfda2611d359e6b960c8b44c38ebcbaaea17856e9c995b55e138099961ecdb41595877a83069a48e7bff5941d WHIRLPOOL accf33d921a4f875534ca093c499b20f41429b76d5af3a4fe50d975e6082e100247048080386ebc6d48a42f2b40bda75bd1a89bc9f41b4a2836b33ce80cb768c
13
EBUILD nss-3.19.1-r99.ebuild 9227 SHA256 0b832e4feb098f7effc46915f74ab5c33c0b6d38da80ef81572e48387802c85c SHA512 0bc26bbf993944b04cc95ffe1f0bbbc8b88655ad4cc3aaee1f60875000742eb47264f319defa25001ef9645bc53ab4bcf3976dc5402d1f09af5a72455f4c8a20 WHIRLPOOL e3b3e788a9816a77266fe4c56509bf7439d277b566b2436af9eb01173534660e52ec5ef1fb0288395f7d2783b51090e49879c835d01b61898922507f0be44571
11
MISC metadata.xml 545 SHA256 d3a7dfb4b9f063b343b42b3002d3722ee44aea8a47154fa2158533aa94a5a258 SHA512 4da88948d5b637093646300bab0105c642968b2c9693939be6b75b5d24f02bd9b2cc5f13ae18594b9b00fa8dfe02e5d6959c13021124cd027007649787aec750 WHIRLPOOL 0879625ef92b2db563e5a1b434176bab08846e815fbf0c963a23b3ca228b3525dc80f6e7940a303fc1dd47403416c67811ed09d00f29a431abc4979865b67ff9
14
MISC metadata.xml 545 SHA256 d3a7dfb4b9f063b343b42b3002d3722ee44aea8a47154fa2158533aa94a5a258 SHA512 4da88948d5b637093646300bab0105c642968b2c9693939be6b75b5d24f02bd9b2cc5f13ae18594b9b00fa8dfe02e5d6959c13021124cd027007649787aec750 WHIRLPOOL 0879625ef92b2db563e5a1b434176bab08846e815fbf0c963a23b3ca228b3525dc80f6e7940a303fc1dd47403416c67811ed09d00f29a431abc4979865b67ff9
(-)a/dev-libs/nss/nss-3.19.1-r99.ebuild (-1 / +329 lines)
Line 0 Link Here
1
diff -urN a/nss/lib/ckfw/builtins/certdata.txt b/nss/lib/ckfw/builtins/certdata.txt
2
--- a/nss/lib/ckfw/builtins/certdata.txt	2015-01-22 13:49:26.000000000 -0600
Line 0 Link Here
0
- 
1
# Copyright 1999-2015 Gentoo Foundation
2
# Distributed under the terms of the GNU General Public License v2
3
# $Header: /var/cvsroot/gentoo-x86/dev-libs/nss/nss-3.19.1.ebuild,v 1.1 2015/06/01 21:11:59 axs Exp $
4
5
EAPI=5
6
inherit eutils flag-o-matic multilib toolchain-funcs multilib-minimal
7
8
NSPR_VER="4.10.8"
9
RTM_NAME="NSS_${PV//./_}_RTM"
10
# Rev of https://git.fedorahosted.org/cgit/nss-pem.git
11
PEM_GIT_REV="015ae754dd9f6fbcd7e52030ec9732eb27fc06a8"
12
PEM_P="${PN}-pem-${PEM_GIT_REV}"
13
14
DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
15
HOMEPAGE="http://www.mozilla.org/projects/security/pki/nss/"
16
SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
17
	cacert? ( http://dev.gentoo.org/~anarchy/patches/${PN}-3.14.1-add_spi+cacerts_ca_certs.patch )
18
	nss-pem? ( https://git.fedorahosted.org/cgit/nss-pem.git/snapshot/${PEM_P}.tar.bz2 )"
19
20
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
21
SLOT="0"
22
KEYWORDS="~amd64 ~arm ~mips ~ppc ~x86"
23
IUSE="+cacert +nss-pem utils"
24
CDEPEND=">=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
25
	>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]"
26
DEPEND=">=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
27
	>=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
28
	${CDEPEND}"
29
RDEPEND=">=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
30
	${CDEPEND}
31
	abi_x86_32? (
32
		!<=app-emulation/emul-linux-x86-baselibs-20140508-r12
33
		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
34
	)"
35
36
RESTRICT="test"
37
38
S="${WORKDIR}/${P}/${PN}"
39
40
MULTILIB_CHOST_TOOLS=(
41
	/usr/bin/nss-config
42
)
43
44
src_unpack() {
45
	unpack ${A}
46
	if use nss-pem ; then
47
		mv "${PEM_P}"/nss/lib/ckfw/pem/ "${S}"/lib/ckfw/ || die
48
	fi
49
}
50
51
src_prepare() {
52
	# Custom changes for gentoo
53
	epatch "${FILESDIR}/${PN}-3.17.1-gentoo-fixups.patch"
54
	epatch "${FILESDIR}/${PN}-3.15-gentoo-fixup-warnings.patch"
55
	use cacert && epatch "${DISTDIR}/${PN}-3.14.1-add_spi+cacerts_ca_certs.patch"
56
	use nss-pem && epatch "${FILESDIR}/${PN}-3.15.4-enable-pem.patch"
57
	epatch "${FILESDIR}/nss-3.14.2-solaris-gcc.patch"
58
	epatch "${FILESDIR}/${PN}-cacert-class3.patch" # 521462
59
60
	epatch "${FILESDIR}/${PN}-3.16-musl.patch"
61
62
	pushd coreconf >/dev/null || die
63
	# hack nspr paths
64
	echo 'INCLUDES += -I$(DIST)/include/dbm' \
65
		>> headers.mk || die "failed to append include"
66
67
	# modify install path
68
	sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
69
		-i source.mk || die
70
71
	# Respect LDFLAGS
72
	sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
73
	popd >/dev/null || die
74
75
	# Fix pkgconfig file for Prefix
76
	sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
77
		config/Makefile || die
78
79
	# use host shlibsign if need be #436216
80
	if tc-is-cross-compiler ; then
81
		sed -i \
82
			-e 's:"${2}"/shlibsign:shlibsign:' \
83
			cmd/shlibsign/sign.sh || die
84
	fi
85
86
	# dirty hack
87
	sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
88
		lib/ssl/config.mk || die
89
	sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
90
		cmd/platlibs.mk || die
91
92
	multilib_copy_sources
93
94
	strip-flags
95
}
96
97
multilib_src_configure() {
98
	# Ensure we stay multilib aware
99
	sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
100
}
101
102
nssarch() {
103
	# Most of the arches are the same as $ARCH
104
	local t=${1:-${CHOST}}
105
	case ${t} in
106
		aarch64*)echo "aarch64";;
107
		hppa*)   echo "parisc";;
108
		i?86*)   echo "i686";;
109
		x86_64*) echo "x86_64";;
110
		*)       tc-arch ${t};;
111
	esac
112
}
113
114
nssbits() {
115
	local cc cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
116
	if [[ ${1} == BUILD_ ]]; then
117
		cc=$(tc-getBUILD_CC)
118
	else
119
		cc=$(tc-getCC)
120
	fi
121
	echo > "${T}"/test.c || die
122
	${cc} ${!cppflags} ${!cflags} -c "${T}"/test.c -o "${T}/${1}test.o" || die
123
	case $(file "${T}/${1}test.o") in
124
		*32-bit*x86-64*) echo USE_X32=1;;
125
		*64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
126
		*32-bit*|*ppc*|*i386*) ;;
127
		*) die "Failed to detect whether ${cc} builds 64bits or 32bits, disable distcc if you're using it, please";;
128
	esac
129
}
130
131
multilib_src_compile() {
132
	# use ABI to determine bit'ness, or fallback if unset
133
	local buildbits mybits
134
	case "${ABI}" in
135
		n32) mybits="USE_N32=1";;
136
		x32) mybits="USE_X32=1";;
137
		s390x|*64) mybits="USE_64=1";;
138
		${DEFAULT_ABI})
139
			einfo "Running compilation test to determine bit'ness"
140
			mybits=$(nssbits)
141
			;;
142
	esac
143
	# bitness of host may differ from target
144
	if tc-is-cross-compiler; then
145
		buildbits=$(nssbits BUILD_)
146
	fi
147
148
	local makeargs=(
149
		CC="$(tc-getCC)"
150
		AR="$(tc-getAR) rc \$@"
151
		RANLIB="$(tc-getRANLIB)"
152
		OPTIMIZER=
153
		${mybits}
154
	)
155
156
	# Take care of nspr settings #436216
157
	local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)"
158
	unset NSPR_INCLUDE_DIR
159
160
	# Do not let `uname` be used.
161
	if use kernel_linux ; then
162
		makeargs+=(
163
			OS_TARGET=Linux
164
			OS_RELEASE=2.6
165
			OS_TEST="$(nssarch)"
166
		)
167
	fi
168
169
	export BUILD_OPT=1
170
	export NSS_USE_SYSTEM_SQLITE=1
171
	export NSDISTMODE=copy
172
	export NSS_ENABLE_ECC=1
173
	export FREEBL_NO_DEPEND=1
174
	export ASFLAGS=""
175
176
	local d
177
178
	# Build the host tools first.
179
	LDFLAGS="${BUILD_LDFLAGS}" \
180
	XCFLAGS="${BUILD_CFLAGS}" \
181
	NSPR_LIB_DIR="${T}/fakedir" \
182
	emake -j1 -C coreconf \
183
		CC="$(tc-getBUILD_CC)" \
184
		${buildbits:-${mybits}}
185
	makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
186
187
	# Then build the target tools.
188
	for d in . lib/dbm ; do
189
		CPPFLAGS="${myCPPFLAGS}" \
190
		XCFLAGS="${CFLAGS} ${CPPFLAGS}" \
191
		NSPR_LIB_DIR="${T}/fakedir" \
192
		emake -j1 "${makeargs[@]}" -C ${d}
193
	done
194
}
195
196
# Altering these 3 libraries breaks the CHK verification.
197
# All of the following cause it to break:
198
# - stripping
199
# - prelink
200
# - ELF signing
201
# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
202
# Either we have to NOT strip them, or we have to forcibly resign after
203
# stripping.
204
#local_libdir="$(get_libdir)"
205
#export STRIP_MASK="
206
#	*/${local_libdir}/libfreebl3.so*
207
#	*/${local_libdir}/libnssdbm3.so*
208
#	*/${local_libdir}/libsoftokn3.so*"
209
210
export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3"
211
212
generate_chk() {
213
	local shlibsign="$1"
214
	local libdir="$2"
215
	einfo "Resigning core NSS libraries for FIPS validation"
216
	shift 2
217
	local i
218
	for i in ${NSS_CHK_SIGN_LIBS} ; do
219
		local libname=lib${i}.so
220
		local chkname=lib${i}.chk
221
		"${shlibsign}" \
222
			-i "${libdir}"/${libname} \
223
			-o "${libdir}"/${chkname}.tmp \
224
		&& mv -f \
225
			"${libdir}"/${chkname}.tmp \
226
			"${libdir}"/${chkname} \
227
		|| die "Failed to sign ${libname}"
228
	done
229
}
230
231
cleanup_chk() {
232
	local libdir="$1"
233
	shift 1
234
	local i
235
	for i in ${NSS_CHK_SIGN_LIBS} ; do
236
		local libfname="${libdir}/lib${i}.so"
237
		# If the major version has changed, then we have old chk files.
238
		[ ! -f "${libfname}" -a -f "${libfname}.chk" ] \
239
			&& rm -f "${libfname}.chk"
240
	done
241
}
242
243
multilib_src_install() {
244
	pushd dist >/dev/null || die
245
246
	dodir /usr/$(get_libdir)
247
	cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed"
248
	cp -L -t "${ED}"/usr/$(get_libdir) */lib/{libcrmf,libfreebl}.a || die "copying libs failed"
249
250
	# Install nss-config and pkgconfig file
251
	dodir /usr/bin
252
	cp -L */bin/nss-config "${ED}"/usr/bin || die
253
	dodir /usr/$(get_libdir)/pkgconfig
254
	cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig || die
255
256
	# create an nss-softokn.pc from nss.pc for libfreebl and some private headers
257
	# bug 517266
258
	sed 	-e 's#Libs:#Libs: -lfreebl#' \
259
		-e 's#Cflags:#Cflags: -I${includedir}/private#' \
260
		*/lib/pkgconfig/nss.pc >"${ED}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \
261
		|| die "could not create nss-softokn.pc"
262
263
	# all the include files
264
	insinto /usr/include/nss
265
	doins public/nss/*.h
266
	insinto /usr/include/nss/private
267
	doins private/nss/{blapi,alghmac}.h
268
269
	popd >/dev/null || die
270
271
	local f nssutils
272
	# Always enabled because we need it for chk generation.
273
	nssutils="shlibsign"
274
275
	if multilib_is_native_abi ; then
276
		if use utils; then
277
			# The tests we do not need to install.
278
			#nssutils_test="bltest crmftest dbtest dertimetest
279
			#fipstest remtest sdrtest"
280
			nssutils="addbuiltin atob baddbdir btoa certcgi certutil checkcert
281
			cmsutil conflict crlutil derdump digest makepqg mangle modutil multinit
282
			nonspr10 ocspclnt oidcalc p7content p7env p7sign p7verify pk11mode
283
			pk12util pp rsaperf selfserv shlibsign signtool signver ssltap strsclnt
284
			symkeyutil tstclnt vfychain vfyserv"
285
			# install man-pages for utils (bug #516810)
286
			doman doc/nroff/*.1
287
		fi
288
		pushd dist/*/bin >/dev/null || die
289
		for f in ${nssutils}; do
290
			dobin ${f}
291
		done
292
		popd >/dev/null || die
293
	fi
294
295
	# Prelink breaks the CHK files. We don't have any reliable way to run
296
	# shlibsign after prelink.
297
	local l libs=() liblist
298
	for l in ${NSS_CHK_SIGN_LIBS} ; do
299
		libs+=("${EPREFIX}/usr/$(get_libdir)/lib${l}.so")
300
	done
301
	liblist=$(printf '%s:' "${libs[@]}")
302
	echo -e "PRELINK_PATH_MASK=${liblist%:}" > "${T}/90nss-${ABI}"
303
	doenvd "${T}/90nss-${ABI}"
304
}
305
306
pkg_postinst() {
307
	multilib_pkg_postinst() {
308
		# We must re-sign the libraries AFTER they are stripped.
309
		local shlibsign="${EROOT}/usr/bin/shlibsign"
310
		# See if we can execute it (cross-compiling & such). #436216
311
		"${shlibsign}" -h >&/dev/null
312
		if [[ $? -gt 1 ]] ; then
313
			shlibsign="shlibsign"
314
		fi
315
		generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
316
	}
317
318
	multilib_foreach_abi multilib_pkg_postinst
319
}
320
321
pkg_postrm() {
322
	multilib_pkg_postrm() {
323
		cleanup_chk "${EROOT}"/usr/$(get_libdir)
324
	}
325
326
	multilib_foreach_abi multilib_pkg_postrm
327
}

Return to bug 531846