]> git.pld-linux.org Git - packages/pure-ftpd.git/blob - pure-ftpd.spec
- fixed Patch4 apply proccess (should be and now is -p1)
[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 Patch4:         %{name}-mysql_config.patch
32 URL:            http://www.pureftpd.org/
33 %{?with_extra:BuildRequires:    autoconf}
34 %{?with_extra:BuildRequires:    automake}
35 BuildRequires:  libcap-devel
36 %{?with_extra:BuildRequires:    libcfg+-devel >= 0.6.2}
37 %{?with_ldap:BuildRequires:     openldap-devel}
38 %{?with_mysql:BuildRequires:    mysql-devel}
39 %{?with_pgsql:BuildRequires:    postgresql-devel}
40 %{?with_tls:BuildRequires:      openssl-devel}
41 BuildRequires:  pam-devel
42 PreReq:         rc-scripts
43 Requires(post,preun):/sbin/chkconfig
44 Requires:       pam >= 0.77.3
45 %{!?with_extra:Requires:        perl-base}
46 Provides:       ftpserver
47 Obsoletes:      ftpserver
48 Obsoletes:      anonftp
49 Obsoletes:      bftpd
50 Obsoletes:      ftpd-BSD
51 Obsoletes:      glftpd
52 Obsoletes:      heimdal-ftpd
53 Obsoletes:      linux-ftpd
54 Obsoletes:      muddleftpd
55 Obsoletes:      proftpd
56 Obsoletes:      proftpd-common
57 Obsoletes:      proftpd-inetd
58 Obsoletes:      proftpd-standalone
59 Obsoletes:      troll-ftpd
60 Obsoletes:      vsftpd
61 Obsoletes:      wu-ftpd
62 Conflicts:      man-pages < 1.51
63 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
64
65 %define         _sysconfdir     /etc/ftpd
66 %define         _ftpdir         /home/services/ftp
67
68 %description
69 Pure-FTPd is a fast, production-quality, standard-comformant FTP
70 server, based upon Troll-FTPd. Unlike other popular FTP servers, it
71 has no known security flaw, it is really trivial to set up and it is
72 especially designed for modern Linux kernels (setfsuid, sendfile,
73 capabilities) . Features include PAM support, IPv6, chroot()ed home
74 directories, virtual domains, built-in LS, anti-warez system, bounded
75 ports for passive downloads...
76
77 %description -l pl
78 Pure-FTPD to szybki, wysokiej jako¶ci, odpowiadaj±cy standardom serwer
79 FTP bazuj±cy na Troll-FTPd. W przeciwieñstwie do innych serwerów FTP
80 nie ma znanych luk w bezpieczeñstwie. Ponadto jest trywialny w
81 konfiguracji i specjalnie zaprojektowany dla nowych kerneli Linuksa
82 (setfsuid, sendfile, capabilibies). Mo¿liwo¶ci to wsparcie dla PAM-a,
83 IPv6, chroot()owanych katalogów domowych, virtualne domeny, wbudowany
84 LS, system anty-warezowy, ograniczanie portów dla pasywnych
85 po³±czeñ...
86
87 %prep
88 %setup -q
89 %setup -q -a 4
90 %patch0 -p0
91 %patch4 -p1
92 %{?with_longusername:%patch3 -p1}
93 %{?with_extra:%patch1 -p1}
94 %{?with_extra:%patch2 -p1}
95
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.058049 seconds and 3 git commands to generate.