From 82e3475453d4b6c3aebb78d55f0df2e399e35ce9 Mon Sep 17 00:00:00 2001 From: Harald Geyer Date: Fri, 5 Jun 2020 22:50:22 +0200 Subject: [PATCH] elektra: update to 0.9.2 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 --- libs/elektra/Makefile | 78 +++++++++++-------- .../patches/010-openssl-deprecated.patch | 35 --------- 2 files changed, 44 insertions(+), 69 deletions(-) delete mode 100644 libs/elektra/patches/010-openssl-deprecated.patch diff --git a/libs/elektra/Makefile b/libs/elektra/Makefile index 9bd3e379f..18adffd94 100644 --- a/libs/elektra/Makefile +++ b/libs/elektra/Makefile @@ -14,11 +14,11 @@ PKG_MAINTAINER:=Harald Geyer 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 index ea7df042b..000000000 --- a/libs/elektra/patches/010-openssl-deprecated.patch +++ /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 - #include - -+#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);