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