]> TLD Linux GIT Repositories - packages/openvpn.git/blob - openvpn.spec
- updated to 2.4.0, PLD merge
[packages/openvpn.git] / openvpn.spec
1 # Conditional build:
2 %bcond_without  pkcs11          # PKCS#11 support
3
4 Summary:        VPN Daemon
5 Summary(pl.UTF-8):      Serwer VPN
6 Name:           openvpn
7 Version:        2.4.0
8 Release:        1
9 License:        GPL v2
10 Group:          Networking/Daemons
11 Source0:        http://swupdate.openvpn.net/community/releases/%{name}-%{version}.tar.xz
12 # Source0-md5:  e49431542f065dd60a0181233927669e
13 Source1:        %{name}.init
14 Source2:        %{name}.sysconfig
15 Source3:        %{name}-update-resolv-conf
16 Patch0:         %{name}-pam.patch
17 URL:            http://www.openvpn.net/
18 BuildRequires:  autoconf >= 2.59
19 BuildRequires:  automake >= 1:1.9
20 BuildRequires:  libselinux-devel
21 BuildRequires:  libtool
22 BuildRequires:  lzo-devel
23 BuildRequires:  openssl-devel >= 0.9.7d
24 %{?with_pkcs11:BuildRequires:   p11-kit-devel}
25 BuildRequires:  pam-devel
26 %{?with_pkcs11:BuildRequires:   pkcs11-helper-devel >= 1.11}
27 BuildRequires:  pkgconfig
28 BuildRequires:  rpmbuild(macros) >= 1.671
29 BuildRequires:  tar >= 1:1.22
30 BuildRequires:  xz
31 Requires(post,preun):   /sbin/chkconfig
32 Requires:       /sbin/ip
33 %{?with_pkcs11:Requires:        pkcs11-helper >= 1.11}
34 Requires:       rc-scripts >= 0.4.3.0
35 Requires:       uname(release) >= 2.4
36 Suggests:       %{name}-plugin-auth-pam
37 Suggests:       %{name}-plugin-down-root
38 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39
40 %define         _localstatedir  /var
41
42 %description
43 OpenVPN is a robust and highly configurable VPN (Virtual Private
44 Network) daemon which can be used to securely link two or more private
45 networks using an encrypted tunnel over the internet.
46
47 %description -l pl.UTF-8
48 OpenVPN jest mocnym i silnie konfigurowalnym serwerem VPN (Wirtualne
49 Sieci Prywatne), który może być użyty do bezpiecznego łączenia dwóch
50 lub więcej prywatnych sieci używając zaszyfrowanego tunelu poprzez
51 internet.
52
53 %package plugin-auth-pam
54 Summary:        Plugin for username/password authentication via PAM
55 Summary(pl.UTF-8):      Wtyczka do uwierzytelniania nazwą użytkownika i hasłem poprzez PAM
56 Group:          Libraries
57 Requires:       %{name} = %{version}-%{release}
58
59 %description plugin-auth-pam
60 The openvpn-auth-pam module implements username/password
61 authentication via PAM, and essentially allows any authentication
62 method supported by PAM (such as LDAP, RADIUS, or Linux Shadow
63 passwords) to be used with OpenVPN. While PAM supports
64 username/password authentication, this can be combined with X509
65 certificates to provide two indepedent levels of authentication.
66
67 This module uses a split privilege execution model which will function
68 even if you drop openvpn daemon privileges using the user, group, or
69 chroot directives.
70
71 %description plugin-auth-pam -l pl.UTF-8
72 Moduł openvpn-auth-pam implementuje uwierzytelnianie nazwą użytkownika
73 i hasłem poprzez PAM, zasadniczo pozwalając na korzystanie z dowolnej
74 metody uwierzytelniania obsługiwanej przez PAM (np. LDAP, RADIUS,
75 hasła shadow) z OpenVPN. Jako że PAM obsługuje uwierzytelnianie nazwą
76 użytkownika i hasłem, to można je łączyć z certyfikatami X509 w celu
77 zapewniania dwóch różnych poziomów uwierzytelnienia.
78
79 Ten moduł wykorzystuje model wykonywania z podziałem uprawnień, co
80 działa nawet przy odrzuceniu uprawnień demona openvpn przy użyciu
81 dyrektyw user, group lub chroot.
82
83 %package plugin-down-root
84 Summary:        Plugin to allow root after privilege drop
85 Summary(pl.UTF-8):      Wtyczka pozwalająca na wykorzystanie uprawnień roota po odrzuceniu uprawnień
86 Group:          Libraries
87 Requires:       %{name} = %{version}-%{release}
88
89 %description plugin-down-root
90 The down-root module allows an OpenVPN configuration to call a down
91 script with root privileges, even when privileges have been dropped
92 using --user/--group/--chroot.
93
94 This module uses a split privilege execution model which will fork()
95 before OpenVPN drops root privileges, at the point where the --up
96 script is usually called. The module will then remain in a wait state
97 until it receives a message from OpenVPN via pipe to execute the down
98 script. Thus, the down script will be run in the same execution
99 environment as the up script.
100
101 %description plugin-down-root -l pl.UTF-8
102 Moduł down-root pozwala na wywołanie skryptu down z uprawnieniami
103 roota z poziomu konfiguracji OpenVPN-a nawet w przypadku odrzucenia
104 uprawnień przy użyciu opcji --user/--group/--chroot.
105
106 Ten moduł wykorzystuje model wykonywania z podziałem uprawnień, który
107 wykonuje fork() przed odrzuceniem uprawnień roota, w miejscu, gdzie
108 zwykle jest wywoływany skrypt --up. Moduł pozostaje w stanie
109 oczekiwania do odebrania przez potok od OpenVPN-a komunikatu, aby
110 wykonać skrypt down. Dzięki temu skrypt down zostanie uruchomiony w
111 tym samym środowisku, co skrypt up.
112
113 %package devel
114 Summary:        Header files for OpenVPN plugins development
115 Summary(pl.UTF-8):      Pliki nagłówkowe do tworzenia wtyczek OpenVPN
116 Group:          Development/Libraries
117
118 %description devel
119 This is the package containing the header files for OpenVPN plugins
120 development.
121
122 %description devel -l pl.UTF-8
123 Ten pakiet zawiera pliki nagłówkowe do tworzenia wtyczek OpenVPN.
124
125 %prep
126 %setup -q
127 %patch0 -p1
128
129 sed -e 's,/''usr/lib/openvpn,%{_libdir}/%{name},' %{SOURCE3} > contrib/update-resolv-conf
130
131 %build
132 %{__libtoolize}
133 %{__aclocal} -I m4
134 %{__autoheader}
135 %{__autoconf}
136 %{__automake}
137
138 %configure \
139         IFCONFIG=/sbin/ifconfig \
140         IPROUTE=/sbin/ip \
141         ROUTE=/sbin/route \
142         NETSTAT=/bin/netstat \
143         ac_cv_nsl_inet_ntoa=no \
144         ac_cv_socket_socket=no \
145         ac_cv_resolv_gethostbyname=no \
146         --enable-iproute2 \
147         --enable-password-save \
148         %{?with_pkcs11:--enable-pkcs11} \
149         --enable-selinux \
150         --disable-systemd
151
152 %{__make}
153
154 %install
155 rm -rf $RPM_BUILD_ROOT
156 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/openvpn,%{_sbindir},%{_mandir}/man8} \
157         $RPM_BUILD_ROOT{/etc/{rc.d/init.d,sysconfig},/var/run/openvpn,%{_includedir}} \
158         $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
159
160 %{__make} install \
161         DESTDIR=$RPM_BUILD_ROOT
162
163 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
164 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
165
166 # we use "cp", not "install", not to pull /bin/bash dependency
167 cp -p contrib/pull-resolv-conf/client.down $RPM_BUILD_ROOT%{_libdir}/%{name}
168 cp -p contrib/pull-resolv-conf/client.up $RPM_BUILD_ROOT%{_libdir}/%{name}
169 cp -p contrib/update-resolv-conf $RPM_BUILD_ROOT%{_libdir}/%{name}
170
171 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/*.la
172 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
173
174 %clean
175 rm -rf $RPM_BUILD_ROOT
176
177 %post
178 /sbin/chkconfig --add openvpn
179 %service openvpn restart "OpenVPN"
180
181 %preun
182 if [ "$1" = "0" ]; then
183         %service openvpn stop
184         /sbin/chkconfig --del openvpn
185 fi
186
187 %files
188 %defattr(644,root,root,755)
189 %doc AUTHORS README* ChangeLog sample/sample-{config-files,keys,scripts} doc/management-notes.txt
190 %doc *.IPv6
191 %dir %{_sysconfdir}/openvpn
192 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
193 %attr(755,root,root) %{_sbindir}/openvpn
194 %attr(754,root,root) /etc/rc.d/init.d/%{name}
195 %dir %{_libdir}/%{name}
196 %attr(755,root,root) %{_libdir}/%{name}/client.down
197 %attr(755,root,root) %{_libdir}/%{name}/client.up
198 %attr(755,root,root) %{_libdir}/%{name}/update-resolv-conf
199 %dir %{_libdir}/%{name}/plugins
200 %{_mandir}/man8/openvpn.8*
201 %dir /var/run/openvpn
202
203 %files plugin-auth-pam
204 %defattr(644,root,root,755)
205 %doc src/plugins/auth-pam/README.auth-pam
206 %attr(755,root,root) %{_libdir}/%{name}/plugins/openvpn-plugin-auth-pam.so
207
208 %files plugin-down-root
209 %defattr(644,root,root,755)
210 %doc src/plugins/down-root/README.down-root
211 %attr(755,root,root) %{_libdir}/%{name}/plugins/openvpn-plugin-down-root.so
212
213 %files devel
214 %defattr(644,root,root,755)
215 %doc doc/README.plugins sample/sample-plugins
216 %{_includedir}/openvpn-msg.h
217 %{_includedir}/openvpn-plugin.h