ca-certificates_20211016.bb 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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-or-later & MPL-2.0"
  8. LIC_FILES_CHKSUM = "file://debian/copyright;md5=ae5b36b514e3f12ce1aa8e2ee67f3d7e"
  9. # This is needed to ensure we can run the postinst at image creation time
  10. DEPENDS = ""
  11. DEPENDS:class-native = "openssl-native"
  12. DEPENDS:class-nativesdk = "openssl-native"
  13. # Need rehash from openssl and run-parts from debianutils
  14. PACKAGE_WRITE_DEPS += "openssl-native debianutils-native"
  15. SRCREV = "07de54fdcc5806bde549e1edf60738c6bccf50e8"
  16. SRC_URI = "git://salsa.debian.org/debian/ca-certificates.git;protocol=https;branch=master \
  17. file://0002-update-ca-certificates-use-SYSROOT.patch \
  18. file://0001-update-ca-certificates-don-t-use-Debianisms-in-run-p.patch \
  19. file://default-sysroot.patch \
  20. file://0003-update-ca-certificates-use-relative-symlinks-from-ET.patch \
  21. file://0001-Revert-mozilla-certdata2pem.py-print-a-warning-for-e.patch \
  22. "
  23. UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+)"
  24. S = "${WORKDIR}/git"
  25. inherit allarch
  26. EXTRA_OEMAKE = "\
  27. 'CERTSDIR=${datadir}/ca-certificates' \
  28. 'SBINDIR=${sbindir}' \
  29. "
  30. do_compile:prepend() {
  31. oe_runmake clean
  32. }
  33. do_install () {
  34. install -d ${D}${datadir}/ca-certificates \
  35. ${D}${sysconfdir}/ssl/certs \
  36. ${D}${sysconfdir}/ca-certificates/update.d
  37. oe_runmake 'DESTDIR=${D}' install
  38. install -d ${D}${mandir}/man8
  39. install -m 0644 sbin/update-ca-certificates.8 ${D}${mandir}/man8/
  40. install -d ${D}${sysconfdir}
  41. {
  42. echo "# Lines starting with # will be ignored"
  43. echo "# Lines starting with ! will remove certificate on next update"
  44. echo "#"
  45. find ${D}${datadir}/ca-certificates -type f -name '*.crt' | \
  46. sed 's,^${D}${datadir}/ca-certificates/,,' | sort
  47. } >${D}${sysconfdir}/ca-certificates.conf
  48. }
  49. do_install:append:class-target () {
  50. sed -i -e 's,/etc/,${sysconfdir}/,' \
  51. -e 's,/usr/share/,${datadir}/,' \
  52. -e 's,/usr/local,${prefix}/local,' \
  53. ${D}${sbindir}/update-ca-certificates \
  54. ${D}${mandir}/man8/update-ca-certificates.8
  55. }
  56. pkg_postinst:${PN}:class-target () {
  57. SYSROOT="$D" $D${sbindir}/update-ca-certificates
  58. }
  59. CONFFILES:${PN} += "${sysconfdir}/ca-certificates.conf"
  60. # Rather than make a postinst script that works for both target and nativesdk,
  61. # we just run update-ca-certificate from do_install() for nativesdk.
  62. CONFFILES:${PN}:append:class-nativesdk = " ${sysconfdir}/ssl/certs/ca-certificates.crt"
  63. do_install:append:class-nativesdk () {
  64. SYSROOT="${D}${SDKPATHNATIVE}" ${D}${sbindir}/update-ca-certificates
  65. }
  66. do_install:append:class-native () {
  67. SYSROOT="${D}${base_prefix}" ${D}${sbindir}/update-ca-certificates
  68. }
  69. RDEPENDS:${PN}:append:class-target = " openssl-bin openssl"
  70. RDEPENDS:${PN}:append:class-native = " openssl-native"
  71. RDEPENDS:${PN}:append:class-nativesdk = " nativesdk-openssl-bin nativesdk-openssl"
  72. BBCLASSEXTEND = "native nativesdk"