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