bpf: fix broken inclusion of system include
[openwrt/staging/stintel.git] / include / openssl-module.mk
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Copyright (C) 2022-2023 Enéas Ulir de Queiroz
4
5 ENGINES_DIR=engines-3
6
7 define Package/openssl/module/Default
8 SECTION:=libs
9 CATEGORY:=Libraries
10 SUBMENU:=SSL
11 DEPENDS:=libopenssl +libopenssl-conf
12 endef
13
14 define Package/openssl/engine/Default
15 $(Package/openssl/module/Default)
16 DEPENDS+=@OPENSSL_ENGINE
17 endef
18
19
20 # 1 = moudule type (engine|provider)
21 # 2 = module name
22 # 3 = directory to save .so file
23 # 4 = [ package name, defaults to libopenssl-$(2) ]
24 define Package/openssl/add-module
25 $(eval MOD_TYPE:=$(1))
26 $(eval MOD_NAME:=$(2))
27 $(eval MOD_DIR:=$(3))
28 $(eval OSSL_PKG:=$(if $(4),$(4),libopenssl-$(MOD_NAME)))
29 $(info Package/openssl/add-module 1='$(1)'; 2='$(2)'; 3='$(3)' 4='$(4)')
30 $(info MOD_TYPE='$(MOD_TYPE)'; MOD_NAME='$(MOD_NAME)'; MOD_DIR='$(MOD_DIR)' OSSL_PKG='$(OSSL_PKG)')
31 Package/$(OSSL_PKG)/conffiles:=/etc/ssl/modules.cnf.d/$(MOD_NAME).cnf
32
33 define Package/$(OSSL_PKG)/install
34 $$(INSTALL_DIR) $$(1)/$(MOD_DIR)
35 $$(INSTALL_BIN) $$(PKG_INSTALL_DIR)/$(MOD_DIR)/$(MOD_NAME).so \
36 $$(1)/$(MOD_DIR)
37 $$(INSTALL_DIR) $$(1)/etc/ssl/modules.cnf.d
38 $$(INSTALL_DATA) ./files/$(MOD_NAME).cnf $$(1)/etc/ssl/modules.cnf.d/
39 endef
40
41 define Package/$(OSSL_PKG)/postinst
42 #!/bin/sh
43 OPENSSL_UCI="$$$${IPKG_INSTROOT}/etc/config/openssl"
44
45 [ -z "$$$${IPKG_INSTROOT}" ] \
46 && uci -q get openssl.$(MOD_NAME) >/dev/null \
47 && exit 0
48
49 cat << EOF >> "$$$${OPENSSL_UCI}"
50
51 config $(MOD_TYPE) '$(MOD_NAME)'
52 option enabled '1'
53 EOF
54
55 [ -n "$$$${IPKG_INSTROOT}" ] || /etc/init.d/openssl reload
56 exit 0
57 endef
58
59 define Package/$(OSSL_PKG)/postrm
60 #!/bin/sh
61 [ -n "$$$${IPKG_INSTROOT}" ] && exit 0
62 uci -q delete openssl.$(MOD_NAME) && uci commit openssl
63 /etc/init.d/openssl reload
64 exit 0
65 endef
66 endef
67
68 # 1 = engine name
69 # 2 - package name, defaults to libopenssl-$(1)
70 define Package/openssl/add-engine
71 $(call Package/openssl/add-module,engine,$(1),/usr/lib/$(ENGINES_DIR),$(2))
72 endef
73
74 # 1 = provider name
75 # 2 = [ package name, defaults to libopenssl-$(1) ]
76 define Package/openssl/add-provider
77 $(call Package/openssl/add-module,provider,$(1),/usr/lib/ossl-modules,$(2))
78 endef
79