]> git.pld-linux.org Git - packages/pure-ftpd.git/blame_incremental - pure-ftpd.spec
Up to 1.0.51
[packages/pure-ftpd.git] / pure-ftpd.spec
... / ...
CommitLineData
1#
2# Conditional build:
3%bcond_with extra # with additional, maybe useful, but unmaintained features
4%bcond_without ldap # disable LDAP auth
5%bcond_without longusername # with username length = 128 (default 32)
6%bcond_without mysql # disable MySQL auth but disables PAM auth
7%bcond_without pgsql # disable PostgreSQL support
8%bcond_without puredb # disable pure-db support
9%bcond_without tls # disable SSL/TLS support
10%bcond_without cap # disable capabilities
11
12%define rel 11
13Summary: Small, fast and secure FTP server
14Summary(pl.UTF-8): Mały, szybki i bezpieczny serwer FTP
15Name: pure-ftpd
16Version: 1.0.51
17Release: %{rel}%{?with_extra:extra}
18License: BSD-like%{?with_extra:, GLPv2 for pure-config due to libcfg+ license}
19Group: Daemons
20Source0: http://download.pureftpd.org/pub/pure-ftpd/releases/%{name}-%{version}.tar.bz2
21# Source0-md5: 0e2f519fbc3a48143fb3a0409a09d863
22Source1: %{name}.pamd
23Source2: %{name}.init
24Source3: %{name}.sysconfig
25Source4: ftpusers.tar.bz2
26# Source4-md5: 76c80b6ec9f4d079a1e27316edddbe16
27Source5: http://twittner.host.sk/files/pure-config/pure-config-20041201.tar.gz
28# Source5-md5: 3f2ff6b00b5c38ee11ce588ee5af6cf6
29Patch0: %{name}-config.patch
30
31Patch2: %{name}-pure-pw_passwd.patch
32Patch3: %{name}-mysql_config.patch
33# from Fedora
34Patch4: 0003-Allow-having-both-options-and-config-file-on-command.patch
35Patch5: paths.patch
36Patch6: %{name}-apparmor.patch
37Patch7: %{name}-mysql-utf8.patch
38Patch8: caps.patch
39
40Patch11: keep-spaces.patch
41URL: http://www.pureftpd.org/
42%{?with_extra:BuildRequires: autoconf}
43%{?with_extra:BuildRequires: automake}
44BuildRequires: libapparmor-devel
45%{?with_cap:BuildRequires: libcap-devel}
46%{?with_extra:BuildRequires: libcfg+-devel >= 0.6.2}
47BuildRequires: libsodium-devel
48%{?with_mysql:BuildRequires: mysql-devel}
49%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
50%{?with_tls:BuildRequires: openssl-devel}
51BuildRequires: pam-devel
52%{?with_pgsql:BuildRequires: postgresql-devel}
53BuildRequires: rpmbuild(macros) >= 1.304
54Requires(post): /usr/bin/openssl
55Requires(post,preun): /sbin/chkconfig
56Requires(postun): /usr/sbin/groupdel
57Requires(postun): /usr/sbin/userdel
58Requires(pre): /bin/id
59Requires(pre): /usr/bin/getgid
60Requires(pre): /usr/sbin/groupadd
61Requires(pre): /usr/sbin/useradd
62Requires: pam >= 0.79.0
63%{!?with_extra:Requires: perl-base}
64Requires: rc-scripts
65Provides: ftpserver
66Provides: user(ftpauth)
67Provides: group(ftpauth)
68Provides: user(ftpcert)
69Provides: group(ftpcert)
70Conflicts: man-pages < 1.51
71BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
72
73%define _sysconfdir /etc/ftpd
74%define _ftpdir /home/services/ftp
75%define schemadir /usr/share/openldap/schema
76
77%description
78Pure-FTPd is a fast, production-quality, standard-comformant FTP
79server, based upon Troll-FTPd. Unlike other popular FTP servers, it
80has no known security flaw, it is really trivial to set up and it is
81especially designed for modern Linux kernels (setfsuid, sendfile,
82capabilities) . Features include PAM support, IPv6, chroot()ed home
83directories, virtual domains, built-in LS, anti-warez system, bounded
84ports for passive downloads...
85
86%description -l pl.UTF-8
87Pure-FTPD to szybki, wysokiej jakości, odpowiadający standardom serwer
88FTP bazujący na Troll-FTPd. W przeciwieństwie do innych serwerów FTP
89nie ma znanych luk w bezpieczeństwie. Ponadto jest trywialny w
90konfiguracji i specjalnie zaprojektowany dla nowych kerneli Linuksa
91(setfsuid, sendfile, capabilibies). Możliwości to wsparcie dla PAM-a,
92IPv6, chroot()owanych katalogów domowych, virtualne domeny, wbudowany
93LS, system anty-warezowy, ograniczanie portów dla pasywnych
94połączeń...
95
96%package -n openldap-schema-pureftpd
97Summary: Pure-FTPd LDAP schema
98Summary(pl.UTF-8): Schemat LDAP dla Pure-FTPd
99Group: Networking/Daemons
100Requires(post,postun): sed >= 4.0
101Requires: openldap-servers
102Requires: sed >= 4.0
103BuildArch: noarch
104
105%description -n openldap-schema-pureftpd
106This package contains an Pure-FTPd openldap schema.
107
108%description -n openldap-schema-pureftpd -l pl.UTF-8
109Ten pakiet zawiera schemat Pure-FTPd pureftpd.schema dla openldapa.
110
111%prep
112%setup -q -a 5
113%patch0 -p0
114
115%patch3 -p1
116%patch4 -p1
117%patch5 -p1
118%patch6 -p1
119%patch7 -p1
120%patch8 -p1
121
122%patch11 -p1
123
124%{?with_extra:%patch2 -p1}
125
126%build
127%{__aclocal} -Im4
128%{__autoconf}
129%{__autoheader}
130%{__automake}
131%configure \
132 CFLAGS="%{rpmcflags} %{rpmcppflags} -DALLOW_DELETION_OF_TEMPORARY_FILES=1 -DALWAYS_SHOW_RESOLVED_SYMLINKS=1" \
133 --disable-silent-rules \
134 --with-boring \
135 --with-altlog \
136 --with-cookie \
137 --with-diraliases \
138 --with-extauth \
139 --with-ftpwho \
140 --with-language=english \
141 %{!?with_cap:--without-capabilities} \
142 %{?with_ldap:--with-ldap} \
143 %{?with_mysql:CPPFLAGS="-I%{_includedir}/mysql" --with-mysql} \
144 --with-pam \
145 --with-peruserlimits \
146 %{?with_pgsql:--with-pgsql} \
147 --with-privsep \
148 %{?with_puredb:--with-puredb} \
149 --with-quotas \
150 --with-ratios \
151 --with-throttling \
152 %{?with_tls:--with-tls --with-certfile=/etc/pure-ftpd/ssl/pure-ftpd.pem} \
153 --with-uploadscript \
154 --with-virtualchroot \
155 --with-virtualhosts \
156 --with-apparmor
157
158%if %{with extra}
159cd pure-config
160%{__aclocal}
161%{__autoconf}
162%{__autoheader}
163%{__automake}
164%configure
165%{__make}
166%endif
167
168%install
169rm -rf $RPM_BUILD_ROOT
170install -d $RPM_BUILD_ROOT/etc/{pam.d,sysconfig,security,rc.d/init.d,%{name}/{certd,authd,conf,ssl}} \
171 $RPM_BUILD_ROOT{%{_sysconfdir}/vhosts,%{_ftpdir},%{schemadir}}
172
173%{__make} install \
174 DESTDIR=$RPM_BUILD_ROOT
175
176cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/%{name}
177install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
178cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
179
180%{?with_ldap:install pureftpd-ldap.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-ldap.conf}
181%{?with_mysql:install pureftpd-mysql.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-mysql.conf}
182%{?with_pgsql:install pureftpd-pgsql.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-pgsql.conf}
183cp -p pureftpd.schema $RPM_BUILD_ROOT%{schemadir}/pureftpd.schema
184
185mv $RPM_BUILD_ROOT%{_sysconfdir}/{pure-ftpd,pureftpd}.conf
186
187touch $RPM_BUILD_ROOT%{_sysconfdir}/{ftpusers,pureftpd-dir-aliases}
188:> $RPM_BUILD_ROOT/etc/pure-ftpd/ssl/dhparams.pem
189
190ln -s vhosts $RPM_BUILD_ROOT%{_sysconfdir}/pure-ftpd
191
192bzip2 -dc %{SOURCE4} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
193rm -f $RPM_BUILD_ROOT%{_mandir}/ftpusers-path.diff
194
195%if %{with extra}
196%{__make} -C pure-config install \
197 DESTDIR=$RPM_BUILD_ROOT
198%endif
199
200%clean
201rm -rf $RPM_BUILD_ROOT
202
203%post
204if [ ! -s /etc/pure-ftpd/ssl/dhparams.pem ]; then
205 umask 027
206 %{_bindir}/openssl dhparam -out /etc/pure-ftpd/ssl/dhparams.pem 2048 || :
207fi
208
209/sbin/chkconfig --add %{name}
210%service %{name} restart "PureFTPD daemon"
211
212%pre
213%groupadd -g 326 ftpauth
214%useradd -u 326 -d %{_ftpdir} -s /bin/false -c "FTP Auth daemon" -g ftpauth ftpauth
215%groupadd -g 335 ftpcert
216%useradd -u 335 -d %{_ftpdir} -s /bin/false -c "FTP Cert daemon" -g ftpcert ftpcert
217
218%preun
219if [ "$1" = "0" ]; then
220 %service %{name} stop
221 /sbin/chkconfig --del %{name}
222fi
223
224%postun
225if [ "$1" = "0" ]; then
226 %userremove ftpauth
227 %groupremove ftpauth
228 %userremove ftpcert
229 %groupremove ftpcert
230fi
231
232%post -n openldap-schema-pureftpd
233%openldap_schema_register %{schemadir}/pureftpd.schema -d core
234%service -q ldap restart
235
236%postun -n openldap-schema-pureftpd
237if [ "$1" = "0" ]; then
238 %openldap_schema_unregister %{schemadir}/pureftpd.schema
239 %service -q ldap restart
240fi
241
242%triggerpostun -- %{name} < 1.0.41-2
243%{?with_mysql:sed -i -e 's#MYSQLCrypt[\t ]\+all#MYSQLCrypt any#gi' $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-mysql.conf}
244%{?with_pgsql:sed -i -e 's#PgSQLCrypt[\t ]\+all#PgSQLCrypt any#gi' $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-pgsql.conf}
245sed -i -e 's#SSLCertFile#CertFile#gi' $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd.conf
246exit 0
247
248%files
249%defattr(644,root,root,755)
250%doc AUTHORS ChangeLog COPYING FAQ HISTORY NEWS README* THANKS pure*.conf pureftpd.schema
251%attr(755,root,root) %{_bindir}/*
252%attr(755,root,root) %{_sbindir}/*
253%attr(754,root,root) /etc/rc.d/init.d/%{name}
254%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
255%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/*
256%attr(751,root,root) %config(noreplace) %verify(not md5 mtime size) %dir /etc/%{name}
257%attr(750,root,ftpauth) %config(noreplace) %verify(not md5 mtime size) %dir /etc/%{name}/authd
258%attr(750,root,ftpcert) %config(noreplace) %verify(not md5 mtime size) %dir /etc/%{name}/certd
259# for future /etc/ftpd -> /etc/pure-ftpd/conf migration
260# %attr(750,root,root) %config(noreplace) %verify(not md5 mtime size) %dir /etc/%{name}/conf
261%attr(750,root,root) %config(noreplace) %verify(not md5 mtime size) %dir /etc/%{name}/ssl
262%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost /etc/%{name}/ssl/dhparams.pem
263%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ftpusers
264%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-dir-aliases
265%{?with_ldap:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-ldap.conf}
266%{?with_mysql:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-mysql.conf}
267%{?with_pgsql:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-pgsql.conf}
268%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd.conf
269%attr(710,root,ftp) %dir %{_sysconfdir}
270%dir %{_sysconfdir}/vhosts
271%{_sysconfdir}/pure-ftpd
272%dir %{_ftpdir}
273%{_mandir}/man?/*
274%lang(ja) %{_mandir}/ja/man5/ftpusers*
275%lang(pl) %{_mandir}/pl/man5/ftpusers*
276%lang(pt_BR) %{_mandir}/pt_BR/man5/ftpusers*
277%lang(ru) %{_mandir}/ru/man5/ftpusers*
278
279%files -n openldap-schema-pureftpd
280%defattr(644,root,root,755)
281%{schemadir}/pureftpd.schema
This page took 0.233946 seconds and 5 git commands to generate.