Dnia Sat, 30 Dec 2006 15:17:39 +0100
Tomasz Rutkowski <[EMAIL PROTECTED]> napisał(a):

trochę więcej update'ów i poprawek

> libprelude
> - podbita wersja
> - dodane bcondy
  - poprawki w %package i %files

> 
> libpreludedb
> - podbita wersja
> - dodane bcondy
  - dodane podpakiety
  - poprawki w %package %post i %files
 
> prelude-manager oraz prelude-lml
> - podbita wersja
> - dodane bcondy
> - dodane paczki: libs, static
  - dodane podpakiety z dodatkowymi pluginami
> - usunięte TODO  - wydaje mi się, że w większości przypadków i tak
>       będzie potrzebna ingerencja administratora
> - poprawiony init-script
> - poprawiony sysconfig
  - poprawki w %package %post i %files


gdyby ktoś(TM) na to spojrzał, ocenił, no i dodał jeśli się nadaje...

-- 
------------------------------------------------------------------------
Tomasz Rutkowski, e-mail/jid: [EMAIL PROTECTED], +48 604 419 913
------------------------------------------------------------------------
--- libprelude.spec	2007-01-03 13:39:16.000000000 +0000
+++ libprelude.spec	2007-01-03 12:18:32.000000000 +0000
@@ -1,21 +1,24 @@
 # $Revision: 1.9 $, $Date: 2006/05/16 11:06:11 $
+%bcond_without	perl
+%bcond_without	python		# required by prewikka
+
 %include	/usr/lib/rpm/macros.perl
 Summary:	The Prelude library
 Summary(pl):	Biblioteka Prelude
 Name:		libprelude
-Version:	0.9.8
+Version:	0.9.12
 Release:	1
 License:	GPL
 Group:		Libraries
 Source0:	http://www.prelude-ids.org/download/releases/%{name}-%{version}.tar.gz
-# Source0-md5:	d46527e7b036d20c3cc72c887486d773
+# Source0-md5:	2e8769cd05d51d3e69380bf234e6efef
 URL:		http://www.prelude-ids.org/
 BuildRequires:	bison
 BuildRequires:	flex
-BuildRequires:	gnutls-devel >= 1.2.5
+BuildRequires:	gnutls-devel >= 1.0.17
 BuildRequires:	gtk-doc
-BuildRequires:	perl-devel
-BuildRequires:	python-devel
+%{?with_perl:BuildRequires:	perl-devel}
+%{?with_python:BuildRequires:	python-devel}
 BuildRequires:	rpm-perlprov
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -104,14 +107,16 @@ Dowi±zania Pythona dla libprelude.
 %configure \
 	--enable-shared \
 	--enable-static \
-	--enable-perl \
-	--enable-python \
 	--enable-gtk-doc \
+	--with-perl%{!?with_perl:=no} \
+	--with-python%{!?with_python:=no} \
 	--with-html-dir=%{_gtkdocdir}/libprelude
 
 # first make the perl makefile otherwise with jobserver strange things happen:
 # Makefile out-of-date with respect to Makefile.PL
+%if %{with perl}
 %{__make} -C bindings perl/Makefile
+%endif
 
 %{__make}
 
@@ -121,14 +126,18 @@ rm -rf $RPM_BUILD_ROOT
 %{__make} install \
 	DESTDIR=$RPM_BUILD_ROOT
 
+%if %{with perl}
 cd bindings/perl && %{__perl} Makefile.PL \
 	INSTALLDIRS=vendor
 cd ../..
 %{__make} -C bindings/perl install \
 	DESTDIR=$RPM_BUILD_ROOT
+%endif
 
+%if %{with python}
 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -148,12 +157,13 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/prelude-adduser
 %attr(755,root,root) %{_libdir}/lib*.so.*.*
+# needed in normal operational
+%{_libdir}/lib*.la
 
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/libprelude-config
 %attr(755,root,root) %{_libdir}/lib*.so
-%{_libdir}/lib*.la
 %{_includedir}/libprelude
 %{_aclocaldir}/*.m4
 %{_gtkdocdir}/libprelude
@@ -162,17 +172,21 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %{_libdir}/lib*.a
 
+%if %{with perl}
 %files -n perl-libprelude
 %defattr(644,root,root,755)
 %dir %{perl_vendorarch}/auto/Prelude
 %attr(755,root,root) %{perl_vendorarch}/auto/Prelude/*.so
 %{perl_vendorarch}/auto/Prelude/*.bs
 %{perl_vendorarch}/Prelude.pm
+%endif
 
+%if %{with python}
 %files -n python-libprelude
 %defattr(644,root,root,755)
 %attr(755,root,root) %{py_sitedir}/*.so
 %{py_sitedir}/*.py[co]
+%endif
 
 %define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
 %changelog
--- libpreludedb.spec	2007-01-03 13:39:20.000000000 +0000
+++ libpreludedb.spec	2007-01-03 12:52:31.000000000 +0000
@@ -1,25 +1,35 @@
 # $Revision: 1.5 $, $Date: 2006/04/15 21:51:15 $
+#
+%bcond_without	perl
+%bcond_without	python		# needed by prewikka
+%bcond_without	postgresql	# 
+%bcond_without	mysql		# one from those is needed by prewikka
+%bcond_without	sqlite3		# 
+
 %include	/usr/lib/rpm/macros.perl
 Summary:	The PreludeDB Library
 Summary(pl):	Biblioteka PreludeDB
 Name:		libpreludedb
-Version:	0.9.7.1
-Release:	0.1
+Version:	0.9.11
+Release:	1
 License:	GPL
 Group:		Libraries
 Source0:	http://www.prelude-ids.org/download/releases/%{name}-%{version}.tar.gz
-# Source0-md5:	7137575a3c907348296a386206ecc941
+# Source0-md5:	f0b2a1229784419be1f9602f3f06d539
 URL:		http://www.prelude-ids.org/
 BuildRequires:	bison
 BuildRequires:	flex
-BuildRequires:	gtk-doc
-BuildRequires:	libprelude-devel >= 0.9.6
-BuildRequires:	mysql-devel
-BuildRequires:	perl-devel
+BuildRequires:	libprelude-devel >= 0.9.9
+%{?with_perl:BuildRequires:	perl-devel}
+%{?with_python:BuildRequires:	python-devel}
+%{?with_postgresql:BuildRequires:	postgresql-devel}
+%{?with_mysql:BuildRequires:	mysql-devel}
+%{?with_sqlite3:BuildRequires:	sqlite3-devel}
+BuildRequires:	gtk-doc >= 1.0
 BuildRequires:	pkgconfig
-BuildRequires:	postgresql-devel
-BuildRequires:	python-devel
 BuildRequires:	rpm-perlprov
+Requires:	%{name}(DB_driver) = %{version}-%{release}
+Requires:	%{name}-libs = %{version}-%{release}
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -36,11 +46,61 @@ Pozwala programistom ³atwo i wydajnie u¿
 nie martwi±c siê o SQL i dostawaæ siê do bazy niezale¿nie od jej
 rodzaju/formatu.
 
+%package libs
+Summary:	Libpreludedb library
+Summary(pl):	Biblioteka libpreludedb
+Group:		Libraries
+
+%description libs
+Libpreludedb library
+
+%description libs -l pl
+Biblioteka libpreludedb
+
+%package db-pgsql
+Summary:	PostgreSQL backend for libpreludedb
+Summary(pl):	Interfejs do PostgreSQL dla libpreludedb
+Group:		Libraries
+Requires:	%{name} = %{version}-%{release}
+Provides:	%{name}(DB_driver) = %{version}-%{release}
+
+%description db-pgsql
+PostgreSQL backend for libpreludedb
+
+%description db-pgsql -l pl
+Interfejs do PostgreSQL do libpreludedb
+
+%package db-mysql
+Summary:	MySQL backend for libpreludedb
+Summary(pl):	Interfejs do MySQL dla libpreludedb
+Group:		Libraries
+Requires:	%{name} = %{version}-%{release}
+Provides:	%{name}(DB_driver) = %{version}-%{release}
+
+%description db-mysql
+MySQL backend for libpreludedb
+
+%description db-mysql -l pl
+Interfejs do MySQL do libpreludedb
+
+%package db-sqlite3
+Summary:	SQLite3 backend for libpreludedb
+Summary(pl):	Interfejs do SQLite3 dla libpreludedb
+Group:		Libraries
+Requires:	%{name} = %{version}-%{release}
+Provides:	%{name}(DB_driver) = %{version}-%{release}
+
+%description db-sqlite3
+SQLite3 backend for libpreludedb
+
+%description db-sqlite3 -l pl
+Interfejs do SQLite3 do libpreludedb
+
 %package devel
 Summary:	Header files and development documentation for libpreludedb
 Summary(pl):	Pliki nag³ówkowe i dokumentacja programistyczna do libpreludedb
 Group:		Development/Libraries
-Requires:	%{name} = %{version}-%{release}
+Requires:	%{name}-libs = %{version}-%{release}
 
 %description devel
 Header files and development documentation for libpreludedb.
@@ -89,10 +149,13 @@ Dowi±zania Pythona do libpreludedb.
 %configure \
 	--enable-shared \
 	--enable-static \
-	--enable-perl \
-	--enable-python \
+	--%{!?with_perl:dis}%{?with_perl:en}able-perl \
+	--%{!?with_python:dis}%{?with_python:en}able-python \
+	--%{!?with_postgresql:dis}%{?with_postgresql:en}able-pgsql \
+	--%{!?with_mysql:dis}%{?with_mysql:en}able-mysql \
+	--%{!?with_sqlite3:dis}%{?with_sqlite3:en}able-sqlite3 \
 	--enable-gtk-doc \
-	--with-html-dir=%{_gtkdocdir}/libpreludedb
+	--with-html-dir=%{_gtkdocdir}/libpreludedb \
 
 %{__make}
 
@@ -102,38 +165,92 @@ rm -rf $RPM_BUILD_ROOT
 %{__make} install \
 	DESTDIR=$RPM_BUILD_ROOT
 
+%if %{with perl}
 cd bindings/perl && %{__perl} Makefile.PL \
         INSTALLDIRS=vendor
 cd ../..
 %{__make} -C bindings/perl install \
 	DESTDIR=$RPM_BUILD_ROOT
+%endif
 
+%if %{with python}
 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%post	-p /sbin/ldconfig
-%postun	-p /sbin/ldconfig
+%post
+if [ "$1" = 1 ]; then
+%banner -e %{name} <<EOF
+
+Create new database and database user for prelude
+(or update an existing one if needed) using templates from
+%{_datadir}/%{name}/classic
+for reference visit %{url}
+
+EOF
+fi
+
+%postun
+
+%post libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
+
+%post db-pgsql -p /sbin/ldconfig
+%postun db-pgsql -p /sbin/ldconfig
+
+%post db-mysql -p /sbin/ldconfig
+%postun db-mysql -p /sbin/ldconfig
+
+%post db-sqlite3 -p /sbin/ldconfig
+%postun db-sqlite3 -p /sbin/ldconfig
 
 %files
 %defattr(644,root,root,755)
 %doc AUTHORS ChangeLog NEWS README
+
+%files libs
+%defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/preludedb-admin
 %attr(755,root,root) %{_libdir}/lib*.so.*.*
 %dir %{_libdir}/%{name}
 %dir %{_libdir}/%{name}/plugins
-%dir %{_libdir}/%{name}/plugins/*
-%attr(755,root,root) %{_libdir}/%{name}/plugins/*/*.so
-%{_libdir}/%{name}/plugins/*/*.la
-%{_datadir}/%{name}
+%dir %{_libdir}/%{name}/plugins/formats
+%dir %{_libdir}/%{name}/plugins/sql
+%attr(755,root,root) %{_libdir}/%{name}/plugins/formats/*.so
+# needed for normal operational
+%{_libdir}/%{name}/plugins/formats/*.la
+%{_libdir}/lib*.la
+%dir %{_datadir}/%{name}
+%dir %{_datadir}/%{name}/classic
+
+%if %{with postgresql}
+%files db-pgsql
+%defattr(644,root,root,755)
+%dir %{_libdir}/%{name}/plugins/sql/*pgsql*
+%{_datadir}/%{name}/classic/*pgsql*
+%endif
+
+%if %{with mysql}
+%files db-mysql
+%defattr(644,root,root,755)
+%dir %{_libdir}/%{name}/plugins/sql/*mysql*
+%{_datadir}/%{name}/classic/*mysql*
+%endif
+
+%if %{with sqlite3}
+%files db-sqlite3
+%defattr(644,root,root,755)
+%dir %{_libdir}/%{name}/plugins/sql/*sqlite*
+%{_datadir}/%{name}/classic/*sqlite*
+%endif
 
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/libpreludedb-config
 %attr(755,root,root) %{_libdir}/lib*.so
-%{_libdir}/lib*.la
 %{_includedir}/libpreludedb
 %{_aclocaldir}/*.m4
 %{_gtkdocdir}/libpreludedb
@@ -141,18 +258,23 @@ rm -rf $RPM_BUILD_ROOT
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/lib*.a
+%{_libdir}/%{name}/plugins/*/*.a
 
+%if %{with perl}
 %files -n perl-libpreludedb
 %defattr(644,root,root,755)
 %dir %{perl_vendorarch}/auto/PreludeDB
 %attr(755,root,root) %{perl_vendorarch}/auto/PreludeDB/*.so
 %{perl_vendorarch}/auto/PreludeDB/*.bs
 %{perl_vendorarch}/PreludeDB.pm
+%endif
 
+%if %{with python}
 %files -n python-libpreludedb
 %defattr(644,root,root,755)
 %attr(755,root,root) %{py_sitedir}/*.so
  %{py_sitedir}/*.py[co]
+%endif
 
 %define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
 %changelog
--- prelude-lml.init	2006-12-29 18:25:42.000000000 +0000
+++ prelude-lml.init	2006-12-29 16:05:12.000000000 +0000
@@ -7,11 +7,21 @@
 # Source function library.
 . /etc/rc.d/init.d/functions
 
+# Get service config
+if [ -f /etc/sysconfig/prelude-lml ]; then
+        . /etc/sysconfig/prelude-lml
+else
+	nls "Error: %s not found" /etc/sysconfig/prelude-lml
+	nls " Prelude LML can't be run."
+        exit 1
+fi
+
+
 case "$1" in
     start)
 	    if [ ! -f /var/lock/subsys/prelude-lml ]; then
 		msg_starting "Prelude LML"
-		daemon prelude-lml -d
+		daemon $SERVICE_RUN_NICE_LEVEL prelude-lml -d
 		RETVAL=$?
 		[ $RETVAL -eq 0 ] && touch /var/lock/subsys/prelude-lml
 	    else
@@ -49,7 +59,7 @@ case "$1" in
     ;;
 
     *)
-    echo $"Usage: $0 {start|stop|restart|condrestart|status}"
+    echo $"Usage: $0 {start|stop|restart|reload|force-reload|status}"
     exit 1
 
 esac
--- prelude-lml.spec	2007-01-03 13:39:32.000000000 +0000
+++ prelude-lml.spec	2007-01-03 12:38:18.000000000 +0000
@@ -1,22 +1,26 @@
 # $Revision: 1.10 $, $Date: 2006/04/20 17:23:57 $
+%bcond_without	fam
+%bcond_without	unsupported_rulesets
+
 Summary:	A network intrusion detection system
 Summary(pl):	System wykrywania intruzów w sieci
 Name:		prelude-lml
-Version:	0.9.4
-Release:	0.3
+Version:	0.9.8.1
+Release:	1
 License:	GPL
 Group:		Applications
 Source0:	http://www.prelude-ids.org/download/releases/%{name}-%{version}.tar.gz
-# Source0-md5:	33ed8f9428df64778041e4d8fe41c479
+# Source0-md5:	9304593d58d2aa1268760c93150ab8db
 Source1:	%{name}.init
 Source2:	%{name}.sysconfig
 URL:		http://www.prelude-ids.org/
-BuildRequires:	fam-devel
+%{?with_fam:BuildRequires:	fam-devel}
 BuildRequires:	libprelude-devel >= 0.9.0
 BuildRequires:	pcre-devel
 BuildRequires:	rpmbuild(macros) >= 1.268
 Requires(post,preun):	/sbin/chkconfig
 Requires:	rc-scripts
+Requires:	%{name}-libs = %{version} 
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -29,6 +33,29 @@ Prelude LML analizuje pliki logów i prze
 Prelude. Prelude LML mo¿e tak¿e u¿ywaæ sysloga, aby nas³uchiwa³ danych
 od innych aplikacji, takich jak NTSyslog.
 
+%package libs
+Summary:	Prelude-lml shared libraries
+Summary(pl):	Biblioteki dzielone prelude-lml
+Group:		Libraries
+
+%description libs
+Prelude-lml shared libraries.
+
+%description libs -l pl
+Biblioteki dzielone prelude-lml.
+
+%package static
+Summary:	Static prelude-lml library
+Summary(pl):	Statyczna biblioteka prelude-lml
+Group:		Development/Libraries
+Requires:	%{name}-devel = %{version}-%{release}
+
+%description static
+Static prelude-lml library.
+
+%description static -l pl
+Statyczna biblioteka prelude-lml.
+
 %package devel
 Summary:	Header files for prelude-lml
 Summary(pl):	Pliki nag³ówkowe dla prelude-lml
@@ -45,7 +72,11 @@ Pliki nag³ówkowe dla prelude-lml.
 %setup -q
 
 %build
-%configure
+%configure \
+	--enable-shared \
+	--enable-static \
+	--with%{!?with_fam:out}-fam \
+	--%{!?with_unsupported_rulesets:dis}%{?with_unsupported_rulesets:en}able-unsupported_rulesets
 %{__make}
 
 %install
@@ -65,25 +96,14 @@ rm -rf $RPM_BUILD_ROOT
 
 %post
 /sbin/chkconfig --add prelude-lml
-%service prelude-lml restart
-if [ "$1" = 1 ]; then
-	echo "Remember to register with prelude-manager before first launch:"
-	echo "prelude-adduser register prelude-lml \"idmef:w\" <manager address> --uid 0 --gid 0"
-	echo ""
-	echo "Run \"/sbin/service prelude-lml start\" to start Prelude LML."
-fi
+if [ "$1" = "1" ]; then
+%banner -e %{name} <<EOF
+Remember to register with prelude-manager before first launch:
+prelude-adduser register prelude-lml "idmef:w admin:r" <manager address> --uid 0 --gid 0
 
-#
-# TODO:
-#
-# register with prelude-manager:
-#
-# on one console:
-# prelude-adduser registration-server prelude-manager
-# 	(remember one shot password)
-# on the second one:
-# prelude-adduser register prelude-lml "idmef:w" <manager address> --uid 0 --gid 0
-#	(enter the password)
+EOF
+fi
+%service prelude-lml restart
 
 %preun
 if [ "$1" = "0" ]; then
@@ -95,9 +115,6 @@ fi
 %defattr(644,root,root,755)
 %doc AUTHORS ChangeLog NEWS README
 %attr(755,root,root) %{_bindir}/%{name}
-%dir %{_libdir}/%{name}
-%attr(755,root,root) %{_libdir}/%{name}/*.so
-%{_libdir}/%{name}/*.la
 %attr(754,root,root) /etc/rc.d/init.d/%{name}
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
 %dir %{_sysconfdir}/%{name}
@@ -105,6 +122,16 @@ fi
 %{_sysconfdir}/%{name}/ruleset
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.*
 
+%files libs
+%defattr(644,root,root,755)
+%dir %{_libdir}/%{name}
+%attr(755,root,root) %{_libdir}/%{name}/*.so
+%{_libdir}/%{name}/*.la
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/%{name}/*.a
+
 %files devel
 %defattr(644,root,root,755)
 %{_includedir}/%{name}
--- prelude-lml.sysconfig	2006-12-29 18:25:42.000000000 +0000
+++ prelude-lml.sysconfig	2006-12-29 18:27:40.000000000 +0000
@@ -0,0 +1,5 @@
+# Prelude LML startup configuration file
+
+# Try to define nice-level for running Prelude LML
+SERVICE_RUN_NICE_LEVEL="+0"
+
--- prelude-manager.init	2006-12-29 18:25:04.000000000 +0000
+++ prelude-manager.init	2006-12-29 16:06:00.000000000 +0000
@@ -7,11 +7,22 @@
 # Source function library.
 . /etc/rc.d/init.d/functions
 
+# Get service config
+if [ -f /etc/sysconfig/prelude-manager ]; then
+        . /etc/sysconfig/prelude-manager
+else
+	nls "Error: %s not found" /etc/sysconfig/prelude-manager
+	nls " Prelude Manager can't be run."
+        exit 1
+fi
+
+
+
 case "$1" in
     start)
 	    if [ ! -f /var/lock/subsys/prelude-manager ]; then
 		msg_starting "Prelude Manager"
-		daemon prelude-manager -d
+		daemon $SERVICE_RUN_NICE_LEVEL prelude-manager -d
 		RETVAL=$?
 		[ $RETVAL -eq 0 ] && touch /var/lock/subsys/prelude-manager
 	    else
@@ -49,7 +60,7 @@ case "$1" in
     ;;
 
     *)
-    echo $"Usage: $0 {start|stop|restart|condrestart|status}"
+    echo $"Usage: $0 {start|stop|reload|force-reload|status}"
     exit 1
 
 esac
--- prelude-manager.spec	2007-01-03 13:39:27.000000000 +0000
+++ prelude-manager.spec	2007-01-03 13:23:23.000000000 +0000
@@ -2,26 +2,30 @@
 #
 # TODO:		- config file templates
 #
+%bcond_without	tcp_wrappers
+%bcond_without	sql
+%bcond_without	xml
+
 Summary:	A Network Intrusion Detection System
 Summary(pl):	System do wykrywania intruzów w sieci
 Name:		prelude-manager
-Version:	0.9.4.1
-Release:	0.3
+Version:	0.9.7.1
+Release:	1
 License:	GPL
 Group:		Applications
 Source0:	http://www.prelude-ids.org/download/releases/%{name}-%{version}.tar.gz
-# Source0-md5:	4641da26473496b2bc43647753ff0499
+# Source0-md5:	4af593e21b41faa220d9dc9648df4a85
 Source1:	%{name}.init
 Source2:	%{name}.sysconfig
 URL:		http://www.prelude-ids.org/
-BuildRequires:	gnutls-devel
-BuildRequires:	libprelude-devel >= 0.9.7.2
-BuildRequires:	libpreludedb-devel >= 0.9.7.1
-BuildRequires:	libxml2-devel
+BuildRequires:	gnutls-devel >= 1.0.17
+BuildRequires:	libprelude-devel >= 0.9.7
+%{?with_sql:BuildRequires:	libpreludedb-devel >= 0.9.4.1}
+%{?with_xml:BuildRequires:	libxml2-devel >= 2.0.0}
+%{?with_tcp_wrappers:BuildRequires:	libwrap-devel}
 BuildRequires:	rpmbuild(macros) >= 1.268
 Requires(post,preun):	rc-scripts
-Requires:	libprelude >= 0.9.7.2
-Requires:	libpreludedb >= 0.9.7.1
+Requires:	%{name}-libs >= %{version}
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -32,6 +36,54 @@ normalizes events from distributed senso
 Prelude-Manager to serwer o wysokiej dostêpno¶ci zbieraj±cy i
 normalizuj±cy zdarzenia od rozproszonych czujników.
 
+%package libs
+Summary:	Prelude-manager shared libraries
+Summary(pl):	Biblioteki dzielone prelude-managera
+Group:		Libraries
+
+%description libs
+Prelude-manager shared libraries.
+
+%description libs -l pl
+Biblioteki dzielone prelude-managera.
+
+%package sql
+Summary:	Prelude-manager shared sql libraries
+Summary(pl):	Biblioteki dzielone sql prelude-managera
+Group:		Libraries
+Requires:	%{name}-libs = %{version}-%{release}
+Requires:	libpreludedb >= 0.9.4.1
+
+%description sql
+Prelude-manager shared sql libraries.
+
+%description sql -l pl
+Biblioteki dzielone sql prelude-managera.
+
+%package xml
+Summary:	Prelude-manager shared xml libraries
+Summary(pl):	Biblioteki dzielone xml prelude-managera
+Group:		Libraries
+Requires:	%{name}-libs = %{version}-%{release}
+
+%description xml
+Prelude-manager shared xml libraries.
+
+%description xml -l pl
+Biblioteki dzielone xml prelude-managera.
+
+%package static
+Summary:	Static prelude-manager library
+Summary(pl):	Statyczna biblioteka prelude-managera
+Group:		Development/Libraries
+Requires:	%{name}-devel = %{version}-%{release}
+
+%description static
+Static prelude-manager library.
+
+%description static -l pl
+Statyczna biblioteka prelude-managera.
+
 %package devel
 Summary:	Header files for prelude-manager
 Summary(pl):	Pliki nag³ówkowe dla prelude-managera
@@ -48,7 +100,12 @@ Pliki nag³ówkowe dla prelude-managera.
 %setup -q
 
 %build
-%configure
+%configure \
+	--enable-shared \
+	--enable-static \
+	--with-libwrap%{!?with_tcp_wrappers:=no} \
+	--with-libpreludedb%{!?with_sql:=no} \
+	--with-xml%{!?with_xml:=no}
 %{__make}
 
 %install
@@ -70,33 +127,15 @@ rm -rf $RPM_BUILD_ROOT
 
 %post
 /sbin/chkconfig --add prelude-manager
-if [ "$1" = 1 ]; then
-	echo "Run \"prelude-adduser add prelude-manager --uid 0 --gid 0\" before"
-	echo "starting Prelude Manager for the first time."
+if [ "$1" = "1" ]; then
+%banner -e %{name} <<EOF
+Run "prelude-adduser add prelude-manager --uid 0 --gid 0" before
+starting Prelude Manager for the first time.
+
+EOF
 fi
 %service prelude-manager restart "Prelude Manager"
 
-# TODO:
-#
-# add this to libpreludedb (as an init script or docs):
-#
-# For PostgreSQL database you have to create a new database:
-#
-# 	$ PGPASSWORD=your_password psql -U postgres
-# 	postgres=# CREATE database prelude;
-# 	postgres=# CREATE USER prelude WITH ENCRYPTED PASSWORD 'prelude' NOCREATEDB NOCREATEUSER;
-#	^D
-#	$ PGPASSWORD=prelude psql -U prelude -d prelude < /usr/share/libpreludedb/classic/pgsql.sql
-#
-# Updating database schema:
-#
-#	$ PGPASSWORD=prelude psql -U prelude -d prelude < /usr/share/libpreludedb/classic/pgsql-update-14-1.sql
-#
-# add this to prelude-manager (as an init script or docs):
-#
-# 	 prelude-adduser add prelude-manager --uid 0 --gid 0
-#
-
 %preun
 if [ "$1" = "0" ]; then
 	if [ -f /var/lock/subsys/prelude-manager ]; then
@@ -113,15 +152,34 @@ fi
 %attr(754,root,root) /etc/rc.d/init.d/%{name}
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
 %attr(755,root,root) %{_bindir}/%{name}
-%dir %{_libdir}/%{name}
-%dir %{_libdir}/%{name}/*
-%attr(755,root,root) %{_libdir}/%{name}/*/*.so
 %dir %{_sysconfdir}/prelude/profile/%{name}
-%{_libdir}/%{name}/*/*.la
 %{_datadir}/%{name}
 %{_var}/run/%{name}
 %{_var}/spool/%{name}
-%{_var}/spool/prelude/%{name}
+%{_var}/spool/prelude
+
+%files libs
+%defattr(644,root,root,755)
+%dir %{_libdir}/%{name}
+%dir %{_libdir}/%{name}/*
+%attr(755,root,root) %{_libdir}/%{name}/*/*.so
+%{_libdir}/%{name}/*/*.la
+%exclude %{_libdir}/%{name}/reports/db.*
+%exclude %{_libdir}/%{name}/reports/xmlmod.*
+
+%files xml
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/reports/xmlmod.so
+%{_libdir}/%{name}/reports/xmlmod.la
+
+%files sql
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/reports/db.so
+%{_libdir}/%{name}/reports/db.la
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/%{name}/*/*.a
 
 %files devel
 %defattr(644,root,root,755)
--- prelude-manager.sysconfig	2006-12-29 18:25:04.000000000 +0000
+++ prelude-manager.sysconfig	2006-12-29 18:27:21.000000000 +0000
@@ -0,0 +1,5 @@
+# Prelude Manager startup configuration file
+
+# Try to define nice-level for running Prelude Manager
+SERVICE_RUN_NICE_LEVEL="+5"
+
_______________________________________________
pld-devel-pl mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl

Odpowiedź listem elektroniczym