elektra: update to 0.9.2 12415/head
authorHarald Geyer <harald@ccbib.org>
Fri, 5 Jun 2020 20:50:22 +0000 (22:50 +0200)
committerHarald Geyer <harald@ccbib.org>
Fri, 5 Jun 2020 20:54:43 +0000 (22:54 +0200)
Notable changes:
* Move some plugins from libelektra-plugins to libelektra-cpp because
  they got reimplemented in C++.
* New package libelektra-zmq
* Move the crypto plugin from libopenssl to libgcrypt
* Disable host build: elektra doesn't need it anymore and nobody uses
  kdb during package builds for now.

Closes: #12307
Signed-off-by: Harald Geyer <harald@ccbib.org>
libs/elektra/Makefile
libs/elektra/patches/010-openssl-deprecated.patch [deleted file]

index 9bd3e379f997c735a85a0248d8c3a364ad33155d..18adffd94d326ac00a4ebb163ad6565a2aa345d7 100644 (file)
@@ -14,11 +14,11 @@ PKG_MAINTAINER:=Harald Geyer <harald@ccbib.org>
 PKG_NAME:=elektra
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE.md
-PKG_VERSION:=0.8.21
-PKG_RELEASE:=5
+PKG_VERSION:=0.9.2
+PKG_RELEASE:=1
 
 # Use this for official releasees
-PKG_HASH:=51892570f18d1667d0da4d0908a091e41b41c20db9835765677109a3d150cd26
+PKG_HASH:=6f2fcf8aaed8863e1cc323265ca2617751ca50dac974b43a0811bcfd4a511f2e
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://ftp.libelektra.org/ftp/elektra/releases
 
@@ -29,11 +29,9 @@ PKG_SOURCE_URL:=http://ftp.libelektra.org/ftp/elektra/releases
 #PKG_SOURCE_VERSION:=e97efb29a94f3a49cb952d06552fcf53708ea8c7
 #PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
 
-HOST_BUILD_DEPENDS:=swig/host
-PKG_BUILD_DEPENDS:=elektra/host lua
+PKG_BUILD_DEPENDS:= lua
 
 include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/host-build.mk
 include $(INCLUDE_DIR)/cmake.mk
 include $(INCLUDE_DIR)/nls.mk
 
@@ -99,11 +97,10 @@ define Package/libelektra-plugins
 endef
 
 define CONTENT_ELEKTRA_PLUGINS_TEXT
-base64 boolean cachefilter camel ccode conditionals csvstorage
-date directoryvalue enum file filecheck glob hexcode hidden
-hosts iconv ipaddr keytometa line lineendings list mathcheck
-mini network null path profile range shell syslog uname
-validation
+base64 conditionals csvstorage date file filecheck glob hexcode
+hexnumber hidden hosts iconv ipaddr keytometa line lineendings list
+mathcheck macaddr mini network null path profile quickdump
+range reference rgbcolor shell syslog type uname unit validation
 endef
 
 CONTENT_ELEKTRA_PLUGINS = $(strip $(CONTENT_ELEKTRA_PLUGINS_TEXT))
@@ -123,7 +120,7 @@ define Package/libelektra-cpp
   DEPENDS:=+libelektra-core +libstdcpp
 endef
 
-CONTENT_ELEKTRA_CPP=dump regexstore struct type
+CONTENT_ELEKTRA_CPP=ccode directoryvalue dump
 
 define Package/libelektra-cpp/description
 $(call Package/libelektra/Default-description)
@@ -149,7 +146,7 @@ endef
 define Package/libelektra-crypto
   $(call Package/libelektra/Default)
   TITLE:=Elektra crypto plugin
-  DEPENDS:=+libelektra-core +libopenssl
+  DEPENDS:=+libelektra-core +libgcrypt
 endef
 
 define Package/libelektra-crypto/description
@@ -234,6 +231,12 @@ $(call Package/libelektra/Default-description)
 This package contains support for storing the key database as yaml files.
 endef
 
+define Package/libelektra-zmq
+  $(call Package/libelektra/Default)
+  TITLE:=Elektra ZeroMQ transport plugins
+  DEPENDS:=+libelektra-core +libzmq
+endef
+
 define Package/libelektra-python3
   $(call Package/libelektra/Default)
   TITLE:=Elektra python3 plugin
@@ -265,9 +268,9 @@ define Package/libelektra-extra
 endef
 
 define CONTENT_EXTRA_PLUGINS_TEXT
-blockresolver c constants counter desktop dini dpkg error
-fcrypt fstab logchange mozprefs passwd rename required
-simplespeclang timeofday tracer
+blockresolver c constants counter desktop dpkg error fcrypt
+fstab logchange mozprefs passwd process rename
+timeofday tracer yamlsmith
 endef
 
 CONTENT_ELEKTRA_EXTRA:=$(strip $(CONTENT_EXTRA_PLUGINS_TEXT))
@@ -281,6 +284,8 @@ are included in this package. Currently this includes:
 $(CONTENT_EXTRA_PLUGINS_TEXT)
 endef
 
+CMAKE_BINARY_SUBDIR=build
+
 CMAKE_OPTIONS = \
        -DTARGET_PLUGIN_FOLDER="" \
        -DBUILD_FULL=OFF \
@@ -291,38 +296,35 @@ CMAKE_OPTIONS = \
        -DKDB_DEFAULT_RESOLVER=resolver_fm_pb_b \
        -DKDB_DEFAULT_STORAGE=ini \
        -DENABLE_OPTIMIZATIONS=OFF \
-       -DPLUGINS="ALL;-multifile;-python2" \
-       -DICONV_FIND_REQUIRED=ON \
-       -DICONV_INCLUDE_DIR="$(ICONV_PREFIX)/include" \
-       -DICONV_LIBRARY="$(ICONV_PREFIX)/lib"
-
-CMAKE_HOST_OPTIONS = \
-       -DCMAKE_SKIP_RPATH=FALSE \
-       -DCMAKE_INSTALL_RPATH=$(STAGING_DIR_HOST)/lib/ \
-       -DINSTALL_BUILD_TOOLS=ON \
-       -DBUILD_STATIC=OFF \
-       -DBUILD_DOCUMENTATION=OFF \
-       -DINSTALL_SYSTEM_FILES=OFF \
-       -DFORCE_IN_SOURCE_BUILD=ON \
-       -DBUILD_TESTING=OFF \
-       -DPLUGINS="ALL;-python2;-python;-ruby" \
-       -DTOOLS="gen;kdb"
+       -DPLUGINS="ALL;-multifile;-simpleini;-internalnotification" \
+       -DIconv_INCLUDE_DIR="$(ICONV_PREFIX)/include" \
+       -DIconv_LIBRARY="$(ICONV_PREFIX)/lib/libiconv.$(if $(CONFIG_BUILD_NLS),so,a)" \
+       -DBINDINGS="MAINTAINED;-intercept_env;-intercept_fs;-io_uv;-io_ev;-io_glib"
 
 define Package/libelektra-core/install
        $(INSTALL_DIR) $(1)/etc/kdb/
        $(INSTALL_DIR) $(1)/usr/lib/
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra.so* $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-core.so* $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-ease.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-globbing.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-highlevel.so* $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-invoke.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-io.so* $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-kdb.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-merge.so* $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-meta.so* $(1)/usr/lib/
+       #The next is excluded because of an upstream bug
+       #$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-notification.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-opts.so* $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-plugin.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-pluginprocess.so* $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-proposal.so* $(1)/usr/lib/
        #The next is only supported with glibc, so skip it.
        #$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektraintercept-* $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-resolver_fm_pb_b.so $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-utility.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-cache.so $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-mmapstorage.so $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-ni.so $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-ini.so $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-sync.so $(1)/usr/lib/
@@ -363,7 +365,7 @@ endef
 
 define Package/libelektra-crypto/install
        $(INSTALL_DIR) $(1)/usr/lib/
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-crypto_openssl.so $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-crypto.so $(1)/usr/lib/
 endef
 
 define Package/libelektra-curlget/install
@@ -374,6 +376,7 @@ endef
 define Package/libelektra-dbus/install
        $(INSTALL_DIR) $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-dbus.so $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-dbusrecv.so $(1)/usr/lib/
 endef
 
 define Package/libelektra-xerces/install
@@ -396,6 +399,12 @@ define Package/libelektra-yamlcpp/install
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-yamlcpp.so $(1)/usr/lib/
 endef
 
+define Package/libelektra-zmq/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-zeromqsend.so $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-zeromqrecv.so $(1)/usr/lib/
+endef
+
 define Package/libelektra-python3/install
        $(INSTALL_DIR) $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-python.so $(1)/usr/lib/
@@ -435,4 +444,5 @@ $(eval $(call BuildPackage,libelektra-xml))
 $(eval $(call BuildPackage,libelektra-yajl))
 $(eval $(call BuildPackage,libelektra-python3))
 $(eval $(call BuildPackage,libelektra-lua))
+$(eval $(call BuildPackage,libelektra-zmq))
 $(eval $(call BuildPackage,libelektra-extra))
diff --git a/libs/elektra/patches/010-openssl-deprecated.patch b/libs/elektra/patches/010-openssl-deprecated.patch
deleted file mode 100644 (file)
index ea7df04..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
---- a/src/plugins/crypto/openssl_operations.c
-+++ b/src/plugins/crypto/openssl_operations.c
-@@ -25,6 +25,10 @@
- #include <stdlib.h>
- #include <string.h>
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#define EVP_CIPHER_CTX_reset EVP_CIPHER_CTX_cleanup
-+#endif
-+
- #define KEY_BUFFER_SIZE (ELEKTRA_CRYPTO_SSL_KEYSIZE + ELEKTRA_CRYPTO_SSL_BLOCKSIZE)
- /*
-@@ -144,8 +148,10 @@ int elektraCryptoOpenSSLInit (Key * errorKey ELEKTRA_UNUSED)
-       // initialize OpenSSL according to
-       // https://wiki.openssl.org/index.php/Library_Initialization
-       pthread_mutex_lock (&mutex_ssl);
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-       OpenSSL_add_all_algorithms ();
-       ERR_load_crypto_strings ();
-+#endif
-       pthread_mutex_unlock (&mutex_ssl);
-       return 1;
- }
-@@ -246,8 +252,8 @@ void elektraCryptoOpenSSLHandleDestroy (elektraCryptoHandle * handle)
-       if (handle)
-       {
-               pthread_mutex_lock (&mutex_ssl);
--              EVP_CIPHER_CTX_cleanup (handle->encrypt);
--              EVP_CIPHER_CTX_cleanup (handle->decrypt);
-+              EVP_CIPHER_CTX_reset (handle->encrypt);
-+              EVP_CIPHER_CTX_reset (handle->decrypt);
-               EVP_CIPHER_CTX_free (handle->encrypt);
-               EVP_CIPHER_CTX_free (handle->decrypt);
-               pthread_mutex_unlock (&mutex_ssl);