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