59e7d5143730f1a73605ea6ec5da0e5d6b0feb27
[openembedded.git] / recipes / ca-certificates / ca-certificates_20170717.bb
1 SUMMARY = "Common CA certificates"
2 DESCRIPTION = "This package includes PEM files of CA certificates to allow \
3 SSL-based applications to check for the authenticity of SSL connections. \
4 This derived from Debian's CA Certificates."
5 HOMEPAGE = "http://packages.debian.org/sid/ca-certificates"
6 SECTION = "misc"
7 LICENSE = "GPL-2.0+ & MPL-2.0"
8 LIC_FILES_CHKSUM = "file://debian/copyright;md5=e7358b9541ccf3029e9705ed8de57968"
9
10 # This is needed to ensure we can run the postinst at image creation time
11 DEPENDS = ""
12 DEPENDS_class-native = "openssl-native"
13 DEPENDS_class-nativesdk = "openssl-native"
14 # Need c_rehash from openssl and run-parts from debianutils
15 PACKAGE_WRITE_DEPS += "openssl-native debianutils-native"
16
17 SRCREV = "34b8e19e541b8af4076616b2e170c7a70cdaded0"
18
19 SRC_URI = "git://anonscm.debian.org/collab-maint/ca-certificates.git \
20            file://0002-update-ca-certificates-use-SYSROOT.patch \
21            file://0001-update-ca-certificates-don-t-use-Debianisms-in-run-p.patch \
22            file://update-ca-certificates-support-Toybox.patch \
23            file://default-sysroot.patch \
24            file://sbindir.patch"
25
26 S = "${WORKDIR}/git"
27
28 inherit allarch
29
30 EXTRA_OEMAKE = "\
31     'CERTSDIR=${datadir}/ca-certificates' \
32     'SBINDIR=${sbindir}' \
33 "
34
35 do_compile_prepend() {
36     oe_runmake clean
37 }
38
39 do_install () {
40     install -d ${D}${datadir}/ca-certificates \
41                ${D}${sysconfdir}/ssl/certs \
42                ${D}${sysconfdir}/ca-certificates/update.d
43     oe_runmake 'DESTDIR=${D}' install
44
45     install -d ${D}${mandir}/man8
46     install -m 0644 sbin/update-ca-certificates.8 ${D}${mandir}/man8/
47
48     install -d ${D}${sysconfdir}
49     {
50         echo "# Lines starting with # will be ignored"
51         echo "# Lines starting with ! will remove certificate on next update"
52         echo "#"
53         find ${D}${datadir}/ca-certificates -type f -name '*.crt' | \
54             sed 's,^${D}${datadir}/ca-certificates/,,'
55     } >${D}${sysconfdir}/ca-certificates.conf
56 }
57
58 do_install_append_class-target () {
59     sed -i -e 's,/etc/,${sysconfdir}/,' \
60            -e 's,/usr/share/,${datadir}/,' \
61            -e 's,/usr/local,${prefix}/local,' \
62         ${D}${sbindir}/update-ca-certificates \
63         ${D}${mandir}/man8/update-ca-certificates.8
64 }
65
66 pkg_postinst_${PN} () {
67     SYSROOT="$D" $D${sbindir}/update-ca-certificates
68 }
69
70 CONFFILES_${PN} += "${sysconfdir}/ca-certificates.conf"
71
72 # Postinsts don't seem to be run for nativesdk packages when populating SDKs.
73 CONFFILES_${PN}_append_class-nativesdk = " ${sysconfdir}/ssl/certs/ca-certificates.crt"
74 do_install_append_class-nativesdk () {
75     SYSROOT="${D}${SDKPATHNATIVE}" ${D}${sbindir}/update-ca-certificates
76 }
77
78 do_install_append_class-native () {
79     SYSROOT="${D}${base_prefix}" ${D}${sbindir}/update-ca-certificates
80 }
81
82 RDEPENDS_${PN} += "openssl"
83
84 BBCLASSEXTEND = "native nativesdk"