]> git.pld-linux.org Git - packages/freeswan.git/blame_incremental - freeswan.spec
- xorg dep
[packages/freeswan.git] / freeswan.spec
... / ...
CommitLineData
1# Conditional builds
2%bcond_with NAT # with NAT-Traversal
3%bcond_without x509 # without x509 support
4%bcond_without dist_kernel # without sources of distribution kernel
5%bcond_without modules # build only library+programs, no kernel modules
6#
7%define x509ver x509-1.4.8
8%define nat_tr_ver 0.6
9%define _25x_ver 20030825
10%define _rel 0.1
11Summary: Free IPSEC implemetation
12Summary(pl.UTF-8): Publicznie dostępna implementacja IPSEC
13Name: freeswan
14Version: 2.04
15Release: %{_rel}
16License: GPL
17Group: Networking/Daemons
18Source0: ftp://ftp.xs4all.nl/pub/crypto/freeswan/%{name}-%{version}.tar.gz
19# Source0-md5: 37a15f760ca43317fe7c5d6e6859689c
20Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-pl-man-pages.tar.bz2
21# Source1-md5: 6bd0b509015a2795cfb895aaab0bbc55
22Source2: http://www.strongsec.com/freeswan/%{x509ver}-%{name}-%{version}.tar.gz
23# Source2-md5: d5ff93ed3dc33afcc3ab5d00ca11008b
24Source3: http://open-source.arkoon.net/freeswan/NAT-Traversal-%{nat_tr_ver}.tar.gz
25# Source3-md5: 6858a8535aa2611769d17e86e6735db2
26Patch0: %{name}-showhostkey.patch
27Patch1: %{name}-init.patch
28Patch2: %{name}-paths.patch
29Patch3: %{name}-confread.patch
30URL: http://www.freeswan.org/
31BuildRequires: gmp-devel
32%{?with_dist_kernel:%{?with_modules:BuildRequires: kernel-doc}}
33%{?with_dist_kernel:%{?with_modules:BuildRequires: kernel-headers}}
34%{?with_dist_kernel:%{?with_modules:BuildRequires: kernel-source}}
35BuildRequires: rpmbuild(macros) >= 1.118
36# for useful lndir
37%{?with_modules:BuildRequires: xorg-util-lndir}
38Requires(post,preun): /sbin/chkconfig
39Requires: gawk
40Requires: gmp
41Requires: rc-scripts
42BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43
44%description
45This package contains FreeS/WAN daemon and utilities. FreeS/WAN is a
46free implementation of the IPsec protocol for Linux. It allows to
47build secure tunnels through untrusted networks. The basic idea of
48IPsec is to provide security functions (authentication and encryption)
49at the IP (Internet Protocol) level.
50
51%description -l pl.UTF-8
52Ten pakiet zawiera demona i narzędzia FreeS/WAN. FreeS/WAN jest wolną
53implementacją protokołu IPsec dla Linuksa. Umożliwia zestawianie
54bezpiecznych tuneli przez niezaufane sieci. Podstawowa idea IPsec to
55zapewnienie funkcji bezpieczeństwa (autentykacji i szyfrowania) na
56poziomie IP.
57
58%package -n kernel-net-ipsec
59Summary: Kernel module for Linux IPSEC
60Summary(pl.UTF-8): Moduł jądra dla IPSEC
61Release: %{_rel}@%{_kernel_ver_str}
62Group: Base/Kernel
63%{?with_dist_kernel:%requires_releq_kernel_up}
64Requires(post,postun): /sbin/depmod
65Requires: %{name} = %{version}-%{release}
66Requires: modutils >= 2.4.6-4
67Conflicts: kernel <= 2.4.20-9
68
69%description -n kernel-net-ipsec
70Kernel module for FreeS/WAN.
71
72%description -n kernel-net-ipsec -l pl.UTF-8
73Moduł jądra wykorzystywany przez FreeS/WAN.
74
75%package -n kernel-smp-net-ipsec
76Summary: SMP kernel module for Linux IPSEC
77Summary(pl.UTF-8): Moduł jądra SMP dla IPSEC
78Release: %{_rel}@%{_kernel_ver_str}
79Group: Base/Kernel
80%{?with_dist_kernel:%requires_releq_kernel_up}
81Requires(post,postun): /sbin/depmod
82Requires: %{name} = %{version}-%{release}
83Requires: modutils >= 2.4.6-4
84Conflicts: kernel-smp <= 2.4.20-9
85
86%description -n kernel-smp-net-ipsec
87SMP kernel module for FreeS/WAN.
88
89%description -n kernel-smp-net-ipsec -l pl.UTF-8
90Moduł jądra SMP wykorzystywany przez FreeS/WAN.
91
92%prep
93%setup -q -a2 -a3
94%patch0 -p1
95%patch1 -p1
96%{?with_x509:patch -p1 -s <%{x509ver}-%{name}-%{version}/freeswan.diff}
97%patch3 -p1
98%{?with_NAT:patch -p1 -s <NAT-Traversal-%{nat_tr_ver}/NAT-Traversal-%{nat_tr_ver}-freeswan-2.00-x509-1.3.5.diff}
99
100%build
101%define _kver `echo "%{_kernel_ver}" |awk -F. '{print $2}'`
102
103%if %{with modules}
104install -d kernelsrc
105lndir -silent %{_kernelsrcdir} kernelsrc
106mv kernelsrc/.config kernelsrc/.config.old
107cp kernelsrc/.config.old kernelsrc/.config
108
109%if %{with dist_kernel}
110rm -rf kernelsrc/include/asm
111cd kernelsrc
112patch -R -p1 <../linux/net/Makefile.fs2_%{_kver}.patch
113patch -R -p1 <../linux/net/Config.in.fs2_%{_kver}.patch
114patch -R -p1 <../linux/net/ipv4/af_inet.c.fs2_%{_kver}.patch
115patch -R -p1 <../linux/Documentation/Configure.help.fs2_%{_kver}.patch
116cd ..
117rm -rf kernelsrc/{crypto,include/{freeswan,zlib,crypto},lib/{zlib,libfreeswan},net/ipsec}
118rm kernelsrc/include/{freeswan,pfkey,pfkeyv2}.h
119cp kernelsrc/config-up kernelsrc/.config
120%endif
121
122echo "CONFIG_IPSEC=m" >> kernelsrc/.config
123echo "CONFIG_IPSEC_IPIP=y" >> kernelsrc/.config
124echo "CONFIG_IPSEC_AH=y" >> kernelsrc/.config
125echo "CONFIG_IPSEC_AUTH_HMAC_MD5=y" >> kernelsrc/.config
126echo "CONFIG_IPSEC_AUTH_HMAC_SHA1=y" >> kernelsrc/.config
127echo "CONFIG_IPSEC_ESP=y" >> kernelsrc/.config
128echo "CONFIG_IPSEC_ENC_3DES=y" >> kernelsrc/.config
129echo "CONFIG_IPSEC_IPCOMP=y" >> kernelsrc/.config
130echo "CONFIG_IPSEC_DEBUG=y" >> kernelsrc/.config
131%endif
132
133USERCOMPILE="%{rpmcflags}" ; export USERCOMPILE
134OPT_FLAGS="%{rpmcflags}"; export OPT_FLAGS
135CC="%{__cc}"; export CC
136
137
138%if %{with modules}
139%{__make} precheck verset kpatch ocf confcheck module \
140 BIND9STATICLIBDIR=%{_libdir} \
141 FINALCONFDIR=%{_sysconfdir}/ipsec \
142 FINALCONFFILE=%{_sysconfdir}/ipsec/ipsec.conf \
143 INC_USRLOCAL=/usr \
144 INC_MANDIR=share/man \
145 FINALRCDIR=%{_sysconfdir}/rc.d/init.d \
146 FINALLIBEXECDIR=%{_libdir}/ipsec \
147 KERNELSRC="`pwd`/kernelsrc"
148
149install linux/net/ipsec/ipsec.o .
150
151%if %{with smp}
152rm -rf kernelsrc
153install -d kernelsrc
154lndir -silent %{_kernelsrcdir} kernelsrc
155mv kernelsrc/.config kernelsrc/.config.old
156cp kernelsrc/.config.old kernelsrc/.config
157
158%if %{with dist_kernel}
159rm -rf kernelsrc/include/asm
160cd kernelsrc
161patch -R -p1 <../linux/net/Makefile.fs2_%{_kver}.patch
162patch -R -p1 <../linux/net/Config.in.fs2_%{_kver}.patch
163patch -R -p1 <../linux/net/ipv4/af_inet.c.fs2_%{_kver}.patch
164patch -R -p1 <../linux/Documentation/Configure.help.fs2_%{_kver}.patch
165cd ..
166rm -rf kernelsrc/{crypto,include/{freeswan,zlib,crypto},lib/{zlib,libfreeswan},net/ipsec}
167rm kernelsrc/include/{freeswan,pfkey,pfkeyv2}.h
168cp kernelsrc/config-smp kernelsrc/.config
169%endif
170
171echo "CONFIG_IPSEC=m" >> kernelsrc/.config
172echo "CONFIG_IPSEC_IPIP=y" >> kernelsrc/.config
173echo "CONFIG_IPSEC_AH=y" >> kernelsrc/.config
174echo "CONFIG_IPSEC_AUTH_HMAC_MD5=y" >> kernelsrc/.config
175echo "CONFIG_IPSEC_AUTH_HMAC_SHA1=y" >> kernelsrc/.config
176echo "CONFIG_IPSEC_ESP=y" >> kernelsrc/.config
177echo "CONFIG_IPSEC_ENC_3DES=y" >> kernelsrc/.config
178echo "CONFIG_IPSEC_IPCOMP=y" >> kernelsrc/.config
179echo "CONFIG_IPSEC_DEBUG=y" >> kernelsrc/.config
180%{__make} precheck verset kpatch ocf confcheck module \
181 BIND9STATICLIBDIR=%{_libdir} \
182 FINALCONFDIR=%{_sysconfdir}/ipsec \
183 FINALCONFFILE=%{_sysconfdir}/ipsec/ipsec.conf \
184 INC_USRLOCAL=/usr \
185 INC_MANDIR=share/man \
186 FINALRCDIR=%{_sysconfdir}/rc.d/init.d \
187 FINALLIBEXECDIR=%{_libdir}/ipsec \
188 KERNELSRC="`pwd`/kernelsrc"
189%endif
190
191%endif
192
193%{__make} programs \
194 BIND9STATICLIBDIR=%{_libdir} \
195 FINALCONFDIR=%{_sysconfdir}/ipsec \
196 FINALCONFFILE=%{_sysconfdir}/ipsec/ipsec.conf \
197 INC_USRLOCAL=/usr \
198 INC_MANDIR=share/man \
199 FINALRCDIR=%{_sysconfdir}/rc.d/init.d \
200 FINALLIBEXECDIR=%{_libdir}/ipsec \
201 KERNELSRC="`pwd`/kernelsrc"
202
203%install
204rm -rf $RPM_BUILD_ROOT
205install -d $RPM_BUILD_ROOT{%{_sysconfdir}/ipsec,/etc/rc.d/init.d,/var/run/pluto}
206
207%{__make} install \
208 BIND9STATICLIBDIR=%{_libdir} \
209 DESTDIR="$RPM_BUILD_ROOT" \
210 FINALCONFDIR=%{_sysconfdir}/ipsec \
211 FINALCONFFILE=%{_sysconfdir}/ipsec/ipsec.conf \
212 FINALRCDIR=%{_sysconfdir}/rc.d/init.d \
213 FINALLIBEXECDIR=%{_libdir}/ipsec \
214 FINALEXAMPLECONFDIR=/usr/share/doc/%{name}-%{version} \
215 INC_USRLOCAL=/usr \
216 INC_MANDIR=share/man
217
218
219%if %{with x509}
220install -d $RPM_BUILD_ROOT%{_sysconfdir}/ipsec/ipsec.d
221for i in crls cacerts private policies; do
222 install -d $RPM_BUILD_ROOT%{_sysconfdir}/ipsec/ipsec.d/$i
223done
224for i in CHANGES README; do
225 install %{x509ver}-%{name}-%{version}/$i $i.x509 ;
226done
227%endif
228
229bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
230
231%if %{with modules}
232install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc
233install ipsec.o $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc
234
235%if %{with smp}
236install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc
237install linux/net/ipsec/ipsec.o $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc
238%endif
239
240%endif
241
242%clean
243rm -rf $RPM_BUILD_ROOT
244
245%post
246# generate RSA private key... if, and only if, /etc/ipsec/ipsec.secrets does
247# not already exist
248if [ ! -f %{_sysconfdir}/ipsec/ipsec.secrets ];
249then
250 echo generate RSA private key...
251 /usr/sbin/ipsec newhostkey --output %{_sysconfdir}/ipsec/ipsec.secrets
252 chmod 600 %{_sysconfdir}/ipsec/ipsec.secrets
253fi
254
255/sbin/chkconfig --add ipsec
256if [ -f /var/lock/subsys/ipsec ]; then
257 /etc/rc.d/init.d/ipsec restart >&2
258else
259 echo "Run '/etc/rc.d/init.d/ipsec start' to start IPSEC services." >&2
260fi
261
262%preun
263if [ "$1" = "0" ]; then
264 if [ -f /var/lock/subsys/ipsec ]; then
265 /etc/rc.d/init.d/ipsec stop >&2
266 fi
267 /sbin/chkconfig --del ipsec >&2
268fi
269
270%post -n kernel-net-ipsec
271%depmod %{_kernel_ver}
272
273%postun -n kernel-net-ipsec
274%depmod %{_kernel_ver}
275
276%post -n kernel-smp-net-ipsec
277%depmod %{_kernel_ver}
278
279%postun -n kernel-smp-net-ipsec
280%depmod %{_kernel_ver}
281
282%files
283%defattr(644,root,root,755)
284%doc README CREDITS CHANGES BUGS
285%doc doc/{kernel.notes,impl.notes,examples,prob.report,std} doc/*.html
286%{?with_NAT:%doc NAT-Traversal-%{nat_tr_ver}/README.NAT-Traversal}
287%{?with_x509:%doc CHANGES.x509 README.x509}
288%{_mandir}/man*/*
289%lang(pl) %{_mandir}/pl/man*/*
290%attr(755,root,root) %{_sbindir}/*
291%attr(754,root,root) /etc/rc.d/init.d/*
292%dir %{_libdir}/ipsec
293%attr(755,root,root) %{_libdir}/ipsec/*
294%attr(751,root,root) %dir %{_sysconfdir}/ipsec
295%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ipsec/ipsec.conf
296%if %{with x509}
297%attr(700,root,root) %dir %{_sysconfdir}/ipsec/ipsec.d
298%attr(700,root,root) %dir %{_sysconfdir}/ipsec/ipsec.d/certs
299%attr(700,root,root) %dir %{_sysconfdir}/ipsec/ipsec.d/crls
300%attr(700,root,root) %dir %{_sysconfdir}/ipsec/ipsec.d/cacerts
301%attr(700,root,root) %dir %{_sysconfdir}/ipsec/ipsec.d/private
302%attr(700,root,root) %dir %{_sysconfdir}/ipsec/ipsec.d/policies
303%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ipsec/ipsec.d/policies/*
304%endif
305
306%if %{with modules}
307%files -n kernel-net-ipsec
308%defattr(644,root,root,755)
309/lib/modules/%{_kernel_ver}/misc/ipsec*
310%if %{with smp}
311%files -n kernel-smp-net-ipsec
312%defattr(644,root,root,755)
313/lib/modules/%{_kernel_ver}smp/misc/ipsec*
314%endif
315%endif
This page took 0.090475 seconds and 4 git commands to generate.