80 lines
2.1 KiB
Makefile
80 lines
2.1 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Copyright (C) 2022-2023 Enéas Ulir de Queiroz
|
|
|
|
ENGINES_DIR=engines-3
|
|
|
|
define Package/openssl/module/Default
|
|
SECTION:=libs
|
|
CATEGORY:=Libraries
|
|
SUBMENU:=SSL
|
|
DEPENDS:=libopenssl +libopenssl-conf
|
|
endef
|
|
|
|
define Package/openssl/engine/Default
|
|
$(Package/openssl/module/Default)
|
|
DEPENDS+=@OPENSSL_ENGINE
|
|
endef
|
|
|
|
|
|
# 1 = moudule type (engine|provider)
|
|
# 2 = module name
|
|
# 3 = directory to save .so file
|
|
# 4 = [ package name, defaults to libopenssl-$(2) ]
|
|
define Package/openssl/add-module
|
|
$(eval MOD_TYPE:=$(1))
|
|
$(eval MOD_NAME:=$(2))
|
|
$(eval MOD_DIR:=$(3))
|
|
$(eval OSSL_PKG:=$(if $(4),$(4),libopenssl-$(MOD_NAME)))
|
|
$(info Package/openssl/add-module 1='$(1)'; 2='$(2)'; 3='$(3)' 4='$(4)')
|
|
$(info MOD_TYPE='$(MOD_TYPE)'; MOD_NAME='$(MOD_NAME)'; MOD_DIR='$(MOD_DIR)' OSSL_PKG='$(OSSL_PKG)')
|
|
Package/$(OSSL_PKG)/conffiles:=/etc/ssl/modules.cnf.d/$(MOD_NAME).cnf
|
|
|
|
define Package/$(OSSL_PKG)/install
|
|
$$(INSTALL_DIR) $$(1)/$(MOD_DIR)
|
|
$$(INSTALL_BIN) $$(PKG_INSTALL_DIR)/$(MOD_DIR)/$(MOD_NAME).so \
|
|
$$(1)/$(MOD_DIR)
|
|
$$(INSTALL_DIR) $$(1)/etc/ssl/modules.cnf.d
|
|
$$(INSTALL_DATA) ./files/$(MOD_NAME).cnf $$(1)/etc/ssl/modules.cnf.d/
|
|
endef
|
|
|
|
define Package/$(OSSL_PKG)/postinst
|
|
#!/bin/sh
|
|
OPENSSL_UCI="$$$${IPKG_INSTROOT}/etc/config/openssl"
|
|
|
|
[ -z "$$$${IPKG_INSTROOT}" ] \
|
|
&& uci -q get openssl.$(MOD_NAME) >/dev/null \
|
|
&& exit 0
|
|
|
|
cat << EOF >> "$$$${OPENSSL_UCI}"
|
|
|
|
config $(MOD_TYPE) '$(MOD_NAME)'
|
|
option enabled '1'
|
|
EOF
|
|
|
|
[ -n "$$$${IPKG_INSTROOT}" ] || /etc/init.d/openssl reload
|
|
exit 0
|
|
endef
|
|
|
|
define Package/$(OSSL_PKG)/postrm
|
|
#!/bin/sh
|
|
[ -n "$$$${IPKG_INSTROOT}" ] && exit 0
|
|
uci -q delete openssl.$(MOD_NAME) && uci commit openssl
|
|
/etc/init.d/openssl reload
|
|
exit 0
|
|
endef
|
|
endef
|
|
|
|
# 1 = engine name
|
|
# 2 - package name, defaults to libopenssl-$(1)
|
|
define Package/openssl/add-engine
|
|
$(call Package/openssl/add-module,engine,$(1),/usr/lib/$(ENGINES_DIR),$(2))
|
|
endef
|
|
|
|
# 1 = provider name
|
|
# 2 = [ package name, defaults to libopenssl-$(1) ]
|
|
define Package/openssl/add-provider
|
|
$(call Package/openssl/add-module,provider,$(1),/usr/lib/ossl-modules,$(2))
|
|
endef
|
|
|