]> git.pld-linux.org Git - packages/pure-ftpd.git/blob - pure-ftpd.spec
- new ftpd-caps_p.patch (by Jedi/Sector One)
[packages/pure-ftpd.git] / pure-ftpd.spec
1 #
2 # Conditional build:
3 # _without_mysql - disable MySQL auth but disables PAM auth
4 # _without_ldap  - disable LDAP auth
5 # _without_pgsql - disable PostgreSQL support
6 # _without_tls   - support SSL/TLS
7 #
8 Summary:        Small, fast and secure FTP server
9 Summary(pl):    Ma³y, szybki i bezpieczny serwer FTP
10 Name:           pure-ftpd
11 Version:        1.0.16c
12 Release:        3
13 Epoch:          0
14 License:        BSD-like
15 Group:          Daemons
16 Source0:        ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/%{name}-%{version}.tar.bz2
17 # Source0-md5:  422ef27622882ffa773616ffaa20e06c
18 Source1:        %{name}.pamd
19 Source2:        %{name}.init
20 Source3:        ftpusers.tar.bz2
21 # Source3-md5:  76c80b6ec9f4d079a1e27316edddbe16
22 Patch0:         %{name}-caps_p.patch
23 URL:            http://www.pureftpd.org/
24 BuildRequires:  libcap-devel
25 %{!?_without_mysql:BuildRequires:       mysql-devel}
26 %{!?_without_ldap:BuildRequires:        openldap-devel}
27 %{!?_without_tls:BuildRequires:         openssl-devel}
28 %{!?_without_pgsql:BuildRequires:       postgresql-devel}
29 BuildRequires:  pam-devel
30 Prereq:         rc-scripts
31 Requires(post,preun):/sbin/chkconfig
32 Requires:       pam >= 0.77.3
33 Provides:       ftpserver
34 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
35 Obsoletes:      ftpserver
36 Obsoletes:      anonftp
37 Obsoletes:      bftpd
38 Obsoletes:      ftpd-BSD
39 Obsoletes:      heimdal-ftpd
40 Obsoletes:      linux-ftpd
41 Obsoletes:      muddleftpd
42 Obsoletes:      proftpd
43 Obsoletes:      proftpd-common
44 Obsoletes:      proftpd-inetd
45 Obsoletes:      proftpd-standalone
46 Obsoletes:      troll-ftpd
47 Obsoletes:      vsftpd
48 Obsoletes:      wu-ftpd
49 Conflicts:      man-pages < 1.51
50
51 %define         _sysconfdir     /etc/ftpd
52
53 %description
54 Pure-FTPd is a fast, production-quality, standard-comformant FTP
55 server, based upon Troll-FTPd. Unlike other popular FTP servers, it
56 has no known security flaw, it is really trivial to set up and it is
57 especially designed for modern Linux kernels (setfsuid, sendfile,
58 capabilities) . Features include PAM support, IPv6, chroot()ed home
59 directories, virtual domains, built-in LS, anti-warez system, bounded
60 ports for passive downloads...
61
62 %description -l pl
63 Pure-FTPD to szybki, wysokiej jako¶ci, odpowiadaj±cy standardom serwer
64 FTP bazuj±cy na Troll-FTPd. W przeciwieñstwie do innych serwerów FTP
65 nie ma znanych luk w bezpieczeñstwie. Ponadto jest trywialny w
66 konfiguracji i specjalnie zaprojektowany dla nowych kerneli Linuksa
67 (setfsuid, sendfile, capabilibies). Mo¿liwo¶ci to wsparcie dla PAMa,
68 IPv6, chroot()owanych katalogów domowych, virtualne domeny, wbudowany
69 LS, system anty-warezowy, ograniczanie portów dla pasywnych
70 po³±czeñ...
71
72 %prep
73 %setup -q
74 %patch0 -p1
75
76 %build
77 %configure \
78         --with-altlog \
79         --with-puredb \
80         --with-extauth \
81         --with-pam \
82         --with-cookie \
83         --with-throttling \
84         --with-ratios \
85         --with-quotas \
86         --with-ftpwho \
87         --with-largefile \
88         --with-uploadscript \
89         --with-virtualhosts \
90         --with-virtualchroot \
91         --with-diraliases \
92         --with-peruserlimits \
93         %{!?_without_mysql:CPPFLAGS="-I%{_includedir}/mysql" --with-mysql} \
94         %{!?_without_pgsql:--with-pgsql} \
95         %{!?_without_ldap:--with-ldap} \
96         %{!?_without_tls: --with-tls} \
97         --with-language=english \
98         --with-privsep
99
100 echo '#define   TLS_CERTIFICATE_PATH    "%{_sysconfdir}/ssl/pure-ftpd.pem"' >> config.h
101
102 %install
103 rm -rf $RPM_BUILD_ROOT
104 install -d $RPM_BUILD_ROOT/etc/{pam.d,sysconfig,security,rc.d/init.d} \
105         $RPM_BUILD_ROOT{%{_sysconfdir}/{vhosts,ssl},/home/services/ftp/Incoming}
106
107 %{__make} install \
108         DESTDIR=$RPM_BUILD_ROOT
109
110 install %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/%{name}
111 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
112
113 %{!?_without_ldap:install pureftpd-ldap.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-ldap.conf}
114 %{!?_without_mysql:install pureftpd-mysql.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-mysql.conf}
115 %{!?_without_pgsql:install pureftpd-pgsql.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-pgsql.conf}
116 install configuration-file/pure-ftpd.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd.conf
117 install configuration-file/pure-config.pl $RPM_BUILD_ROOT%{_sbindir}
118 touch $RPM_BUILD_ROOT/etc/security/blacklist.ftp
119
120 ln -s vhosts $RPM_BUILD_ROOT%{_sysconfdir}/pure-ftpd
121
122 bzip2 -dc %{SOURCE3} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
123
124 %clean
125 rm -rf $RPM_BUILD_ROOT
126
127 %post
128 /sbin/chkconfig --add %{name}
129 if [ -f %{_var}/lock/subsys/%{name} ]; then
130         /etc/rc.d/init.d/%{name} restart 1>&2
131 else
132         echo "Run \"/etc/rc.d/init.d/%{name} start\" to start PureFTPD daemon."
133 fi
134
135 %preun
136 if [ "$1" = "0" ]; then
137         if [ -f %{_var}/lock/subsys/%{name} ]; then
138                 /etc/rc.d/init.d/%{name} stop 1>&2
139         fi
140         /sbin/chkconfig --del %{name}
141 fi
142
143 %files
144 %defattr(644,root,root,755)
145 %doc README* AUTHORS ChangeLog HISTORY NEWS THANKS pure*.conf
146 %attr(755,root,root) %{_bindir}/*
147 %attr(755,root,root) %{_sbindir}/*
148 %attr(754,root,root) /etc/rc.d/init.d/%{name}
149 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
150 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/security/blacklist.ftp
151 %{!?_without_ldap:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-ldap.conf}
152 %{!?_without_mysql:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-mysql.conf}
153 %{!?_without_pgsql:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-pgsql.conf}
154 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd.conf
155 %attr(710,root,ftp) %dir %{_sysconfdir}
156 %dir %{_sysconfdir}/vhosts
157 %dir %{_sysconfdir}/pure-ftpd
158 %{!?_without_tls:%attr(750,root,root) %dir %{_sysconfdir}/ssl}
159 %dir /home/services/ftp
160 %attr(775,root,ftp) %dir /home/services/ftp/Incoming
161 %{_mandir}/man?/*
162 %lang(ja) %{_mandir}/ja/man5/ftpusers*
163 %lang(pl) %{_mandir}/pl/man5/ftpusers*
164 %lang(pt_BR) %{_mandir}/pt_BR/man5/ftpusers*
165 %lang(ru) %{_mandir}/ru/man5/ftpusers*
This page took 0.057644 seconds and 4 git commands to generate.