summaryrefslogtreecommitdiffhomepage
path: root/vars/ca_certificates.vars
blob: dc17ab656d56a57b737c8789b5badba74dd90b8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#
# set +o errexit -o noglob -o nounset is assumed.
#

pkg_ca_certificates_install_make_pre() {
	"${PKG_DESTDIR}/../ca-certificates/certdata2pem_host";
	tar -C "${BUILD_WORKDIR}/ca_certificates_host-host-${PKG_TARGET}/destdir" -cpf - . | tar -C "${PKG_DESTDIR}" -xpf -;
};

pkg_ca_certificates_install_make_post() {
	set +o noglob
	if ! rtl_fileop cd "${PKG_DESTDIR}/share/ca-certificates"\
	|| ! find . -name '*.crt' | sort | cut -b3- > ${PKG_DESTDIR}/etc/ca-certificates.conf; then
		set -o noglob; return 1;
	fi;
	set -o noglob;
};

pkg_ca_certificates_host_configure_patch_post() {
	local _vname="" _vspec="" _vval="";
	for _vspec in	\
			CERTSCONF:/etc/ca-certificates.conf			\
			ETCCERTSDIR:/etc/ssl/certs/				\
			RUNPARTSDIR:/etc/ca-certificates/update.d/; do
		set -- $(rtl_llift "${_vspec}" : " "); _vname="${1}"; _vval="${2}";
		sed -i"" -e's,^#define '"${_vname}"' ".\+"$,#define '"${_vname}"' "'"${PKG_DESTDIR%/}${_vval}"'",' update-ca.c;
	done;
	sed -i"" -e's,^#define CERTSDIR ".\+"$,#define CERTSDIR "../../../usr/share/ca-certificates/",' update-ca.c;
	sed -i"" -e's,^#define LOCALCERTSDIR ".\+"$,#define LOCALCERTSDIR "../../../usr/local/share/ca-certificates/",' update-ca.c;
};

pkg_ca_certificates_host_install_make_pre() {
	pkg_ca_certificates_install_make_pre "${@}";
};

pkg_ca_certificates_host_install_make_post() {
	pkg_ca_certificates_install_make_post "${@}";
	sed -i"" -e's,^exec /usr/bin/c_rehash /etc/ssl/certs$,exec "'"${PKG_DESTDIR}/bin/c_rehash"'" "'"${PKG_DESTDIR}/etc/ssl/certs"'",' "${PKG_DESTDIR}/etc/ca-certificates/update.d/certhash";
	env LD_LIBRARY_PATH="${PKG_PREFIX}/lib" "${PKG_DESTDIR}/sbin/update-ca-certificates";
	set +o noglob; rtl_fileop rm "${PKG_DESTDIR}/bin"/* "${PKG_DESTDIR}/sbin"/*; set -o noglob;
};

# vim:filetype=sh textwidth=0