SPECS: pgpool.spec - rc-script added - sysconfig file added - pam support a...

sardzent sardzent at pld-linux.org
Fri Jun 13 23:17:37 CEST 2008


Author: sardzent                     Date: Fri Jun 13 21:17:37 2008 GMT
Module: SPECS                         Tag: HEAD
---- Log message:
- rc-script added
- sysconfig file added
- pam support added
- 240/240 uid/gid
- doesn't chown to user yet
- monitrc file added
- logrotate file missing

---- Files affected:
SPECS:
   pgpool.spec (1.8 -> 1.9) 

---- Diffs:

================================================================
Index: SPECS/pgpool.spec
diff -u SPECS/pgpool.spec:1.8 SPECS/pgpool.spec:1.9
--- SPECS/pgpool.spec:1.8	Mon Nov 26 22:24:45 2007
+++ SPECS/pgpool.spec	Fri Jun 13 23:17:31 2008
@@ -2,26 +2,60 @@
 #
 # TODO
 #	- I think it shuld be daemon so rc-scripts support is needed 
-#	(user pgpool?)
+#	(user pgpool?) init script must be fixed
+#
+%bcond_without	pam	# don't build with pam support
 #
 Summary:	Pgpool - a connection pooling/replication server for PostgreSQL
 Summary(pl.UTF-8):	Pgpool - serwer puli połączeń i replikacji dla PostgreSQL-a
 Name:		pgpool
 Version:	3.4.1
-Release:	1
+Release:	0.1
 License:	BSD
 Group:		Applications/Databases
 Source0:	http://pgfoundry.org/frs/download.php/1446/%{name}-%{version}.tar.gz
 # Source0-md5:	1f876237923be8095ed6fb30885a416a
+Source1:	%{name}.init
+Source2:	%{name}.monitrc
+Source3:	%{name}.sysconfig
 URL:		http://pgfoundry.org/projects/pgpool/
+%{?with_pam:BuildRequires: pam-devel}
+Requires(post,preun):	/sbin/chkconfig
+Requires(postun):	/usr/sbin/groupdel
+Requires(postun):	/usr/sbin/userdel
+Requires(pre):	/bin/id
+Requires(pre):	/usr/bin/getgid
+Requires(pre):	/usr/sbin/groupadd
+Requires(pre):	/usr/sbin/useradd
+%{?with_pam:Requires: pam}
+Requires:	rc-scripts >= 0.2.0
+Provides:	group(pgpool)
+Provides:	user(pgpool)
+Provides:	pgpool
 Buildroot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
 Pgpool is a connection pooling/replication server for PostgreSQL.
+Pgpool runs between PostgreSQL's clients(front ends) and servers
+(backends). A PostgreSQL client can connect to pgpool as if it
+were a standard PostgreSQL server.
 
 %description -l pl.UTF-8
 Pgpool to serwer puli połączeń i replikacji dla PostgreSQL-a.
 
+%package -n monit-rc-pgpool
+Summary:	pgpool support for monit
+Summary(pl.UTF-8):	wsparcie pgpool dla monit
+Group:		Applications/System
+Requires:	%{name} = %{version}-%{release}
+Requires:	monit
+
+%description -n monit-rc-pgpool
+monitrc file for pgpool monitoring.
+
+%description -n monit-rc-pgpool -l pl.UTF-8
+plik monitrc do monitorowania pgpool.
+
 %prep
 %setup -q
 %build
@@ -30,29 +64,70 @@
 
 %configure \
 	--bindir %{_bindir} \
+	%{?with_pam:--with-pam} \
 	--sysconfdir=%{_sysconfdir}
 
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
+
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rc.d/init.d,sysconfig} \
+	$RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,monit,pam.d} \
+        $RPM_BUILD_ROOT%{_sbindir} 
+
 %{__make} install \
 	DESTDIR=$RPM_BUILD_ROOT
 install pgpool $RPM_BUILD_ROOT%{_bindir}/
 install pgpool.conf.sample   $RPM_BUILD_ROOT%{_sysconfdir}/pgpool.conf
 install pool_hba.conf.sample $RPM_BUILD_ROOT%{_sysconfdir}/pool_hba.conf
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/monit/%{name}.monitrc
+install %{SOURCE3} $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/%{name}
+%if %{with pam}
+install pgpool.pam $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/pgpool
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%pre
+%groupadd -r -g 240 %{name}
+%useradd -r -u 240 -d /usr/share/empty -s /bin/false -c "Pgpool User" -g %{name} %{name}
+
+%post
+/sbin/chkconfig --add %{name}
+%service %{name} restart
+
+%preun
+if [ "$1" = "0" ]; then
+	%service %{name} stop
+	/sbin/chkconfig --del %{name}
+fi
+
+%postun
+if [ "$1" = "0" ]; then
+	%userremove %{name}
+	%groupremove %{name}
+fi
+
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS COPYING ChangeLog NEWS README TODO
+%doc AUTHORS COPYING ChangeLog NEWS README TODO pgpool.conf.sample pool_hba.conf.sample
 %lang(ja) %doc README.euc_jp
 %attr(755,root,root) %{_bindir}/pgpool
+%attr(754,root,root) /etc/rc.d/init.d/pgpool
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pgpool.conf
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pool_hba.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sysconfig/%{name}
 %{_mandir}/man8/pgpool.8*
+%if %{with pam}
+%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/%{name}
+%endif
+
+%files -n monit-rc-pgpool
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/monit/%{name}.monitrc
 
 %define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
 %changelog
@@ -60,6 +135,15 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.9  2008-06-13 21:17:31  sardzent
+- rc-script added
+- sysconfig file added
+- pam support added
+- 240/240 uid/gid
+- doesn't chown to user yet
+- monitrc file added
+- logrotate file missing
+
 Revision 1.8  2007-11-26 21:24:45  radek
 - version 3.4.1; WARNING: adjust pool_hba.conf to your needs
 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SPECS/pgpool.spec?r1=1.8&r2=1.9&f=u



More information about the pld-cvs-commit mailing list