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