#
# Conditonal build:
%bcond_with full # "full" variant (libelektra-full with all plugins linked in)
-%bcond_with java # Java support: JNA binding and JNI plugin (needs Java 8)
+%bcond_without java # Java support: JNA binding and JNI plugin (needs Java 8)
%bcond_without glib # GLib/GObject binding
%bcond_without lua # Lua (5.2) support: binding and plugin
%bcond_without python2 # Python 2 support: binding and plugin
%bcond_without python3 # Python 3 support: binding and plugin
%bcond_without qt # Qt GUI
-#
+
Summary: A key/value pair database to store software configurations
Summary(pl.UTF-8): Baza kluczy/wartości do przechowywania konfiguracji oprogramowania
Name: elektra
-Version: 0.8.14
-Release: 1
+Version: 0.8.19
+Release: 3
License: BSD
Group: Applications/System
Source0: http://www.libelektra.org/ftp/elektra/releases/%{name}-%{version}.tar.gz
-# Source0-md5: a87cd3845e590bf413959dfd555e3704
-Patch0: %{name}-elektraenv.patch
+# Source0-md5: 6669e765c834e259fb7570f126b85d7e
Patch1: %{name}-no-markdown.patch
Patch2: %{name}-no-deb.patch
URL: http://www.libelektra.org/
BuildRequires: Qt5Gui-devel >= 5
BuildRequires: Qt5Qml-devel >= 5
BuildRequires: Qt5Quick-devel >= 5
-BuildRequires: Qt5Widgets-devel >= 5
BuildRequires: Qt5Test-devel >= 5
+BuildRequires: Qt5Widgets-devel >= 5
%endif
BuildRequires: augeas-devel >= 1.0
BuildRequires: boost-devel
BuildRequires: gettext-tools
%{?with_glib:BuildRequires: glib2-devel >= 1:2.36}
%{?with_glib:BuildRequires: gobject-introspection-devel >= 1.38}
+# for binding
%{?with_java:BuildRequires: java-jna}
%{?with_java:BuildRequires: jdk >= 1.8}
+# jawt for plugin
+%{?with_java:BuildRequires: jre-X11 >= 1.8}
BuildRequires: libgcrypt-devel
%{?with_qt:BuildRequires: libmarkdown-devel}
BuildRequires: libstdc++-devel
%description gui -l pl.UTF-8
Oparty na Qt graficzny interfejs do Elektry.
+%package plugin-jni
+Summary: Java JNI plugin for Elektra
+Summary(pl.UTF-8): Wtyczka Java JNI dla Elektry
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+# jawt
+Requires: jre-X11 >= 1.8
+
+%description plugin-jni
+Java JNI plugin for Elektra. It allows to use plugins written in Java.
+
+%description plugin-jni -l pl.UTF-8
+Wtyczka Java JNI dla Elektry. Pozwala na używanie wtyczek napisanych w
+Javie.
+
+%package plugin-lua
+Summary: Lua plugin for Elektra
+Summary(pl.UTF-8): Wtyczka Lua dla Elektry
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: lua52-libs >= 5.2
+
+%description plugin-lua
+Lua plugin for Elektra. It allows to use plugins written in Lua.
+
+%description plugin-lua -l pl.UTF-8
+Wtyczka Lua dla Elektry. Pozwala na używanie wtyczek napisanych w Lua.
+
+%package plugin-python2
+Summary: Python 2 plugin for Elektra
+Summary(pl.UTF-8): Wtyczka Python 2 dla Elektry
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: python-libs >= 1:2.7
+
+%description plugin-python2
+Python 2 plugin for Elektra. It allows to use plugins written in
+Python 2.
+
+%description plugin-python2 -l pl.UTF-8
+Wtyczka 2 Python dla Elektry. Pozwala na używanie wtyczek napisanych w
+Pythonie 2.
+
+%package plugin-python3
+Summary: Python plugin for Elektra
+Summary(pl.UTF-8): Wtyczka Python dla Elektry
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: python3-libs >= 1:3.2
+
+%description plugin-python3
+Python 3 plugin for Elektra. It allows to use plugins written in
+Python 3.
+
+%description plugin-python3 -l pl.UTF-8
+Wtyczka Python 3 dla Elektry. Pozwala na używanie wtyczek napisanych w
+Pythonie 3.
+
%package -n bash-completion-elektra
Summary: Bash completion for Elektra commands
Summary(pl.UTF-8): Bashowe uzupełnianie parametrów dla poleceń z pakietu Elektra
Group: Applications/Shells
Requires: %{name} = %{version}-%{release}
Requires: bash-completion
+%if "%{_rpmversion}" >= "5"
+BuildArch: noarch
+%endif
%description -n bash-completion-elektra
Bash completion for Elektra kdb command.
%description glib-devel -l pl.UTF-8
Wiązanie GLib/GObject do Elektry - pliki programistyczne.
+%package -n java-elektra
+Summary: Java binding for Elektra
+Summary(pl.UTF-8): Wiązanie języka Java dla Elektry
+Group: Libraries
+Requires: %{name}-libs = %{version}-%{release}
+Requires: java-jna
+Requires: jre
+
+%description -n java-elektra
+Java binding for Elektra.
+
+%description -n java-elektra -l pl.UTF-8
+Wiązanie języka Java dla Elektry.
+
%package -n lua-elektra
Summary: Lua binding for Elektra
Summary(pl.UTF-8): Wiązanie języka Lua dla Elektry
%prep
%setup -q
-%patch0 -p1
%patch1 -p1
%patch2 -p1
-DINSTALL_TESTING=FALSE \
-DPLUGINS=ALL \
-DTARGET_CMAKE_FOLDER=%{_datadir}/cmake/Modules \
- -DTOOLS="kdb;race%{?with_gen:;gen}%{?with_qt:;qt-gui}"
+ -DTOOLS="kdb;race%{?with_gen:;gen}%{?with_qt:;qt-gui}" \
+ -DBUILD_STATIC=ON
%{__make} -j1
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/sysconfig
%{__make} -C build install \
DESTDIR=$RPM_BUILD_ROOT
-%{__mv} $RPM_BUILD_ROOT/etc/profile.d/{kdb,kdb.sh}
-echo 'RUN="no"' > $RPM_BUILD_ROOT/etc/sysconfig/elektra
install -D src/plugins/xmltool/xmlschema/elektra.xsd $RPM_BUILD_ROOT%{_datadir}/sgml/elektra/elektra.xsd
+install -d $RPM_BUILD_ROOT/etc/bash_completion.d
+mv $RPM_BUILD_ROOT{%{bash_compdir}/kdb,/etc/bash_completion.d/kdb}
+
%if %{with python2}
%py_comp $RPM_BUILD_ROOT%{py_sitedir}
%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
# we don't need it
%{__rm} $RPM_BUILD_ROOT%{_bindir}/kdb-static
-%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/elektra/test_data
-
# prepare docs
%{__rm} -rf installed-doc
install -d installed-doc
%{__mv} $RPM_BUILD_ROOT%{_docdir}/%{name}-api installed-doc/elektra-api
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/{README_md,doc_*_md,md_doc_*,md_src_*,src_plugins_*_md}.3elektra
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/{README_md,doc_*_md,md_doc_*,md_src_*,md_scripts_README,src_libs_getenv_README_md}.3elektra
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc doc/{AUTHORS,COPYING,DESIGN.md,GOALS.md,NEWS.md,SECURITY.md,todo}
+%doc doc/{AUTHORS,DESIGN.md,GOALS.md,NEWS.md,SECURITY.md,todo}
# doc/standards installed-doc/scripts
%attr(755,root,root) %{_bindir}/kdb
%if %{with full}
%dir %{_libdir}/elektra
# R: augeas-libs
%attr(755,root,root) %{_libdir}/elektra/libelektra-augeas.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-base64.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-blockresolver.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-boolean.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-c.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-cachefilter.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-ccode.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-conditionals.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-constants.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-counter.so
# R: libgcrypt
-%attr(755,root,root) %{_libdir}/elektra/libelektra-crypto.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-crypto_gcrypt.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-crypto_openssl.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-csvstorage.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-curlget.so
# R: dbus
%attr(755,root,root) %{_libdir}/elektra/libelektra-dbus.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-desktop.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-doc.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-dpkg.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-dump.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-enum.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-error.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-fcrypt.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-filecheck.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-fstab.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-gitresolver.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-glob.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-hexcode.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-hidden.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-iconv.so
# uses internal inih library
%attr(755,root,root) %{_libdir}/elektra/libelektra-ini.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-iterate.so
# R: systemd-libs
%attr(755,root,root) %{_libdir}/elektra/libelektra-journald.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-keytometa.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-lineendings.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-list.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-logchange.so
-%if %{with lua}
-# R: lua52-libs
-%attr(755,root,root) %{_libdir}/elektra/libelektra-lua.so
-%endif
%attr(755,root,root) %{_libdir}/elektra/libelektra-mathcheck.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-mozprefs.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-network.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-noresolver.so
# uses internal nickel library
%attr(755,root,root) %{_libdir}/elektra/libelektra-ni.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-null.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-passwd.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-path.so
-%if %{with python2}
-# R: python-libs
-%attr(755,root,root) %{_libdir}/elektra/libelektra-python2.so
-%endif
-%if %{with python3}
-# R: python3-libs
-%attr(755,root,root) %{_libdir}/elektra/libelektra-python.so
-%endif
+%attr(755,root,root) %{_libdir}/elektra/libelektra-profile.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-regexstore.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-rename.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-resolver.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-resolver_fm_*.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-required.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-semlock.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-shell.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-simplespeclang.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-simpleini.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-spec.so
+%attr(755,root,root) %{_libdir}/elektra/libelektra-storage.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-struct.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-sync.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-syslog.so
%attr(755,root,root) %{_libdir}/elektra/libelektra-yajl.so
%dir %{_libdir}/elektra/tool_exec
%attr(755,root,root) %{_libdir}/elektra/tool_exec/benchmark-createtree
+%attr(755,root,root) %{_libdir}/elektra/tool_exec/configure-firefox
%attr(755,root,root) %{_libdir}/elektra/tool_exec/convert-fstab
%attr(755,root,root) %{_libdir}/elektra/tool_exec/convert-hosts
%attr(755,root,root) %{_libdir}/elektra/tool_exec/convert-inittab
%attr(755,root,root) %{_libdir}/elektra/tool_exec/elektra-merge
%attr(755,root,root) %{_libdir}/elektra/tool_exec/elektra-mount
%attr(755,root,root) %{_libdir}/elektra/tool_exec/elektra-umount
+%attr(755,root,root) %{_libdir}/elektra/tool_exec/elektrify-open
%attr(755,root,root) %{_libdir}/elektra/tool_exec/elektrify-getenv
%attr(755,root,root) %{_libdir}/elektra/tool_exec/example-xorg
-%attr(755,root,root) %{_libdir}/elektra/tool_exec/getenv
+%dir %{_libdir}/elektra/tool_exec/ffconfig
+%attr(755,root,root) %{_libdir}/elektra/tool_exec/ffconfig/setupConfig
+%attr(755,root,root) %{_libdir}/elektra/tool_exec/ffconfig/setupHomepage
+%attr(755,root,root) %{_libdir}/elektra/tool_exec/ffconfig/setupProxy
+%attr(755,root,root) %{_libdir}/elektra/tool_exec/ffconfig/writeConfigFiles
+%attr(755,root,root) %{_libdir}/elektra/tool_exec/find-tools
+%attr(755,root,root) %{_libdir}/elektra/tool_exec/install-sh-completion
%attr(755,root,root) %{_libdir}/elektra/tool_exec/list-tools
%attr(755,root,root) %{_libdir}/elektra/tool_exec/mount-augeas
%attr(755,root,root) %{_libdir}/elektra/tool_exec/mount-info
%attr(755,root,root) %{_libdir}/elektra/tool_exec/mount-kde
%attr(755,root,root) %{_libdir}/elektra/tool_exec/mount-openicc
-%attr(755,root,root) %{_libdir}/elektra/tool_exec/mount-spec
%attr(755,root,root) %{_libdir}/elektra/tool_exec/race
%attr(755,root,root) %{_libdir}/elektra/tool_exec/umount-all
-%attr(755,root,root) /etc/profile.d/kdb.sh
-%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/elektra
+%attr(755,root,root) %{_libdir}/elektra/tool_exec/upgrade-bootstrap
%{_datadir}/sgml/elektra
%{_mandir}/man1/kdb.1*
%{_mandir}/man1/kdb-check.1*
%{_mandir}/man1/kdb-convert.1*
%{_mandir}/man1/kdb-cp.1*
-%{_mandir}/man1/kdb-elektrify-getenv.1*
+%{_mandir}/man1/kdb-editor.1*
%{_mandir}/man1/kdb-export.1*
%{_mandir}/man1/kdb-file.1*
+%{_mandir}/man1/kdb-find-tools.1*
%{_mandir}/man1/kdb-fstab.1*
%{_mandir}/man1/kdb-get.1*
%{_mandir}/man1/kdb-getmeta.1*
+%{_mandir}/man1/kdb-global-mount.1*
%{_mandir}/man1/kdb-help.1*
%{_mandir}/man1/kdb-import.1*
%{_mandir}/man1/kdb-info.1*
%{_mandir}/man1/kdb-setmeta.1*
%{_mandir}/man1/kdb-sget.1*
%{_mandir}/man1/kdb-shell.1*
+%{_mandir}/man1/kdb-spec-mount.1*
%{_mandir}/man1/kdb-test.1*
%{_mandir}/man1/kdb-umount.1*
%{_mandir}/man1/kdb-vset.1*
%files gui
%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/elektra-qt-editor
%attr(755,root,root) %{_libdir}/elektra/tool_exec/qt-gui
+%{_datadir}/appdata/org.libelektra.elektra-qt-editor.appdata.xml
+%{_desktopdir}/org.libelektra.elektra-qt-editor.desktop
+%{_iconsdir}/hicolor/scalable/apps/elektra-symbolic.svg
+%{_iconsdir}/hicolor/scalable/apps/elektra.svg
%{_mandir}/man1/kdb-qt-gui.1*
+%if %{with java}
+%files plugin-jni
+%defattr(644,root,root,755)
+# R: jre with jawt
+%attr(755,root,root) %{_libdir}/elektra/libelektra-jni.so
+%endif
+
+%if %{with lua}
+%files plugin-lua
+%defattr(644,root,root,755)
+# R: lua52-libs
+%attr(755,root,root) %{_libdir}/elektra/libelektra-lua.so
+%endif
+
+%if %{with python2}
+%files plugin-python2
+%defattr(644,root,root,755)
+# R: python-libs
+%attr(755,root,root) %{_libdir}/elektra/libelektra-python2.so
+%endif
+
+%if %{with python3}
+%files plugin-python3
+%defattr(644,root,root,755)
+# R: python3-libs
+%attr(755,root,root) %{_libdir}/elektra/libelektra-python.so
+%endif
+
%files -n bash-completion-elektra
%defattr(644,root,root,755)
/etc/bash_completion.d/kdb
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libelektra.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libelektra.so.4
-%attr(755,root,root) %{_libdir}/libelektragetenv.so
-%attr(755,root,root) %{_libdir}/libelektratools.so
+%attr(755,root,root) %{_libdir}/libelektra-core.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libelektra-core.so.4
+%attr(755,root,root) %{_libdir}/libelektra-ease.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libelektra-ease.so.4
+%attr(755,root,root) %{_libdir}/libelektra-kdb.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libelektra-kdb.so.4
+%attr(755,root,root) %{_libdir}/libelektra-meta.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libelektra-meta.so.4
+%attr(755,root,root) %{_libdir}/libelektra-plugin.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libelektra-plugin.so.4
+%attr(755,root,root) %{_libdir}/libelektra-proposal.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libelektra-proposal.so.4
+%attr(755,root,root) %{_libdir}/libelektratools.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libelektratools.so.2
%if %{with full}
%attr(755,root,root) %{_libdir}/libelektra-full.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libelektra-full.so.4
%defattr(644,root,root,755)
%doc doc/API.md installed-doc/elektra-api/html
%attr(755,root,root) %{_libdir}/libelektra.so
+%attr(755,root,root) %{_libdir}/libelektra-core.so
+%attr(755,root,root) %{_libdir}/libelektra-ease.so
+%attr(755,root,root) %{_libdir}/libelektra-kdb.so
+%attr(755,root,root) %{_libdir}/libelektra-meta.so
+%attr(755,root,root) %{_libdir}/libelektra-plugin.so
+%attr(755,root,root) %{_libdir}/libelektra-proposal.so
+%attr(755,root,root) %{_libdir}/libelektratools.so
%if %{with full}
%attr(755,root,root) %{_libdir}/libelektra-full.so
%endif
%dir %{_includedir}/elektra
-%{_includedir}/elektra/crypto_internal.h
%{_includedir}/elektra/kdb*.h
%{_pkgconfigdir}/elektra.pc
%{_datadir}/cmake/Modules/ElektraConfig*.cmake
%{_mandir}/man3/meta.3elektra*
%{_mandir}/man3/plugin.3elektra*
%{_mandir}/man3/proposal.3elektra*
-%{_mandir}/man3/proposal.c.3elektra*
%files static
%defattr(644,root,root,755)
%{_pkgconfigdir}/gelektra-4.0.pc
%endif
+%if %{with java}
+%files -n java-elektra
+%defattr(644,root,root,755)
+%{_javadir}/libelektra-1.jar
+%{_javadir}/libelektra.jar
+%endif
+
%if %{with lua}
%files -n lua-elektra
%defattr(644,root,root,755)