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