]> git.pld-linux.org Git - packages/elektra.git/blobdiff - elektra.spec
- updated gettext BR
[packages/elektra.git] / elektra.spec
index 2fa503a4ed5d9557202352cbf7eebee2674a9d5a..d7cfcd447c53c7f57e84e4f84ef4f7f04aed357a 100644 (file)
@@ -1,19 +1,31 @@
+# TODO: use system nickel (in src/plugins/ni)
+#
+# Conditonal build:
+%bcond_with    full    # "full" variant (libelektra-full with all plugins linked in)
+#
 Summary:       A key/value pair database to store software configurations
-Summary(pl):   Baza kluczy/warto¶ci do przechowywania konfiguracji oprogramowania
+Summary(pl.UTF-8):     Baza kluczy/wartości do przechowywania konfiguracji oprogramowania
 Name:          elektra
-Version:       0.4.6
-Release:       0.1
-Epoch:         0
+Version:       0.8.6
+Release:       1
 License:       BSD
 Group:         Applications/System
-Source0:       http://dl.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
-# Source0-md5: f032ec83ffe91f2e7c2a0d70f67749eb
-Patch0:                %{name}-Makefile_CFLAGS.patch
-Patch1:                %{name}-libdir.patch
-Patch2:                %{name}-not_implemented_func_hack.patch
-Patch3:                %{name}-elektraenv.patch
-URL:           http://elektra.sf.net
+Source0:       http://www.libelektra.org/ftp/elektra/releases/%{name}-%{version}.tar.gz
+# Source0-md5: 4a59824e70a29295e9ef9ae7605d9299
+Patch0:                %{name}-elektraenv.patch
+URL:           http://www.libelektra.org/
+BuildRequires: cmake >= 2.6
+BuildRequires: dbus-devel
+BuildRequires: doxygen
+BuildRequires: gettext-tools
+BuildRequires: libstdc++-devel
+BuildRequires: libxml2-devel
 BuildRequires: libxslt-progs
+BuildRequires: pkgconfig
+%{?with_python:BuildRequires:  python-devel}
+BuildRequires: yajl-devel
+Requires:      %{name}-libs = %{version}-%{release}
+Requires:      mktemp
 Obsoletes:     registry
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -26,22 +38,23 @@ This way any software can read/save his configuration using a
 consistent API. Also, applications can be aware of other applications
 configurations, leveraging easy application integration.
 
-%description -l pl
-Projekt Eleketra dostarcza szkielet do przechowywania typowych danych
-konfiguracyjnych w postaci klucz-warto¶æ w hierarhicznej bazie danych,
-zamiast w pliku tekstowym czytelnym tylko dla cz³owieka.
+%description -l pl.UTF-8
+Projekt Elektra dostarcza szkielet do przechowywania typowych danych
+konfiguracyjnych w postaci klucz-wartość w hierarchicznej bazie
+danych, zamiast w pliku tekstowym czytelnym tylko dla człowieka.
 
-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ê.
+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 devel
-Summary:       Include files and API documentation for Elektra Project
-Summary(pl):   Pliki nag³ówkowe i dokumentacja API projektu Elektra
-Group:         Development/Libraries
-Requires:      elektra = %{epoch}:%{version}-%{release}
+%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 devel
+%description libs
 The Elektra Project provides a framework to store generic
 configuration data in an hierarchical key-value pair database, instead
 of a human-readable only text file.
@@ -50,99 +63,190 @@ This way any software can read/save his configuration using a
 consistent API. Also, applications can be aware of other applications
 configurations, leveraging easy application integration.
 
-This package contains the include files and API manual pages to use
-the Elektra API in C.
+This package contains Elektra shared libraries.
 
-%description devel -l pl
-Projekt Eleketra dostarcza szkielet do przechowywania typowych danych
-konfiguracyjnych w postaci klucz-warto¶æ w hierarhicznej bazie danych,
-zamiast w pliku tekstowym czytelnym tylko dla cz³owieka.
+%description libs -l pl.UTF-8
+Projekt Elektra dostarcza szkielet do przechowywania typowych danych
+konfiguracyjnych w postaci klucz-wartość w hierarchicznej bazie
+danych, zamiast w pliku tekstowym czytelnym tylko dla człowieka.
 
-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ê.
+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ę.
 
-Ten pakiet zawiera pliki nag³ówkowe oraz strony podrêcznika
-systemowego opisuj±cego sposób u¿ycia API Elektry w C.
+Ten pakiet zawiera biblioteki współdzielone Elektry.
+
+%package devel
+Summary:       Include files and API documentation for Elektra Project
+Summary(pl.UTF-8):     Pliki nagłówkowe i dokumentacja API projektu Elektra
+Group:         Development/Libraries
+Requires:      %{name}-libs = %{version}-%{release}
+
+%description devel
+This package contains the include files and API manual pages to use
+the Elektra API in C.
+
+%description devel -l pl.UTF-8
+Ten pakiet zawiera pliki nagłówkowe oraz strony podręcznika
+systemowego opisującego sposób użycia API Elektry w C.
 
 %package static
-Summary:       Static library for Elektra Project
-Summary(pl):   Statyczna wersja biblioteki projektu Elektra
+Summary:       Static libraries for Elektra Project
+Summary(pl.UTF-8):     Statyczne biblioteki projektu Elektra
 Group:         Development/Libraries
-Requires:      elektra-devel = %{epoch}:%{version}-%{release}
+Requires:      %{name}-devel = %{version}-%{release}
 
 %description static
-The Elektra Project provides a framework to store generic
-configuration data in an hierarchical key-value pair database, instead
-of a human-readable only text file.
-
-This way any software can read/save his configuration using a
-consistent API. Also, applications can be aware of other applications
-configurations, leveraging easy application integration.
+This package contains static libraries for Elektra Project.
 
-This package contains static library for Elektra Project.
+%description static -l pl.UTF-8
+Ten pakiet zawiera statyczne biblioteki projektu Elektra.
 
-%description static -l pl
-Projekt Eleketra dostarcza szkielet do przechowywania typowych danych
-konfiguracyjnych w postaci klucz-warto¶æ w hierarhicznej bazie danych,
-zamiast w pliku tekstowym czytelnym tylko dla cz³owieka.
+%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}-devel = %{version}-%{release}
+Requires:      libstdc++-devel
+Obsoletes:     elektra-cpp-static < 0.8
 
-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ê.
+%description cpp-devel
+Header files of C++ interface for Elektra library.
 
-Ten pakiet zawiera wersjê statyczn± biblioteki projektu Elektra.
+%description cpp-devel -l pl.UTF-8
+Pliki nagłówkowe interfejsu C++ do biblioteki Elektra.
 
 %prep
-%setup -q -n %{name}
+%setup -q
 %patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
 
 %build
-%{__make} all \
-       CC="%{__cc}" \
-       CFLAGS="%{rpmcflags}"
+install -d build
+cd build
+%cmake .. \
+       %{!?with_full:-DBUILD_FULL=OFF} \
+       -DPLUGINS=ALL \
+       -DTARGET_CMAKE_FOLDER=%{_datadir}/cmake/Modules
+
+%{__make} -j1
 
 %install
 rm -rf $RPM_BUILD_ROOT
-
 install -d $RPM_BUILD_ROOT/etc/sysconfig
-%{__make} install \
-        LIB=/%{_lib} \
-        DESTDIR=$RPM_BUILD_ROOT
 
-cp -a $RPM_BUILD_ROOT%{_datadir}/doc/%{name}-devel elektra-api
+%{__make} -C build install \
+       DESTDIR=$RPM_BUILD_ROOT
 
 echo 'RUN="no"' > $RPM_BUILD_ROOT/etc/sysconfig/elektra
+install -D scripts/elektraenv.sh $RPM_BUILD_ROOT/etc/profile.d/elektraenv.sh
+install -D src/plugins/xmltool/xmlschema/elektra.xsd $RPM_BUILD_ROOT%{_datadir}/sgml/elektra/elektra.xsd
+
+# just tests
+%{__rm} -r $RPM_BUILD_ROOT%{_prefix}/lib/elektra/tool_exec \
+       $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
+
+# "static" variant (with libelektra-static and thus all plugins linked in);
+# we don't need it
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/kdb-static
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%post
-/sbin/ldconfig
-# Create basic key structure for apps
-kdb set -t dir system/sw
-
-%postun -p /sbin/ldconfig
+%post  libs -p /sbin/ldconfig
+%postun        libs -p /sbin/ldconfig
 
 %files
 %defattr(644,root,root,755)
-%doc articles doc/standards example scripts AUTHORS ChangeLog README TODO
-%attr(755,root,root) /bin/*
-%attr(755,root,root) /%{_lib}/lib*.so
-%attr(755,root,root) /etc/profile.d/*
-%{_includedir}/*
-%{_datadir}/sgml
-%{_mandir}/man[157]/*
-%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
+%doc doc/{AUTHORS,CHANGES,COPYING,DESIGN,GOALS,NEWS,README,SECURITY,SPECIFICATION,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
+%attr(755,root,root) %{_libdir}/elektra/libelektra-ccode.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-error.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
+%attr(755,root,root) %{_libdir}/elektra/libelektra-network.so
+%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
+%attr(755,root,root) %{_libdir}/elektra/libelektra-resolver.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-success.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
+# R: libxml2
+%attr(755,root,root) %{_libdir}/elektra/libelektra-xmltool.so
+# R: yajl
+%attr(755,root,root) %{_libdir}/elektra/libelektra-yajl.so
+%attr(755,root,root) /etc/profile.d/elektraenv.sh
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/elektra
+%{_datadir}/sgml/elektra
+
+%files libs
+%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}/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 bindings elektra-api
-%{_includedir}/*
-%{_mandir}/man3/*
+%doc installed-doc/elektra-api/*
+%attr(755,root,root) %{_libdir}/libelektra.so
+%if %{with full}
+%attr(755,root,root) %{_libdir}/libelektra-full.so
+%endif
+%dir %{_includedir}/elektra
+%{_includedir}/elektra/*.h
+%{_pkgconfigdir}/elektra.pc
+%{_datadir}/cmake/Modules/FindElektra.cmake
+%{_mandir}/man3/deprecated.3elektra*
+%{_mandir}/man3/kdb*.3elektra*
+%{_mandir}/man3/key*.3elektra*
+%{_mandir}/man3/plugin.3elektra*
 
 %files static
 %defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%{_libdir}/libelektra-static.a
+%{_libdir}/libelektratools-static.a
+
+%files cpp-devel
+%defattr(644,root,root,755)
+%{_includedir}/elektra/*.hpp
+# libelektratools API man pages
+%{_mandir}/man3/backend.hpp.3elektra*
+%{_mandir}/man3/backends.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/toolexcept.hpp.3elektra*
This page took 0.07839 seconds and 4 git commands to generate.