]> git.pld-linux.org Git - packages/vsftpd.git/blob - vsftpd.spec
secure compile flags (from fedora)
[packages/vsftpd.git] / vsftpd.spec
1 # TODO:
2 # - default config does not work with inetd configuration
3 #
4 # Conditional build:
5 %bcond_with     clamav  # ClamAV scanning support
6
7 %define         _ftpdir /home/services/ftp
8 Summary:        vsftpd - Very Secure FTP Daemon
9 Summary(pl.UTF-8):      Bardzo Bezpieczny Demon FTP
10 Summary(pt_BR.UTF-8):   vsftpd - Daemon FTP Muito Seguro
11 Name:           vsftpd
12 Version:        3.0.2
13 Release:        3
14 License:        GPL v2
15 Group:          Daemons
16 Source0:        https://security.appspot.com/downloads/%{name}-%{version}.tar.gz
17 # Source0-md5:  8b00c749719089401315bd3c44dddbb2
18 Source1:        %{name}.inetd
19 Source2:        %{name}.pamd
20 Source3:        %{name}-ftpusers
21 Source4:        ftpusers.tar.bz2
22 # Source4-md5:  76c80b6ec9f4d079a1e27316edddbe16
23 Source5:        %{name}.init
24 Patch0:         %{name}-builddefs.patch
25 Patch1:         %{name}-amd64-findlibs.patch
26 Patch2:         %{name}-clamav.patch
27 Patch3:         %{name}-switch_sha256_to_sha1.patch
28 Patch4:         %{name}-findlibs-egrep.patch
29 URL:            https://security.appspot.com/vsftpd.html
30 BuildRequires:  libcap-devel
31 BuildRequires:  libwrap-devel
32 %if "%{pld_release}" == "ac"
33 BuildRequires:  openssl-devel >= 0.9.7d
34 %else
35 BuildRequires:  openssl-devel >= 0.9.8
36 %endif
37 BuildRequires:  rpmbuild(macros) >= 1.268
38 Requires:       %{name}-init = %{version}-%{release}
39 Requires:       filesystem >= 3.0-11
40 Requires:       pam >= 0.77.3
41 Provides:       ftpserver
42 Conflicts:      man-pages < 1.51
43 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44
45 %define specflags       -fpie -pipe -Wextra -Werror
46
47 %description
48 A Very Secure FTP Daemon - written from scratch - by Chris "One Man
49 Security Audit Team" Evans.
50
51 %description -l pl.UTF-8
52 Bardzo Bezpieczny Demon FTP - napisany od zera przez Chrisa "One Man
53 Security Audit Team" Evansa.
54
55 %description -l pt_BR.UTF-8
56 A Very Secure FTP Daemon (vsftpd) - escrito do zero - por Chris "One
57 Man Security Audit Team" Evans.
58
59 %package inetd
60 Summary:        vsftpd - Very Secure FTP Daemon
61 Summary(pl.UTF-8):      Bardzo Bezpieczny Demon FTP
62 Summary(pt_BR.UTF-8):   vsftpd - Daemon FTP Muito Seguro
63 Group:          Networking/Daemons
64 Requires:       %{name} = %{version}-%{release}
65 Requires:       rc-inetd
66 Provides:       %{name}-init = %{version}-%{release}
67 Obsoletes:      vsftpd-standalone
68 Conflicts:      %{name} <= 2.0.3-1
69
70 %description inetd
71 This package allows to start vsftpd as inetd service.
72
73 %description inetd -l pl.UTF-8
74 Ten pakiet pozwala na wystartowanie vsftpd jako usÅ‚ugi inetd.
75
76 %package standalone
77 Summary:        vsftpd - Very Secure FTP Daemon
78 Summary(pl.UTF-8):      Bardzo Bezpieczny Demon FTP
79 Summary(pt_BR.UTF-8):   vsftpd - Daemon FTP Muito Seguro
80 Group:          Networking/Daemons
81 Requires(post,preun):   /sbin/chkconfig
82 Requires:       %{name} = %{version}-%{release}
83 Requires:       rc-scripts
84 Provides:       %{name}-init = %{version}-%{release}
85 Obsoletes:      vsftpd-inetd
86 Conflicts:      %{name} <= 2.0.3-1
87
88 %description standalone
89 This package allows to start vsftpd as standalone daemon.
90
91 %description standalone -l pl.UTF-8
92 Ten pakiet pozwala na wystartowanie vsftpd jako samodzielnego demona.
93
94 %prep
95 %setup -q
96 %patch0 -p1
97 %patch1 -p1
98 %if %{with clamav}
99 %patch2 -p1
100 %endif
101 %if "%{pld_release}" == "ac"
102 %patch3 -p1
103 %endif
104 %patch4 -p1
105
106 %build
107 %{__make} \
108         CC="%{__cc}" \
109         CFLAGS="%{rpmcflags}" \
110         LINK="%{rpmldflags}"
111
112 %install
113 rm -rf $RPM_BUILD_ROOT
114 install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man{5,8}} \
115         $RPM_BUILD_ROOT/etc/{pam.d,sysconfig/rc-inetd,logrotate.d,ftpd,rc.d/init.d} \
116         $RPM_BUILD_ROOT{%{_ftpdir}/pub/incoming,/var/log}
117
118 install -p vsftpd $RPM_BUILD_ROOT%{_sbindir}/vsftpd
119 cp -p vsftpd.conf $RPM_BUILD_ROOT%{_sysconfdir}/vsftpd.conf
120 cp -p vsftpd.conf.5 $RPM_BUILD_ROOT%{_mandir}/man5/vsftpd.conf.5
121 cp -p vsftpd.8 $RPM_BUILD_ROOT%{_mandir}/man8/vsftpd.8
122 cp -p RedHat/vsftpd.log $RPM_BUILD_ROOT/etc/logrotate.d/vsftpd
123
124 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/vsftpd
125 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/ftp
126 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/ftpd/ftpusers
127 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/vsftpd
128
129 > $RPM_BUILD_ROOT/var/log/vsftpd.log
130
131 bzip2 -dc %{SOURCE4} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
132 %{__rm} $RPM_BUILD_ROOT%{_mandir}/ftpusers-path.diff
133
134 %clean
135 rm -rf $RPM_BUILD_ROOT
136
137 %post
138 touch /var/log/vsftpd.log
139 chmod 640 /var/log/vsftpd.log
140
141 %post inetd
142 %service -q rc-inetd reload
143
144 %postun inetd
145 if [ "$1" = "0" ]; then
146         %service -q rc-inetd reload
147 fi
148
149 %post standalone
150 /sbin/chkconfig --add %{name}
151 %service vsftpd restart "vsftpd server"
152
153 %preun standalone
154 if [ "$1" = "0" ]; then
155         %service vsftpd stop
156         /sbin/chkconfig --del %{name}
157 fi
158
159 %triggerin standalone -- glibc
160 # restart vsftpd if glibc is upgraded or downgraded
161 if [ "$2" != 1 ]; then
162         %service -q vsftpd restart
163 fi
164
165 %files
166 %defattr(644,root,root,755)
167 %doc AUDIT BENCHMARKS BUGS Changelog FAQ README README.ssl REWARD SIZE SPEED TODO TUNING EXAMPLE SECURITY
168 %attr(755,root,root) %{_sbindir}/vsftpd
169 %dir %attr(750,root,ftp) %dir %{_sysconfdir}/ftpd
170 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vsftpd.conf
171 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ftpd/ftpusers
172 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/ftp
173 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/vsftpd
174 %attr(640,root,root) %ghost /var/log/vsftpd.log
175 %{_mandir}/man5/vsftpd.conf.5*
176 %{_mandir}/man8/vsftpd.8*
177 %{_mandir}/man5/ftpusers.5*
178 %lang(ja) %{_mandir}/ja/man5/ftpusers*
179 %lang(pl) %{_mandir}/pl/man5/ftpusers*
180 %lang(pt_BR) %{_mandir}/pt_BR/man5/ftpusers*
181 %lang(ru) %{_mandir}/ru/man5/ftpusers*
182 %dir %{_ftpdir}
183 %dir %{_ftpdir}/pub
184 # it's safe - by default anon_upload_enable=NO, anon_world_readable_only=YES
185 %attr(775,root,ftp) %dir %{_ftpdir}/pub/incoming
186
187 %files inetd
188 %defattr(644,root,root,755)
189 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/vsftpd
190
191 %files standalone
192 %defattr(644,root,root,755)
193 %attr(754,root,root) /etc/rc.d/init.d/vsftpd
This page took 0.071194 seconds and 4 git commands to generate.