mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-08 00:20:38 -09:00
The host ca-certificates is needed to download the SPDX schema on CycloneDX's GitHub when using Buildroot's host Python, see urllib.request.urlretrieve(SPDX_SCHEMA_URL, SPDX_SCHEMA_PATH) in utils/generate-cyclonedx. Note that unlike the target package which uses a _TARGET_FINALIZE_HOOKS since commit2bc8e72baf("package/ca-certificates: create the bundle as target-finalize hook"), the host package doesn't have this option as there's no such hook for host packages. Therefore, the target's CA_CERTIFICATES_INSTALL_TARGET_CMDS and CA_CERTIFICATES_GEN_BUNDLE are merged and adapted into HOST_CA_CERTIFICATES_INSTALL_CMDS. This of course has the same shortcomings as the target package had before commit2bc8e72baf("package/ca-certificates: create the bundle as target-finalize hook"). The adaptations were: - replaced $(TARGET_MAKE_ENV) with $(HOST_MAKE_ENV) - replaced $(TARGET_DIR) to $(HOST_DIR) - replaced $(HOST_DIR)/usr with $(HOST_DIR) - replaced find usr/share/ca-certificates with find share/ca-certificates (since it's done from within $(HOST_DIR) Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
77 lines
2.8 KiB
Makefile
77 lines
2.8 KiB
Makefile
################################################################################
|
|
#
|
|
# ca-certificates
|
|
#
|
|
################################################################################
|
|
|
|
CA_CERTIFICATES_VERSION = 20260223
|
|
CA_CERTIFICATES_SOURCE = ca-certificates_$(CA_CERTIFICATES_VERSION).tar.xz
|
|
CA_CERTIFICATES_SITE = https://snapshot.debian.org/archive/debian/20260223T202245Z/pool/main/c/ca-certificates
|
|
CA_CERTIFICATES_DEPENDENCIES = host-openssl host-python3
|
|
HOST_CA_CERTIFICATES_DEPENDENCIES = host-openssl host-python3
|
|
CA_CERTIFICATES_LICENSE = GPL-2.0+ (script), MPL-2.0 (data)
|
|
CA_CERTIFICATES_LICENSE_FILES = debian/copyright
|
|
|
|
define CA_CERTIFICATES_BUILD_CMDS
|
|
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) clean all
|
|
endef
|
|
|
|
define CA_CERTIFICATES_INSTALL_TARGET_CMDS
|
|
$(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/share/ca-certificates
|
|
$(INSTALL) -d -m 0755 $(TARGET_DIR)/etc/ssl/certs
|
|
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install DESTDIR=$(TARGET_DIR)
|
|
rm -f $(TARGET_DIR)/usr/sbin/update-ca-certificates
|
|
endef
|
|
|
|
define CA_CERTIFICATES_GEN_BUNDLE
|
|
# Remove any existing certificates under /etc/ssl/certs
|
|
rm -f $(TARGET_DIR)/etc/ssl/certs/*
|
|
|
|
# Create symlinks to certificates under /etc/ssl/certs
|
|
# and generate the bundle
|
|
cd $(TARGET_DIR) ;\
|
|
for i in `find usr/share/ca-certificates -name "*.crt" | LC_COLLATE=C sort` ; do \
|
|
ln -sf ../../../$$i etc/ssl/certs/`basename $${i} .crt`.pem ;\
|
|
cat $$i ;\
|
|
done >$(BUILD_DIR)/ca-certificates.crt
|
|
|
|
# Create symlinks to the certificates by their hash values
|
|
$(HOST_DIR)/bin/c_rehash $(TARGET_DIR)/etc/ssl/certs
|
|
|
|
# Install the certificates bundle
|
|
$(INSTALL) -D -m 644 $(BUILD_DIR)/ca-certificates.crt \
|
|
$(TARGET_DIR)/etc/ssl/certs/ca-certificates.crt
|
|
endef
|
|
CA_CERTIFICATES_TARGET_FINALIZE_HOOKS += CA_CERTIFICATES_GEN_BUNDLE
|
|
|
|
define HOST_CA_CERTIFICATES_BUILD_CMDS
|
|
$(HOST_MAKE_ENV) $(MAKE) -C $(@D) clean all
|
|
endef
|
|
|
|
define HOST_CA_CERTIFICATES_INSTALL_CMDS
|
|
$(INSTALL) -d -m 0755 $(HOST_DIR)/share/ca-certificates
|
|
$(INSTALL) -d -m 0755 $(HOST_DIR)/etc/ssl/certs
|
|
$(HOST_MAKE_ENV) $(MAKE) -C $(@D) install DESTDIR=$(HOST_DIR)
|
|
rm -f $(HOST_DIR)/sbin/update-ca-certificates
|
|
# Remove any existing certificates under /etc/ssl/certs
|
|
rm -f $(HOST_DIR)/etc/ssl/certs/*
|
|
|
|
# Create symlinks to certificates under /etc/ssl/certs
|
|
# and generate the bundle
|
|
cd $(HOST_DIR) ;\
|
|
for i in `find share/ca-certificates -name "*.crt" | LC_COLLATE=C sort` ; do \
|
|
ln -sf ../../../$$i etc/ssl/certs/`basename $${i} .crt`.pem ;\
|
|
cat $$i ;\
|
|
done >$(BUILD_DIR)/ca-certificates.crt
|
|
|
|
# Create symlinks to the certificates by their hash values
|
|
$(HOST_DIR)/bin/c_rehash $(HOST_DIR)/etc/ssl/certs
|
|
|
|
# Install the certificates bundle
|
|
$(INSTALL) -D -m 644 $(BUILD_DIR)/ca-certificates.crt \
|
|
$(HOST_DIR)/etc/ssl/certs/ca-certificates.crt
|
|
endef
|
|
|
|
$(eval $(generic-package))
|
|
$(eval $(host-generic-package))
|