X-Git-Url: http://git.pld-linux.org/?p=packages%2Felektra.git;a=blobdiff_plain;f=elektra.spec;h=e2b6a1047b06a540cb62cff6646dec2e62787b48;hp=d973407e3177fd68706ab8f2140d0b7029033c44;hb=088942e6d844c47e148035cd2f26a58844047828;hpb=d10c544902b4dd427ea229e45f37fd1325b48fff diff --git a/elektra.spec b/elektra.spec index d973407..e2b6a10 100644 --- a/elektra.spec +++ b/elektra.spec @@ -1,45 +1,68 @@ -# TODO: PLDify init script +# TODO: use system nickel (in src/plugins/ni), inih (src/plugins/ini) # # Conditonal build: -%bcond_with db # BerkeleyDB backend [slightly outdated] -%bcond_with gconf # GConf backend [same as above] -%bcond_with python # Python binding [same as above] +%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 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.7.2 +Version: 0.8.14 Release: 1 License: BSD Group: Applications/System Source0: http://www.libelektra.org/ftp/elektra/releases/%{name}-%{version}.tar.gz -# Source0-md5: 29f14be7693ae627fb8cc30a079b10c9 +# Source0-md5: a87cd3845e590bf413959dfd555e3704 Patch0: %{name}-elektraenv.patch -Patch1: %{name}-am.patch +Patch1: %{name}-no-markdown.patch +Patch2: %{name}-no-deb.patch URL: http://www.libelektra.org/ -%{?with_gconf:BuildRequires: GConf2-devel} -BuildRequires: autoconf >= 2.59 -BuildRequires: automake -%{?with_db:BuildRequires: db-devel} +%if %{with qt} +BuildRequires: Qt5Core-devel >= 5 +BuildRequires: Qt5Gui-devel >= 5 +BuildRequires: Qt5Qml-devel >= 5 +BuildRequires: Qt5Quick-devel >= 5 +BuildRequires: Qt5Widgets-devel >= 5 +BuildRequires: Qt5Test-devel >= 5 +%endif +BuildRequires: augeas-devel >= 1.0 +BuildRequires: boost-devel +BuildRequires: cmake >= 2.8.8 +BuildRequires: dbus-devel BuildRequires: doxygen -BuildRequires: gettext-devel +BuildRequires: gettext-tools +%{?with_glib:BuildRequires: glib2-devel >= 1:2.36} +%{?with_glib:BuildRequires: gobject-introspection-devel >= 1.38} +%{?with_java:BuildRequires: java-jna} +%{?with_java:BuildRequires: jdk >= 1.8} +BuildRequires: libgcrypt-devel +%{?with_qt:BuildRequires: libmarkdown-devel} BuildRequires: libstdc++-devel -BuildRequires: libltdl-devel -BuildRequires: libtool -BuildRequires: libxml2-devel +BuildRequires: libxml2-devel >= 2.0 BuildRequires: libxslt-progs +%{?with_lua:BuildRequires: lua52-devel >= 5.2} BuildRequires: pkgconfig -%{?with_python:BuildRequires: python-devel} +%{?with_python2:BuildRequires: python-devel >= 1:2.7} +%{?with_python3:BuildRequires: python3-devel >= 1:3.2} +BuildRequires: rpm-pythonprov +BuildRequires: rpmbuild(macros) >= 1.612 +BuildRequires: swig >= 2 +%if %{with python2} || %{with python3} +BuildRequires: swig-python >= 2 +%endif +BuildRequires: systemd-devel +BuildRequires: tcl-devel +BuildRequires: yajl-devel Requires: %{name}-libs = %{version}-%{release} Requires: mktemp -# for /usr/share/sgml dir -Requires: sgml-common Obsoletes: registry BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%define _bindir /bin -%define _sbindir /sbin - %description The Elektra Project provides a framework to store generic configuration data in an hierarchical key-value pair database, instead @@ -58,10 +81,36 @@ W ten sposób oprogramowanie może odczytywać/zapisywać konfigurację za pomocą spójnego API. Dodatkowo aplikacje mogą być zorientowane w konfiguracji innych aplikacji, ułatwiając ich integrację. +%package gui +Summary: Qt based GUI for Elektra +Summary(pl.UTF-8): Oparty na Qt graficzny interfejs do Elektry +Group: X11/Applications +Requires: %{name} = %{version}-%{release} + +%description gui +Qt based GUI for Elektra. + +%description gui -l pl.UTF-8 +Oparty na Qt graficzny interfejs do Elektry. + +%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 + +%description -n bash-completion-elektra +Bash completion for Elektra kdb command. + +%description -n bash-completion-elektra -l pl.UTF-8 +Bashowe uzupełnianie parametrów dla polecenai kdb z pakietu Elektra. + %package libs Summary: Elektra Project libraries Summary(pl.UTF-8): Biblioteki projektu Elektra Group: Libraries +Obsoletes: elektra-cpp < 0.8 Conflicts: elektra < 0.7 %description libs @@ -112,25 +161,13 @@ This package contains static libraries for Elektra Project. %description static -l pl.UTF-8 Ten pakiet zawiera statyczne biblioteki projektu Elektra. -%package cpp -Summary: C++ interface for Elektra library -Summary(pl.UTF-8): Interfejs C++ do biblioteki Elektra -Group: Libraries -Requires: %{name}-libs = %{version}-%{release} - -%description cpp -C++ interface for Elektra library. - -%description cpp -l pl.UTF-8 -Interfejs C++ do biblioteki Elektra. - %package cpp-devel Summary: Header files of C++ interface for Elektra library Summary(pl.UTF-8): Pliki nagłówkowe interfejsu C++ do biblioteki Elektra Group: Development/Libraries -Requires: %{name}-cpp = %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-devel = %{version}-%{release} Requires: libstdc++-devel +Obsoletes: elektra-cpp-static < 0.8 %description cpp-devel Header files of C++ interface for Elektra library. @@ -138,147 +175,414 @@ Header files of C++ interface for Elektra library. %description cpp-devel -l pl.UTF-8 Pliki nagłówkowe interfejsu C++ do biblioteki Elektra. -%package cpp-static -Summary: Static library of C++ interface for Elektra library -Summary(pl.UTF-8): Biblioteka statyczna interfejsu C++ do biblioteki Elektra -Group: Development/Libraries -Requires: %{name}-cpp-devel = %{version}-%{release} +%package glib +Summary: GLib/GObject binding for Elektra +Summary(pl.UTF-8): Wiązanie GLib/GObject do Elektry +Group: Libraries +Requires: %{name}-libs = %{version}-%{release} +Requires: glib2 >= 1:2.36 + +%description glib +GLib/GObject binding for Elektra. + +%description glib -l pl.UTF-8 +Wiązanie GLib/GObject do Elektry. -%description cpp-static -Static library of C++ interface for Elektra library. +%package glib-devel +Summary: GLib/GObject binding for Elektra - development files +Summary(pl.UTF-8): Wiązanie GLib/GObject do Elektry - pliki programistyczne +Group: Libraries +Requires: %{name}-devel = %{version}-%{release} +Requires: glib2-devel >= 1:2.36 -%description cpp-static -l pl.UTF-8 -Biblioteka statyczna interfejsu C++ do biblioteki Elektra. +%description glib-devel +GLib/GObject binding for Elektra - development files. + +%description glib-devel -l pl.UTF-8 +Wiązanie GLib/GObject do Elektry - pliki programistyczne. + +%package -n lua-elektra +Summary: Lua binding for Elektra +Summary(pl.UTF-8): Wiązanie języka Lua dla Elektry +Group: Libraries +Requires: %{name}-libs = %{version}-%{release} +Requires: lua52-libs >= 5.2 + +%description -n lua-elektra +Lua binding for Elektra. + +%description -n lua-elektra -l pl.UTF-8 +Wiązanie języka Lua dla Elektry. + +%package -n lua-elektra-glib +Summary: Lua/GI binding for Elektra +Summary(pl.UTF-8): Wiązanie Lua/GI dla Elektry +Group: Libraries +Requires: %{name}-glib = %{version}-%{release} +Requires: lua52-libs >= 5.2 +#R: lua52-lgi ? + +%description -n lua-elektra-glib +Lua/GI binding for Elektra. + +%description -n lua-elektra-glib -l pl.UTF-8 +Wiązanie Lua/GI dla Elektry. + +%package -n python-elektra +Summary: Python 2 binding for Elektra +Summary(pl.UTF-8): Wiązanie Pythona 2 dla Elektry +Group: Libraries +Requires: %{name}-libs = %{version}-%{release} +Requires: python-libs >= 1:2.7 + +%description -n python-elektra +Python 2 binding for Elektra. + +%description -n python-elektra -l pl.UTF-8 +Wiązanie Pythona 2 dla Elektry. + +%package -n python3-elektra +Summary: Python 3 binding for Elektra +Summary(pl.UTF-8): Wiązanie Pythona 3 dla Elektry +Group: Libraries +Requires: %{name}-libs = %{version}-%{release} +Requires: python3-libs >= 1:3.2 + +%description -n python3-elektra +Python 3 binding for Elektra. + +%description -n python3-elektra -l pl.UTF-8 +Wiązanie Pythona 3 dla Elektry. + +%package -n python3-elektra-glib +Summary: Python 3 GI binding for Elektra +Summary(pl.UTF-8): Wiązanie Pythona 3 GI dla Elektry +Group: Libraries +Requires: %{name}-glib = %{version}-%{release} +Requires: python3-pygobject3 >= 3 + +%description -n python3-elektra-glib +Python 3 GI binding for Elektra. + +%description -n python3-elektra-glib -l pl.UTF-8 +Wiązanie Pythona 3 GI dla Elektry. %prep %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 %build -cp -f /usr/share/gettext/config.rpath . -%{__libtoolize} -%{__aclocal} -I m4 -%{__autoconf} -%{__autoheader} -%{__automake} -%configure \ - --libdir=/%{_lib} \ - --disable-ltdl-install \ - %{?with_db:--enable-berkeleydb} \ - %{?with_gconf:--enable-gconf} \ - --enable-passwd \ - %{?with_python:--enable-python} -# also outdated (as of 0.7.2): daemon, fstab -%{__make} +install -d build +cd build +%cmake .. \ + -DBINDINGS="cpp%{?with_glib:;glib%{?with_lua:;gi_lua}%{?with_python3:;gi_python}}%{?with_java:;jna}%{?with_lua:;swig_lua}%{?with_python2:;swig_python2}%{?with_python3:;swig_python}" \ + %{!?with_full:-DBUILD_FULL=OFF} \ + -DINSTALL_TESTING=FALSE \ + -DPLUGINS=ALL \ + -DTARGET_CMAKE_FOLDER=%{_datadir}/cmake/Modules \ + -DTOOLS="kdb;race%{?with_gen:;gen}%{?with_qt:;qt-gui}" + +%{__make} -j1 %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT/etc/sysconfig -%{__make} install \ - DESTDIR=$RPM_BUILD_ROOT \ - elektrainitdir=/etc/rc.d/init.d +%{__make} -C build install \ + DESTDIR=$RPM_BUILD_ROOT -%{!?with_berkeleydb:%{__rm} $RPM_BUILD_ROOT/%{_lib}/elektra/libelektra-ddefault.so} +%{__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 -# prepare docs -rm -rf installed-doc -install -d installed-doc -mv $RPM_BUILD_ROOT%{_docdir}/%{name}-devel installed-doc/elektra-api -mv $RPM_BUILD_ROOT%{_docdir}/%{name}/scripts installed-doc/scripts -rmdir $RPM_BUILD_ROOT%{_docdir}/%{name} +%if %{with python2} +%py_comp $RPM_BUILD_ROOT%{py_sitedir} +%py_ocomp $RPM_BUILD_ROOT%{py_sitedir} +%py_postclean +%endif -echo 'RUN="no"' > $RPM_BUILD_ROOT/etc/sysconfig/elektra +%if %{with python3} +%py3_comp $RPM_BUILD_ROOT%{py3_sitedir} +%py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir} +%endif + +# "static" variant (with libelektra-static and thus all plugins linked in); +# we don't need it +%{__rm} $RPM_BUILD_ROOT%{_bindir}/kdb-static -# move devel files to /usr -%{__mv} $RPM_BUILD_ROOT/%{_lib}/libelektra.a $RPM_BUILD_ROOT%{_libdir} -ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libelektra.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libelektra.so -%{__rm} $RPM_BUILD_ROOT/%{_lib}/libelektra.so +%{__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 -# dlopened modules -%{__rm} $RPM_BUILD_ROOT/%{_lib}/elektra/*.{la,a} -# obsoleted by pkg-config -%{__rm} $RPM_BUILD_ROOT/%{_lib}/lib*.la \ - $RPM_BUILD_ROOT%{_libdir}/lib*.la +%{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/{README_md,doc_*_md,md_doc_*,md_src_*,src_plugins_*_md}.3elektra %clean rm -rf $RPM_BUILD_ROOT -%post -# Create basic key structure for apps -kdb set -t dir system/sw || : -kdb set system/sw/kdb/schemapath "%{_datadir}/sgml/elektra-0.7.1/elektra.xsd" - %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig -%post cpp -p /sbin/ldconfig -%postun cpp -p /sbin/ldconfig +%post glib -p /sbin/ldconfig +%postun glib -p /sbin/ldconfig %files %defattr(644,root,root,755) -%doc AUTHORS COPYING ChangeLog NEWS README TODO doc/standards installed-doc/scripts -%attr(755,root,root) /bin/kdb -%attr(755,root,root) /bin/kdb_static -%attr(755,root,root) /bin/preload -%attr(755,root,root) /bin/preload_static -%dir /%{_lib}/elektra -%attr(755,root,root) /%{_lib}/elektra/libelektra-default.so -%attr(755,root,root) /%{_lib}/elektra/libelektra-filesys.so* -%attr(755,root,root) /%{_lib}/elektra/libelektra-hosts.so* -%attr(755,root,root) /%{_lib}/elektra/libelektra-passwd.so* -%if %{with db} -%attr(755,root,root) /%{_lib}/elektra/libelektra-berkeleydb.so* -%attr(755,root,root) /%{_lib}/elektra/libelektra-ddefault.so +%doc doc/{AUTHORS,COPYING,DESIGN.md,GOALS.md,NEWS.md,SECURITY.md,todo} +# doc/standards installed-doc/scripts +%attr(755,root,root) %{_bindir}/kdb +%if %{with full} +%attr(755,root,root) %{_bindir}/kdb-full +%endif +%dir %{_libdir}/elektra +# R: augeas-libs +%attr(755,root,root) %{_libdir}/elektra/libelektra-augeas.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-csvstorage.so +# R: dbus +%attr(755,root,root) %{_libdir}/elektra/libelektra-dbus.so +%attr(755,root,root) %{_libdir}/elektra/libelektra-doc.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-filecheck.so +%attr(755,root,root) %{_libdir}/elektra/libelektra-fstab.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-hosts.so +%attr(755,root,root) %{_libdir}/elektra/libelektra-iconv.so +# uses internal inih library +%attr(755,root,root) %{_libdir}/elektra/libelektra-ini.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-line.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 -%if %{with gconf} -%attr(755,root,root) /%{_lib}/elektra/libelektra-gconf.so* +%attr(755,root,root) %{_libdir}/elektra/libelektra-mathcheck.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-path.so +%if %{with python2} +# R: python-libs +%attr(755,root,root) %{_libdir}/elektra/libelektra-python2.so %endif -%attr(754,root,root) /etc/rc.d/init.d/kdbd -%attr(755,root,root) /etc/profile.d/elektraenv.sh +%if %{with python3} +# R: python3-libs +%attr(755,root,root) %{_libdir}/elektra/libelektra-python.so +%endif +%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-simpleini.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-tcl.so +%attr(755,root,root) %{_libdir}/elektra/libelektra-template.so +%attr(755,root,root) %{_libdir}/elektra/libelektra-timeofday.so +%attr(755,root,root) %{_libdir}/elektra/libelektra-tracer.so +%attr(755,root,root) %{_libdir}/elektra/libelektra-type.so +%attr(755,root,root) %{_libdir}/elektra/libelektra-uname.so +%attr(755,root,root) %{_libdir}/elektra/libelektra-validation.so +%attr(755,root,root) %{_libdir}/elektra/libelektra-wresolver.so +# R: libxml2 +%attr(755,root,root) %{_libdir}/elektra/libelektra-xmltool.so +# R: yajl +%attr(755,root,root) %{_libdir}/elektra/libelektra-yajl.so +%if "%{_libdir}" != "%{_prefix}/lib" +%dir %{_prefix}/lib/elektra +%endif +%dir %{_prefix}/lib/elektra/tool_exec +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/benchmark-createtree +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/convert-fstab +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/convert-hosts +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/convert-inittab +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/convert-users +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/elektra-merge +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/elektra-mount +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/elektra-umount +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/elektrify-getenv +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/example-xorg +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/getenv +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/list-tools +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/mount-augeas +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/mount-info +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/mount-kde +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/mount-openicc +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/mount-spec +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/race +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/umount-all + +%attr(755,root,root) /etc/profile.d/kdb.sh %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/elektra -%{_datadir}/sgml/elektra-0.7.1 -%{_mandir}/man1/kdb.1* -%{_mandir}/man5/elektra.5* -%{_mandir}/man7/elektra.7* +%{_datadir}/sgml/elektra + +%if 0 +%files gen ? +%defattr(644,root,root,755) +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/gen +%{py_sitescriptdir}/elektra_gen-%{version}-py*.egg-info +# FIXME: should be in elektra_gen subdir +%{py_sitescriptdir}/support +%{_datadir}/elektra/templates +%endif + +%files gui +%defattr(644,root,root,755) +%attr(755,root,root) %{_prefix}/lib/elektra/tool_exec/qt-gui + +%files -n bash-completion-elektra +%defattr(644,root,root,755) +/etc/bash_completion.d/kdb %files libs %defattr(644,root,root,755) -%attr(755,root,root) /%{_lib}/libelektra.so.*.*.* -%attr(755,root,root) %ghost /%{_lib}/libelektra.so.3 -%attr(755,root,root) %{_libdir}/libelektratools.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libelektratools.so.2 +%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 +%if %{with full} +%attr(755,root,root) %{_libdir}/libelektra-full.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libelektra-full.so.4 +%endif %files devel %defattr(644,root,root,755) -%doc installed-doc/elektra-api/* +%doc doc/API.md installed-doc/elektra-api/html %attr(755,root,root) %{_libdir}/libelektra.so -%attr(755,root,root) %{_libdir}/libelektratools.so -%{_includedir}/kdb*.h +%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 -%{_pkgconfigdir}/elektratools.pc -%{_mandir}/man3/kdb*.3* -%{_mandir}/man3/key*.3* +%{_datadir}/cmake/Modules/ElektraConfig*.cmake +%{_datadir}/cmake/Modules/ElektraTargetsLibelektra*.cmake +%{_mandir}/man3/api.3elektra* +%{_mandir}/man3/deprecated.3elektra* +%{_mandir}/man3/kdb*.3elektra* +%{_mandir}/man3/key*.3elektra* +%{_mandir}/man3/meta.3elektra* +%{_mandir}/man3/plugin.3elektra* +%{_mandir}/man3/proposal.3elektra* +%{_mandir}/man3/proposal.c.3elektra* %files static %defattr(644,root,root,755) -%{_libdir}/libelektra.a -%{_libdir}/libelektratools.a +%{_libdir}/libelektra-static.a +%{_libdir}/libelektratools-static.a -%files cpp +%files cpp-devel %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libelektra-cpp.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libelektra-cpp.so.0 +%{_includedir}/elektra/*.hpp +%{_includedir}/elektra/helper +%{_includedir}/elektra/merging +# libelektratools API man pages +%{_mandir}/man3/automergeconfiguration.hpp.3elektra* +%{_mandir}/man3/automergestrategy.cpp.3elektra* +%{_mandir}/man3/automergestrategy.hpp.3elektra* +%{_mandir}/man3/comparison.cpp.3elektra* +%{_mandir}/man3/comparison.hpp.3elektra* +%{_mandir}/man3/backend.hpp.3elektra* +%{_mandir}/man3/backends.hpp.3elektra* +%{_mandir}/man3/importmergeconfiguration.hpp.3elektra* +%{_mandir}/man3/interactivemergestrategy.cpp.3elektra* +%{_mandir}/man3/interactivemergestrategy.hpp.3elektra* +%{_mandir}/man3/mergeconfiguration.hpp.3elektra* +%{_mandir}/man3/mergeconflict.hpp.3elektra* +%{_mandir}/man3/mergeconflictstrategy.cpp.3elektra* +%{_mandir}/man3/mergeconflictstrategy.hpp.3elektra* +%{_mandir}/man3/mergeresult.cpp.3elektra* +%{_mandir}/man3/mergeresult.hpp.3elektra* +%{_mandir}/man3/mergetask.hpp.3elektra* +%{_mandir}/man3/mergetestutils.cpp.3elektra* +%{_mandir}/man3/metamergestrategy.cpp.3elektra* +%{_mandir}/man3/metamergestrategy.hpp.3elektra* +%{_mandir}/man3/newkeystrategy.cpp.3elektra* +%{_mandir}/man3/newkeystrategy.hpp.3elektra* +%{_mandir}/man3/onesidemergeconfiguration.hpp.3elektra* +%{_mandir}/man3/onesidestrategy.cpp.3elektra* +%{_mandir}/man3/onesidestrategy.hpp.3elektra* +%{_mandir}/man3/onesidevaluestrategy.cpp.3elektra* +%{_mandir}/man3/overwritemergeconfiguration.hpp.3elektra* +%{_mandir}/man3/modules.cpp.3elektra* +%{_mandir}/man3/modules.hpp.3elektra* +%{_mandir}/man3/plugin.cpp.3elektra* +%{_mandir}/man3/plugin.hpp.3elektra* +%{_mandir}/man3/plugins.cpp.3elektra* +%{_mandir}/man3/plugins.hpp.3elektra* +%{_mandir}/man3/src_backend.cpp.3elektra* +%{_mandir}/man3/testtool_*.cpp.3elektra* +%{_mandir}/man3/threewaymerge.cpp.3elektra* +%{_mandir}/man3/threewaymerge.hpp.3elektra* +%{_mandir}/man3/toolexcept.hpp.3elektra* + +%if %{with glib} +%files glib +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libgelektra-4.0.so +%{_libdir}/girepository-1.0/GElektra-4.0.typelib -%files cpp-devel +%files glib-devel +%defattr(644,root,root,755) +%{_datadir}/gir-1.0/GElektra-4.0.gir +%{_includedir}/elektra/gelektra-*.h +%{_pkgconfigdir}/gelektra-4.0.pc +%endif + +%if %{with lua} +%files -n lua-elektra %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libelektra-cpp.so -%{_includedir}/kdb -%{_includedir}/key -%{_includedir}/keyset -%{_pkgconfigdir}/elektracpp.pc +%attr(755,root,root) %{_libdir}/lua/5.2/kdb.so -%files cpp-static +%if %{with glib} +%files -n lua-elektra-glib %defattr(644,root,root,755) -%{_libdir}/libelektra-cpp.a +%dir %{_datadir}/lua/5.2/lgi +%dir %{_datadir}/lua/5.2/lgi/override +%{_datadir}/lua/5.2/lgi/override/GElektra.lua +%endif +%endif + +%if %{with python2} +%files -n python-elektra +%defattr(644,root,root,755) +%attr(755,root,root) %{py_sitedir}/_kdb.so +%{py_sitedir}/kdb.py[co] +%endif + +%if %{with python3} +%files -n python3-elektra +%defattr(644,root,root,755) +%attr(755,root,root) %{py3_sitedir}/_kdb.so +%{py3_sitedir}/kdb.py +%{py3_sitedir}/__pycache__/kdb.cpython-*.py[co] + +%if %{with glib} +%files -n python3-elektra-glib +%defattr(644,root,root,755) +%{py3_sitedir}/gi/overrides/GElektra.py +%{py3_sitedir}/gi/overrides/__pycache__/GElektra.cpython-*.py[co] +%endif +%endif