engine.mk 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. ENGINES_DIR=engines-1.1
  2. define Package/openssl/engine/Default
  3. SECTION:=libs
  4. CATEGORY:=Libraries
  5. SUBMENU:=SSL
  6. DEPENDS:=libopenssl @OPENSSL_ENGINE +libopenssl-conf
  7. endef
  8. # 1 = engine name
  9. # 2 - package name, defaults to libopenssl-$(1)
  10. define Package/openssl/add-engine
  11. OSSL_ENG_PKG:=$(if $(2),$(2),libopenssl-$(1))
  12. Package/$$(OSSL_ENG_PKG)/conffiles:=/etc/ssl/engines.cnf.d/$(1).cnf
  13. define Package/$$(OSSL_ENG_PKG)/install
  14. $$(INSTALL_DIR) $$(1)/usr/lib/$(ENGINES_DIR)
  15. $$(INSTALL_BIN) $$(PKG_INSTALL_DIR)/usr/lib/$(ENGINES_DIR)/$(1).so \
  16. $$(1)/usr/lib/$(ENGINES_DIR)
  17. $$(INSTALL_DIR) $$(1)/etc/ssl/engines.cnf.d
  18. $$(INSTALL_DATA) ./files/$(1).cnf $$(1)/etc/ssl/engines.cnf.d/
  19. endef
  20. define Package/$$(OSSL_ENG_PKG)/postinst :=
  21. #!/bin/sh
  22. OPENSSL_UCI="$$$${IPKG_INSTROOT}/etc/config/openssl"
  23. [ -z "$$$${IPKG_INSTROOT}" ] && uci -q get openssl.$(1) >/dev/null && exit 0
  24. cat << EOF >> "$$$${OPENSSL_UCI}"
  25. config engine '$(1)'
  26. option enabled '1'
  27. EOF
  28. [ -n "$$$${IPKG_INSTROOT}" ] || /etc/init.d/openssl reload
  29. endef
  30. define Package/$$(OSSL_ENG_PKG)/postrm :=
  31. #!/bin/sh
  32. [ -n "$$$${IPKG_INSTROOT}" ] && exit 0
  33. uci delete openssl.$(1)
  34. uci commit openssl
  35. /etc/init.d/openssl reload
  36. endef
  37. endef