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