elektra: update to 0.9.7
authorHarald Geyer <redacted>
Tue, 13 Jul 2021 21:41:08 +0000 (23:41 +0200)
committerHarald Geyer <redacted>
Tue, 13 Jul 2021 21:45:43 +0000 (23:45 +0200)
Notable changes:
* Use toml as new default storage backend:
  Upstream has removed the ini plugin, we have been using in the
  past. toml is still somewhat experimental, but upstream has
  designated it as future recommended default.
* Remove the dependency on boost. The only plugin needing that has
  been removed upstram.
* Enable plugins for libev and libuv event loop integration. This
  adds two new packages with the respective dependencies.
  Upstream has fixed the bugs preventing us from using this.
* Enable the internal notification plugin/system. This allows
  applications to automatically receive notifications about changes
  to their configuration. Again upstream fixing bugs enables this
  for us.
* Set the environment variable $XDG_CACHE_HOME to "/tmp/" globally
  to prevent elektra (and possibly other applications) from
  writing temporary data to flash.

Signed-off-by: Harald Geyer <redacted>
libs/elektra/Makefile
libs/elektra/files/elektra.profile [new file with mode: 0644]
libs/elektra/patches/010-gcc11.patch [deleted file]

index 7a900e57b86170113a6834b3aa553a0d77911949..fd48fb79b3b9e4e6fd527a256b683fbf2c58acc6 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.9.2
-PKG_RELEASE:=3
+PKG_VERSION:=0.9.7
+PKG_RELEASE:=1
 
 # Use this for official releasees
-PKG_HASH:=6f2fcf8aaed8863e1cc323265ca2617751ca50dac974b43a0811bcfd4a511f2e
+PKG_HASH:=12b7b046004db29317b7b937dc794abf719c400ba3115af8d41849127b562681
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://ftp.libelektra.org/ftp/elektra/releases
 
@@ -98,8 +98,8 @@ endef
 
 define CONTENT_ELEKTRA_PLUGINS_TEXT
 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
+hexnumber hosts iconv ipaddr keytometa line lineendings list
+mathcheck macaddr mini network path profile quickdump
 range reference rgbcolor shell syslog type uname unit validation
 endef
 
@@ -130,19 +130,6 @@ Currently these are:
 $(CONTENT_ELEKTRA_CPP)
 endef
 
-define Package/libelektra-boost
-  $(call Package/libelektra/Default)
-  TITLE:=Elektra plugins depending on boost
-  DEPENDS:=+libelektra-core +libstdcpp +boost
-endef
-
-define Package/libelektra-boost/description
-$(call Package/libelektra/Default-description)
-
-This package contains plugins written in C++ with an dependency on
-boost. Currently this is a plugin for a tcl like format.
-endef
-
 define Package/libelektra-crypto
   $(call Package/libelektra/Default)
   TITLE:=Elektra crypto plugin
@@ -180,6 +167,32 @@ This package contains support for dbus notification on configuration
 changes.
 endef
 
+define Package/libelektra-ev
+  $(call Package/libelektra/Default)
+  TITLE:=Elektra libev binding plugin
+  DEPENDS:=+libelektra-core +libev
+endef
+
+define Package/libelektra-ev/description
+$(call Package/libelektra/Default-description)
+
+This package contains support for notification on configuration
+changes via libev events.
+endef
+
+define Package/libelektra-uv
+  $(call Package/libelektra/Default)
+  TITLE:=Elektra libuv binding plugin
+  DEPENDS:=+libelektra-core +libuv
+endef
+
+define Package/libelektra-uv/description
+$(call Package/libelektra/Default-description)
+
+This package contains support for notification on configuration
+changes via libuv events.
+endef
+
 define Package/libelektra-xerces
   $(call Package/libelektra/Default)
   TITLE:=Elektra xerces based xml plugin
@@ -270,7 +283,7 @@ endef
 define CONTENT_EXTRA_PLUGINS_TEXT
 blockresolver c constants counter desktop dpkg error fcrypt
 fstab logchange mozprefs passwd process rename
-timeofday tracer yamlsmith
+timeofday tracer
 endef
 
 CONTENT_ELEKTRA_EXTRA:=$(strip $(CONTENT_EXTRA_PLUGINS_TEXT))
@@ -295,16 +308,18 @@ CMAKE_OPTIONS += \
        -DFORCE_IN_SOURCE_BUILD=ON \
        -DBUILD_TESTING=OFF \
        -DKDB_DEFAULT_RESOLVER=resolver_fm_pb_b \
-       -DKDB_DEFAULT_STORAGE=ini \
+       -DKDB_DEFAULT_STORAGE=toml \
        -DENABLE_OPTIMIZATIONS=OFF \
-       -DPLUGINS="ALL;-gpgme;-internalnotification;-multifile;-simpleini" \
+       -DPLUGINS="ALL;-gpgme;-multifile;-simpleini" \
        -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"
+       -DBINDINGS="MAINTAINED;-intercept_env;-intercept_fs;-io_glib"
 
 define Package/libelektra-core/install
        $(INSTALL_DIR) $(1)/etc/kdb/
+       $(INSTALL_DIR) $(1)/etc/profile.d/
        $(INSTALL_DIR) $(1)/usr/lib/
+       $(INSTALL_DATA) files/elektra.profile $(1)/etc/profile.d/elektra.sh
        $(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/
@@ -314,22 +329,22 @@ define Package/libelektra-core/install
        $(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-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-internalnotification.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-spec.so $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-sync.so $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-storage.so $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-toml.so $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-resolver.so $(1)/usr/lib/
 endef
 
@@ -354,11 +369,6 @@ define Package/libelektra-plugins/install
        $(CP) $(foreach plugin,$(CONTENT_ELEKTRA_PLUGINS),$(PKG_INSTALL_DIR)/usr/lib/libelektra-$(plugin).so) $(1)/usr/lib/
 endef
 
-define Package/libelektra-boost/install
-       $(INSTALL_DIR) $(1)/usr/lib/
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-tcl.so $(1)/usr/lib/
-endef
-
 define Package/libelektra-cpp/install
        $(INSTALL_DIR) $(1)/usr/lib/
        $(CP) $(foreach plugin,$(CONTENT_ELEKTRA_CPP),$(PKG_INSTALL_DIR)/usr/lib/libelektra-$(plugin).so) $(1)/usr/lib/
@@ -380,6 +390,16 @@ define Package/libelektra-dbus/install
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-dbusrecv.so $(1)/usr/lib/
 endef
 
+define Package/libelektra-ev/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-io-ev.so $(1)/usr/lib/
+endef
+
+define Package/libelektra-uv/install
+       $(INSTALL_DIR) $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-io-uv.so $(1)/usr/lib/
+endef
+
 define Package/libelektra-xerces/install
        $(INSTALL_DIR) $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-xerces.so $(1)/usr/lib/
@@ -432,15 +452,16 @@ $(eval $(call BuildPackage,libelektra-core))
 $(eval $(call BuildPackage,elektra-kdb))
 $(eval $(call BuildPackage,libelektra-resolvers))
 $(eval $(call BuildPackage,libelektra-plugins))
-$(eval $(call BuildPackage,libelektra-boost))
 $(eval $(call BuildPackage,libelektra-cpp))
 $(eval $(call BuildPackage,libelektra-curlget))
 $(eval $(call BuildPackage,libelektra-crypto))
 $(eval $(call BuildPackage,libelektra-dbus))
+$(eval $(call BuildPackage,libelektra-ev))
+$(eval $(call BuildPackage,libelektra-uv))
 $(eval $(call BuildPackage,libelektra-xerces))
-$(eval $(call BuildPackage,libelektra-yamlcpp))
 $(eval $(call BuildPackage,libelektra-xml))
 $(eval $(call BuildPackage,libelektra-yajl))
+$(eval $(call BuildPackage,libelektra-yamlcpp))
 $(eval $(call BuildPackage,libelektra-python3))
 $(eval $(call BuildPackage,libelektra-lua))
 $(eval $(call BuildPackage,libelektra-zmq))
diff --git a/libs/elektra/files/elektra.profile b/libs/elektra/files/elektra.profile
new file mode 100644 (file)
index 0000000..3df9be8
--- /dev/null
@@ -0,0 +1 @@
+export XDG_CACHE_HOME=/tmp/
diff --git a/libs/elektra/patches/010-gcc11.patch b/libs/elektra/patches/010-gcc11.patch
deleted file mode 100644 (file)
index 3a91cbe..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-From 7b57dc698834937b6913887544c6416e7f39192d Mon Sep 17 00:00:00 2001
-From: Mihael Pranjic <mpranj@limun.org>
-Date: Mon, 26 Apr 2021 14:53:21 +0200
-Subject: [PATCH] kdb: add missing <limits> include
-
----
- src/tools/kdb/cmdline.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/src/tools/kdb/cmdline.cpp
-+++ b/src/tools/kdb/cmdline.cpp
-@@ -16,6 +16,7 @@
- #include <cstdio>
- #include <iostream>
-+#include <limits>
- #include <set>
- #include <vector>
git clone https://git.99rst.org/PROJECT