]> git.pld-linux.org Git - packages/pure-ftpd.git/blob - pure-ftpd.spec
- up to 1.0.34
[packages/pure-ftpd.git] / pure-ftpd.spec
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     1
13 Summary:        Small, fast and secure FTP server
14 Summary(pl.UTF-8):      Mały, szybki i bezpieczny serwer FTP
15 Name:           pure-ftpd
16 Version:        1.0.34
17 Release:        %{rel}%{?with_extra:extra}
18 Epoch:          0
19 License:        BSD-like%{?with_extra:, GLPv2 for pure-config due to libcfg+ license}
20 Group:          Daemons
21 Source0:        http://download.pureftpd.org/pub/pure-ftpd/releases/%{name}-%{version}.tar.bz2
22 # Source0-md5:  8985aa1e2b81668b53e0311ca1040907
23 Source1:        %{name}.pamd
24 Source2:        %{name}.init
25 Source3:        %{name}.sysconfig
26 Source4:        ftpusers.tar.bz2
27 # Source4-md5:  76c80b6ec9f4d079a1e27316edddbe16
28 Source5:        http://twittner.host.sk/files/pure-config/pure-config-20041201.tar.gz
29 # Source5-md5:  3f2ff6b00b5c38ee11ce588ee5af6cf6
30 Patch0:         %{name}-config.patch
31 Patch1:         %{name}-path_to_ssl_cert_in_config.patch
32 Patch2:         %{name}-pure-pw_passwd.patch
33 Patch3:         %{name}-mysql_config.patch
34 Patch4:         %{name}-allauth.patch
35 Patch5:         %{name}-passwd_location.patch
36 Patch6:         %{name}-additionalgid.patch
37 Patch7:         audit_cap.patch
38 URL:            http://www.pureftpd.org/
39 %{?with_extra:BuildRequires:    autoconf}
40 %{?with_extra:BuildRequires:    automake}
41 %{?with_cap:BuildRequires:      libcap-devel}
42 %{?with_extra:BuildRequires:    libcfg+-devel >= 0.6.2}
43 %{?with_mysql:BuildRequires:    mysql-devel}
44 %{?with_ldap:BuildRequires:     openldap-devel >= 2.3.0}
45 %{?with_tls:BuildRequires:      openssl-devel}
46 BuildRequires:  pam-devel
47 %{?with_pgsql:BuildRequires:    postgresql-devel}
48 BuildRequires:  rpmbuild(macros) >= 1.304
49 Requires(post,preun):   /sbin/chkconfig
50 Requires:       pam >= 0.79.0
51 %{!?with_extra:Requires:        perl-base}
52 Requires:       rc-scripts
53 Provides:       ftpserver
54 Conflicts:      man-pages < 1.51
55 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
56
57 %define         _sysconfdir     /etc/ftpd
58 %define         _ftpdir         /home/services/ftp
59 %define         schemadir       /usr/share/openldap/schema
60
61 %description
62 Pure-FTPd is a fast, production-quality, standard-comformant FTP
63 server, based upon Troll-FTPd. Unlike other popular FTP servers, it
64 has no known security flaw, it is really trivial to set up and it is
65 especially designed for modern Linux kernels (setfsuid, sendfile,
66 capabilities) . Features include PAM support, IPv6, chroot()ed home
67 directories, virtual domains, built-in LS, anti-warez system, bounded
68 ports for passive downloads...
69
70 %description -l pl.UTF-8
71 Pure-FTPD to szybki, wysokiej jakości, odpowiadający standardom serwer
72 FTP bazujący na Troll-FTPd. W przeciwieństwie do innych serwerów FTP
73 nie ma znanych luk w bezpieczeństwie. Ponadto jest trywialny w
74 konfiguracji i specjalnie zaprojektowany dla nowych kerneli Linuksa
75 (setfsuid, sendfile, capabilibies). Możliwości to wsparcie dla PAM-a,
76 IPv6, chroot()owanych katalogów domowych, virtualne domeny, wbudowany
77 LS, system anty-warezowy, ograniczanie portów dla pasywnych
78 połączeń...
79
80 %package -n openldap-schema-pureftpd
81 Summary:        Pure-FTPd LDAP schema
82 Summary(pl.UTF-8):      Schemat LDAP dla Pure-FTPd
83 Group:          Networking/Daemons
84 Requires(post,postun):  sed >= 4.0
85 Requires:       openldap-servers
86 Requires:       sed >= 4.0
87
88 %description -n openldap-schema-pureftpd
89 This package contains an Pure-FTPd openldap schema.
90
91 %description -n openldap-schema-pureftpd -l pl.UTF-8
92 Ten pakiet zawiera schemat Pure-FTPd pureftpd.schema dla openldapa.
93
94 %prep
95 %setup -q -a 5
96 %patch0 -p0
97 %patch3 -p1
98 %patch4 -p1
99 %patch5 -p1
100 %patch6 -p1
101 %patch7 -p1
102
103 %{?with_extra:%patch1 -p1}
104 %{?with_extra:%patch2 -p1}
105
106 %build
107 %{__aclocal}
108 %{__autoconf}
109 %{__autoheader}
110 %configure \
111         CFLAGS="%{rpmcflags} %{rpmcppflags} -DALLOW_DELETION_OF_TEMPORARY_FILES=1 -DALWAYS_SHOW_RESOLVED_SYMLINKS=1" \
112         --with-boring \
113         --with-altlog \
114         --with-cookie \
115         --with-diraliases \
116         --with-extauth \
117         --with-ftpwho \
118         --with-language=english \
119         %{!?with_cap:--without-capabilities} \
120         %{?with_ldap:--with-ldap} \
121         %{?with_mysql:CPPFLAGS="-I%{_includedir}/mysql" --with-mysql} \
122         --with-pam \
123         --with-peruserlimits \
124         %{?with_pgsql:--with-pgsql} \
125         --with-privsep \
126         %{?with_puredb:--with-puredb} \
127         --with-quotas \
128         --with-ratios \
129         --with-throttling \
130         %{?with_tls:--with-tls --with-certfile=%{_sharedstatedir}/openssl/certs/ftpd.pem} \
131         --with-uploadscript \
132         --with-virtualchroot \
133         --with-virtualhosts
134
135 %if %{with extra}
136 cd pure-config
137 %{__aclocal}
138 %{__autoconf}
139 %{__autoheader}
140 %{__automake}
141 %configure
142 %{__make}
143 %endif
144
145 %install
146 rm -rf $RPM_BUILD_ROOT
147 install -d $RPM_BUILD_ROOT/etc/{pam.d,sysconfig,security,rc.d/init.d} \
148         $RPM_BUILD_ROOT{%{_sysconfdir}/vhosts,%{_ftpdir},%{schemadir}}
149
150 %{__make} install \
151         DESTDIR=$RPM_BUILD_ROOT
152
153 install %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/%{name}
154 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
155 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
156
157 %{?with_ldap:install pureftpd-ldap.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-ldap.conf}
158 %{?with_mysql:install pureftpd-mysql.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-mysql.conf}
159 %{?with_pgsql:install pureftpd-pgsql.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd-pgsql.conf}
160 install configuration-file/pure-ftpd.conf $RPM_BUILD_ROOT%{_sysconfdir}/pureftpd.conf
161 %{!?with_extra:install configuration-file/pure-config.pl $RPM_BUILD_ROOT%{_sbindir}}
162 install pureftpd.schema $RPM_BUILD_ROOT%{schemadir}/pureftpd.schema
163
164 touch $RPM_BUILD_ROOT%{_sysconfdir}/{ftpusers,pureftpd-dir-aliases}
165
166 ln -s vhosts $RPM_BUILD_ROOT%{_sysconfdir}/pure-ftpd
167
168 bzip2 -dc %{SOURCE4} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
169 rm -f $RPM_BUILD_ROOT%{_mandir}/ftpusers-path.diff
170
171 %if %{with extra}
172 %{__make} -C pure-config install \
173         DESTDIR=$RPM_BUILD_ROOT
174 %endif
175
176 %clean
177 rm -rf $RPM_BUILD_ROOT
178
179 %post
180 /sbin/chkconfig --add %{name}
181 %service %{name} restart "PureFTPD daemon"
182
183 %preun
184 if [ "$1" = "0" ]; then
185         %service %{name} stop
186         /sbin/chkconfig --del %{name}
187 fi
188
189 %post -n openldap-schema-pureftpd
190 %openldap_schema_register %{schemadir}/pureftpd.schema -d core
191 %service -q ldap restart
192
193 %postun -n openldap-schema-pureftpd
194 if [ "$1" = "0" ]; then
195         %openldap_schema_unregister %{schemadir}/pureftpd.schema
196         %service -q ldap restart
197 fi
198
199
200 %files
201 %defattr(644,root,root,755)
202 %doc AUTHORS ChangeLog CONTACT COPYING FAQ HISTORY NEWS README* THANKS pure*.conf pureftpd.schema
203 %attr(755,root,root) %{_bindir}/*
204 %attr(755,root,root) %{_sbindir}/*
205 %attr(754,root,root) /etc/rc.d/init.d/%{name}
206 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
207 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/*
208 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ftpusers
209 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-dir-aliases
210 %{?with_ldap:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-ldap.conf}
211 %{?with_mysql:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-mysql.conf}
212 %{?with_pgsql:%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd-pgsql.conf}
213 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pureftpd.conf
214 %attr(710,root,ftp) %dir %{_sysconfdir}
215 %dir %{_sysconfdir}/vhosts
216 %dir %{_sysconfdir}/pure-ftpd
217 %dir %{_ftpdir}
218 %{_mandir}/man?/*
219 %lang(ja) %{_mandir}/ja/man5/ftpusers*
220 %lang(pl) %{_mandir}/pl/man5/ftpusers*
221 %lang(pt_BR) %{_mandir}/pt_BR/man5/ftpusers*
222 %lang(ru) %{_mandir}/ru/man5/ftpusers*
223
224 %files -n openldap-schema-pureftpd
225 %defattr(644,root,root,755)
226 %{schemadir}/pureftpd.schema
This page took 0.046677 seconds and 3 git commands to generate.