be9a00f367e6bfd2c37be89d8109651c58815661
[openwrt/openwrt.git] / package / system / ca-certificates / Makefile
1 #
2 # Copyright (C) 2006-2017 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 include $(TOPDIR)/rules.mk
8
9 PKG_NAME:=ca-certificates
10 PKG_VERSION:=20250419
11 PKG_RELEASE:=2
12 PKG_MAINTAINER:=
13
14 PKG_LICENSE:=GPL-2.0-or-later MPL-2.0
15 PKG_LICENSE_FILES:=debian/copyright
16
17 PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.xz
18 PKG_SOURCE_URL:=@DEBIAN/pool/main/c/ca-certificates
19 PKG_HASH:=33b44ef78653ecd3f0f2f13e5bba6be466be2e7da72182f737912b81798ba5d2
20 PKG_INSTALL:=1
21
22 include $(INCLUDE_DIR)/package.mk
23
24 TAR_OPTIONS+= --strip-components 1
25 TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
26
27 # ca-certs is deprecated and new packages should use ca-certificates-any if
28 # they don't need a specific package
29 define Package/ca-certificates
30 SECTION:=base
31 CATEGORY:=Base system
32 TITLE:=System CA certificates
33 PKGARCH:=all
34 PROVIDES:=@ca-certs
35 endef
36
37 define Package/ca-bundle
38 SECTION:=base
39 CATEGORY:=Base system
40 TITLE:=System CA certificates as a bundle
41 PKGARCH:=all
42 PROVIDES:=@ca-certs @ca-certificates-any
43 endef
44
45 define Build/Install
46 mkdir -p \
47 $(PKG_INSTALL_DIR)/usr/sbin \
48 $(PKG_INSTALL_DIR)/usr/share/ca-certificates
49 $(call Build/Install/Default,)
50 endef
51
52 define Package/ca-certificates/install
53 $(INSTALL_DIR) $(1)/etc/ssl/certs
54 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/ca-certificates/*/*.crt $(1)/etc/ssl/certs/
55
56 for CERTFILE in `ls -1 $(1)/etc/ssl/certs`; do \
57 HASH=`openssl x509 -hash -noout -in $(1)/etc/ssl/certs/$$$$CERTFILE` ; \
58 SUFFIX=0 ; \
59 while [ -h "$(1)/etc/ssl/certs/$$$$HASH.$$$$SUFFIX" ]; do \
60 let "SUFFIX += 1" ; \
61 done ; \
62 $(LN) "$$$$CERTFILE" "$(1)/etc/ssl/certs/$$$$HASH.$$$$SUFFIX" ; \
63 done
64 endef
65
66 define Package/ca-bundle/install
67 $(INSTALL_DIR) $(1)/etc/ssl/certs
68 cat $(PKG_INSTALL_DIR)/usr/share/ca-certificates/*/*.crt >$(1)/etc/ssl/certs/ca-certificates.crt
69 $(LN) /etc/ssl/certs/ca-certificates.crt $(1)/etc/ssl/cert.pem
70 endef
71 $(eval $(call BuildPackage,ca-bundle))
72 $(eval $(call BuildPackage,ca-certificates))