SPECS (DEVEL): proftpd.spec - separate modules into subpackages

glen glen at pld-linux.org
Sat Apr 29 14:54:27 CEST 2006


Author: glen                         Date: Sat Apr 29 12:54:27 2006 GMT
Module: SPECS                         Tag: DEVEL
---- Log message:
- separate modules into subpackages

---- Files affected:
SPECS:
   proftpd.spec (1.211.2.12 -> 1.211.2.13) 

---- Diffs:

================================================================
Index: SPECS/proftpd.spec
diff -u SPECS/proftpd.spec:1.211.2.12 SPECS/proftpd.spec:1.211.2.13
--- SPECS/proftpd.spec:1.211.2.12	Sat Apr 29 13:44:19 2006
+++ SPECS/proftpd.spec	Sat Apr 29 14:54:22 2006
@@ -21,7 +21,7 @@
 Summary(zh_CN):	Ň×ÓÚšÜŔíľÄ,°˛ČŤľÄ FTP ˇţÎńĆ÷
 Name:		proftpd
 Version:	1.3.0
-Release:	0.4
+Release:	0.14
 Epoch:		1
 License:	GPL v2+
 Group:		Daemons
@@ -35,6 +35,7 @@
 Source7:	ftpusers.tar.bz2
 # Source7-md5:	76c80b6ec9f4d079a1e27316edddbe16
 Source8:	http://www.castaglia.org/proftpd/modules/%{name}-mod-shaper-0.5.6.tar.gz
+Source9:	%{name}-mod_pam.conf
 # Source8-md5:	a81c3ed2d45f7c938416a970fd559703
 Patch0:		%{name}-umode_t.patch
 Patch1:		%{name}-glibc.patch
@@ -95,7 +96,6 @@
 Group:		Daemons
 Requires(post):	awk
 Requires(post):	fileutils
-%{?with_pam:Requires:	pam >= 0.79.0}
 Obsoletes:	proftpd < 0:1.2.2rc1-3
 
 %description common
@@ -156,6 +156,7 @@
 Obsoletes:	vsftpd
 Obsoletes:	wu-ftpd
 Conflicts:	man-pages < 1.51
+Conflicts:	rpm < 4.4.2-0.2
 
 %description inetd
 ProFTPD configs for running from inetd.
@@ -190,6 +191,7 @@
 Obsoletes:	vsftpd
 Obsoletes:	wu-ftpd
 Conflicts:	man-pages < 1.51
+Conflicts:	rpm < 4.4.2-0.2
 
 %description standalone
 ProFTPD configs for running as a standalone daemon.
@@ -198,6 +200,123 @@
 Pliki konfiguracyjne ProFTPD do startowania demona w trybie
 standalone.
 
+%package mod_auth_pam
+Summary:	ProFTPD PAM auth module
+Group:		Daemons
+Requires:	%{name}-common = %{epoch}:%{version}-%{release}
+Requires:	pam >= 0.79.0
+
+%description mod_auth_pam
+PAM authentication method for ProFTPD.
+
+%package mod_ldap
+Summary:	ProFTPD OpenLDAP module
+Group:		Daemons
+Requires:	%{name}-common = %{epoch}:%{version}-%{release}
+
+%description mod_ldap
+LDAP authentication support.
+
+mod_ldap provides LDAP authentication support for ProFTPD. It supports many
+features useful in "toaster" environments such as default UID/GID and
+autocreation/autogeneration of home directories.
+
+%package mod_quotatab
+Summary:	ProFTPD quotatab module
+Group:		Daemons
+Requires:	%{name}-common = %{epoch}:%{version}-%{release}
+
+%description mod_quotatab
+
+%package mod_quotatab_file
+Summary:	ProFTPD quotatab file module
+Group:		Daemons
+Requires:	%{name}-common = %{epoch}:%{version}-%{release}
+
+%description mod_quotatab_file
+
+%package mod_quotatab_ldap
+Summary:	ProFTPD quotatab ldap module
+Group:		Daemons
+Requires:	%{name}-common = %{epoch}:%{version}-%{release}
+
+%description mod_quotatab_ldap
+
+%package mod_quotatab_sql
+Summary:	ProFTPD quotatab sql module
+Group:		Daemons
+Requires:	%{name}-common = %{epoch}:%{version}-%{release}
+
+%description mod_quotatab_sql
+
+%package mod_ratio
+Summary:	ProFTPD quotatab ratio module
+Group:		Daemons
+Requires:	%{name}-common = %{epoch}:%{version}-%{release}
+
+%description mod_ratio
+
+%package mod_readme
+Summary:	ProFTPD readme module
+Group:		Daemons
+Requires:	%{name}-common = %{epoch}:%{version}-%{release}
+
+%description mod_readme
+"README" file support.
+
+%package mod_shaper
+Summary:	ProFTPD shaper module
+Group:		Daemons
+Requires:	%{name}-common = %{epoch}:%{version}-%{release}
+
+%description mod_shaper
+
+%package mod_sql
+Summary:	ProFTPD SQL support module
+Group:		Daemons
+Requires:	%{name}-common = %{epoch}:%{version}-%{release}
+
+%description mod_sql
+This module provides the necessary support for SQL based authentication,
+logging and other features as required.
+
+%package mod_sql_mysql
+Summary:	ProFTPD sql mysql module
+Group:		Daemons
+Requires:	%{name}-common = %{epoch}:%{version}-%{release}
+
+%description mod_sql_mysql
+
+%package mod_sql_postgres
+Summary:	ProFTPD sql postgres module
+Group:		Daemons
+Requires:	%{name}-common = %{epoch}:%{version}-%{release}
+
+%description mod_sql_postgres
+
+%package mod_tls
+Summary:	ProFTPD TLS support
+Group:		Daemons
+Requires:	%{name}-common = %{epoch}:%{version}-%{release}
+
+%description mod_tls
+
+%package mod_wrap
+Summary:	ProFTPD Interface to libwrap
+Group:		Daemons
+Requires:	%{name}-common = %{epoch}:%{version}-%{release}
+Requires:	libwrap
+
+%description mod_wrap
+It enables the daemon to use the common tcpwrappers access control library
+while in standalone mode, and in a very configurable manner.
+
+Many programs will automatically add entries in the common allow/deny files,
+and use of this module will allow a ProFTPD daemon running in standalone mode
+to adapt as these entries are added. The portsentry program does this, for
+example: when illegal access is attempted, it will add hosts to the
+/etc/hosts.deny file.
+
 %prep
 %setup -q -a 8 -n %{name}-%{version}%{?_rc}
 %patch0 -p1
@@ -213,9 +332,6 @@
 %build
 cp -f /usr/share/automake/config.sub .
 %{__autoconf}
-#RUN_DIR=%{_localstatedir} ; export RUN_DIR
-CFLAGS="%{rpmcflags} %{?with_mysql:-I%{_includedir}/mysql}"
-CPPFLAGS="%{rpmcflags} %{?with_mysql:-I%{_includedir}/mysql}"
 
 MODULES="
 mod_ratio
@@ -236,6 +352,7 @@
 
 MODARG=$(echo $MODULES | tr ' ' '\n' | sort -u | xargs | tr ' ' ':')
 %configure \
+	%{?with_mysql:--with-includes=%{_includedir}/mysql} \
 	--enable-autoshadow \
 	--enable-ctrls \
 	--enable-dso \
@@ -250,7 +367,8 @@
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT/etc/{pam.d,security,sysconfig/rc-inetd,rc.d/init.d} \
-	$RPM_BUILD_ROOT/var/{lib/ftp/pub/Incoming,log}
+	$RPM_BUILD_ROOT/var/{lib/ftp/pub/Incoming,log} \
+	$RPM_BUILD_ROOT%{_sysconfdir}/conf.d
 
 %{__make} install \
 	DESTDIR=$RPM_BUILD_ROOT \
@@ -260,6 +378,27 @@
 rm $RPM_BUILD_ROOT%{_sbindir}/in.proftpd
 
 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}
+install %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_auth_pam.conf
+#install %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_ldap.conf
+#install %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_sql_mysql.conf
+#install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_tls.conf
+#install %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_sql_postgres.conf
+#install %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_wrap.conf
+echo 'LoadModule        mod_ldap.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_ldap.conf
+echo 'LoadModule        mod_quotatab.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_quotatab.conf
+echo 'LoadModule        mod_quotatab_file.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_quotatab_file.conf
+echo 'LoadModule        mod_quotatab_ldap.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_quotatab_ldap.conf
+echo 'LoadModule        mod_quotatab_sql.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_quotatab_sql.conf
+echo 'LoadModule        mod_ratio.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_ratio.conf
+echo 'LoadModule        mod_readme.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_readme.conf
+echo 'LoadModule        mod_shaper.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_shaper.conf
+echo 'LoadModule        mod_sql.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_sql.conf
+echo 'LoadModule        mod_sql_mysql.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_sql_mysql.conf
+echo 'LoadModule        mod_sql_postgres.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_sql_postgres.conf
+echo 'LoadModule        mod_tls.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_tls.conf
+echo 'LoadModule        mod_wrap.c' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/mod_wrap.conf
+
+
 %{?with_pam:install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/ftp}
 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/ftpd
 install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/proftpd
@@ -293,7 +432,7 @@
 	cp -f %{_sysconfdir}/ftpusers.default %{_sysconfdir}/ftpusers
 fi
 
-%post inetd
+%posttrans inetd
 if grep -iEqs "^ServerType[[:space:]]+standalone" %{_sysconfdir}/proftpd.conf ; then
 	cp -f %{_sysconfdir}/proftpd.conf{,.rpmorig}
 	sed -i -e 's/^ServerType[[:space:]]\+standalone/ServerType			inetd/g' %{_sysconfdir}/proftpd.conf
@@ -305,7 +444,7 @@
 	%service -q rc-inetd reload
 fi
 
-%post standalone
+%posttrans standalone
 if grep -iEqs "^ServerType[[:space:]]+inetd" %{_sysconfdir}/proftpd.conf ; then
 	cp -f %{_sysconfdir}/proftpd.conf{,.rpmorig}
 	sed -i -e 's/^ServerType[[:space:]]\+inetd/ServerType			standalone/g' %{_sysconfdir}/proftpd.conf
@@ -319,6 +458,49 @@
 	/sbin/chkconfig --del proftpd
 fi
 
+# macro called at module post scriptlet
+%define	module_post \
+if [ "$1" = "1" ]; then \
+	if grep -iEqs "^ServerType[[:space:]]+inetd" %{_sysconfdir}/proftpd.conf; then \
+		%service -q rc-inetd reload \
+	elif grep -iEqs "^ServerType[[:space:]]+standalone" %{_sysconfdir}/proftpd.conf; then \
+		%service -q proftpd restart \
+	fi \
+fi
+
+# macro called at module postun scriptlet
+%define	module_postun \
+if [ "$1" = "0" ]; then \
+	if grep -iEqs "^ServerType[[:space:]]+inetd" %{_sysconfdir}/proftpd.conf; then \
+		%service -q rc-inetd reload \
+	elif grep -iEqs "^ServerType[[:space:]]+standalone" %{_sysconfdir}/proftpd.conf; then \
+		%service -q proftpd restart \
+	fi \
+fi
+
+# it's sooo annoying to write them
+%define	module_scripts() \
+%post %1 \
+%module_post \
+\
+%postun %1 \
+%module_postun
+
+%module_scripts mod_auth_pam
+%module_scripts mod_ldap
+%module_scripts mod_quotatab
+%module_scripts mod_quotatab_file
+%module_scripts mod_quotatab_ldap
+%module_scripts mod_quotatab_sql
+%module_scripts mod_ratio
+%module_scripts mod_readme
+%module_scripts mod_shaper
+%module_scripts mod_sql
+%module_scripts mod_sql_mysql
+%module_scripts mod_sql_postgres
+%module_scripts mod_tls
+%module_scripts mod_wrap
+
 %triggerpostun inetd -- %{name}-inetd <= 1:1.2.10
 echo "Changing deprecated config options"
 cp -f %{_sysconfdir}/proftpd.conf{,.rpmorig}
@@ -356,22 +538,19 @@
 %files common
 %defattr(644,root,root,755)
 %doc sample-configurations/*.conf CREDITS ChangeLog NEWS RELEASE_NOTES
-%doc README README.LDAP README.PAM README.capabilities README.classes README.controls README.IPv6
+%doc README README.capabilities README.classes README.controls README.IPv6
 %doc README.modules
 %doc doc/*html
-%attr(750,root,ftp) %dir %{_sysconfdir}
+%dir %attr(750,root,ftp) %dir %{_sysconfdir}
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/ftpusers
 %attr(640,root,root) %{_sysconfdir}/ftpusers.default
+%dir %attr(750,root,root) %{_sysconfdir}/conf.d
 %attr(640,root,root) %ghost /var/log/*
-%{?with_pam:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*}
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.ftp
 %attr(755,root,root) %{_bindir}/*
 %attr(755,root,root) %{_sbindir}/*
 %dir %{_libdir}/%{name}
-%attr(755,root,root) %{_libdir}/%{name}/*.so
-# works without .la. so don't include it?
-#%{_libdir}/%{name}/*.la
 %dir /var/run/proftpd
 %{_mandir}/man[18]/*
 %dir /var/lib/ftp
@@ -397,12 +576,88 @@
 %lang(pt_BR) %{_mandir}/pt_BR/man5/ftpusers*
 %lang(ru) %{_mandir}/ru/man5/ftpusers*
 
+%files mod_auth_pam
+%defattr(644,root,root,755)
+%doc README.PAM
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_auth_pam.conf
+%attr(755,root,root) %{_libexecdir}/mod_auth_pam.so
+
+%files mod_ldap
+%defattr(644,root,root,755)
+%doc README.LDAP
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_ldap.conf
+%attr(755,root,root) %{_libexecdir}/mod_ldap.so
+
+%files mod_quotatab
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab.conf
+%attr(755,root,root) %{_libexecdir}/mod_quotatab.so
+
+%files mod_quotatab_file
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab_file.conf
+%attr(755,root,root) %{_libexecdir}/mod_quotatab_file.so
+
+%files mod_quotatab_ldap
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab_ldap.conf
+%attr(755,root,root) %{_libexecdir}/mod_quotatab_ldap.so
+
+%files mod_quotatab_sql
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_quotatab_sql.conf
+%attr(755,root,root) %{_libexecdir}/mod_quotatab_sql.so
+
+%files mod_ratio
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_ratio.conf
+%attr(755,root,root) %{_libexecdir}/mod_ratio.so
+
+%files mod_readme
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_readme.conf
+%attr(755,root,root) %{_libexecdir}/mod_readme.so
+
+%files mod_shaper
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_shaper.conf
+%attr(755,root,root) %{_libexecdir}/mod_shaper.so
+
+%files mod_sql
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_sql.conf
+%attr(755,root,root) %{_libexecdir}/mod_sql.so
+
+%files mod_sql_mysql
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_sql_mysql.conf
+%attr(755,root,root) %{_libexecdir}/mod_sql_mysql.so
+
+%files mod_sql_postgres
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_sql_postgres.conf
+%attr(755,root,root) %{_libexecdir}/mod_sql_postgres.so
+
+%files mod_tls
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_tls.conf
+%attr(755,root,root) %{_libexecdir}/mod_tls.so
+
+%files mod_wrap
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/mod_wrap.conf
+%attr(755,root,root) %{_libexecdir}/mod_wrap.so
+
 %define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
 %changelog
 * %{date} PLD Team <feedback at pld-linux.org>
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.211.2.13  2006/04/29 12:54:22  glen
+- separate modules into subpackages
+
 Revision 1.211.2.12  2006/04/29 11:44:19  glen
 - define _libexecdir for dir of dso modules
 
@@ -440,7 +695,7 @@
 Revision 1.211.2.1  2005/08/10 21:46:00  glen
 - just testing DSO in 1.3.0. read README.DSO in sources
 - note rc2 doesn't compile, while rc1 does.
-- had to update sharper to 0.5.6 for 1.3.0
+- had to update shaper to 0.5.6 for 1.3.0
 
 Revision 1.211  2005/08/10 20:46:43  glen
 - no main package is built, moved %descriptions to -common package
@@ -490,7 +745,7 @@
 - minor cosmetics
 
 Revision 1.198  2005/03/17 19:53:34  glen
-- mod_sharper support by Justas Vilimas <justas.vilimas/at/delfi.lt>
+- mod_shaper support by Justas Vilimas <justas.vilimas/at/delfi.lt>
 
 Revision 1.197  2005/02/12 22:50:00  arekm
 - rel ++
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SPECS/proftpd.spec?r1=1.211.2.12&r2=1.211.2.13&f=u



More information about the pld-cvs-commit mailing list