Name: openvpn3 Version: 8 Release: 0.beta1%{?dist} Summary: OpenVPN 3 TLS based VPN License: AGPLv3 URL: https://github.com/OpenVPN/openvpn3-linux/ Source0: https://swupdate.openvpn.net/community/releases/openvpn3-linux-%{version}_beta.tar.xz Source1: https://swupdate.openvpn.net/community/releases/openvpn3-linux-%{version}_beta.tar.xz.asc Source2: gpgkey-F554A3687412CFFEBDEFE0A312F5F7B42F2B01E7.gpg Patch1: disable-protect-socket.patch Vendor: OpenVPN Inc # Currently the code is buildable on 32-bit architectures ExcludeArch: armv7hl i686 BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc-c++ BuildRequires: glib2-devel BuildRequires: jsoncpp-devel BuildRequires: libcap-ng-devel BuildRequires: libuuid-devel BuildRequires: lz4-devel %if 0%{?rhel} > 6 BuildRequires: python36-devel %endif %if 0%{?fedora} > 20 BuildRequires: python3-devel %endif %if 0%{?rhel} > 7 || 0%{?fedora} > 28 BuildRequires: python3-docutils %else BuildRequires: python-docutils %endif BuildRequires: selinux-policy-devel BuildRequires: systemd BuildRequires: zlib-devel BuildRequires: openssl-devel Requires: openssl Requires: dbus Requires: jsoncpp Requires: lz4 Requires: policycoreutils Requires: python(abi) >= 3.6 %description Next generation OpenVPN client, targeting modern Linux distributions. OpenVPN 3 aims to be protocol compatible with the older OpenVPN 2.x releases, but may not yet support all features of OpenVPN 2.x. %package client Summary: OpenVPN 3 Client, TLS based VPN client Requires: %{name}%{?_isa} = %{version}-%{release} %description client OpenVPN 3 Client components. Provides the binaries and D-Bus services required to initiate and manage VPN client configuration profiles. %prep gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %autosetup -p1 -n %{name}-linux-%{version}_beta %build # Configure and build %configure CXXFLAGS="%{optflags}" --disable-build-test-progs SYSTEMD_UNIT_DIR="%{_unitdir}" make %{?_smp_mflags} %check src/tests/unit/unit-tests --gtest_output="xml:test_results/openvpn3-linux-tests.xml" make check %install rm -rf $RPM_BUILD_ROOT %make_install mkdir -p %{buildroot}%{_datarootdir}/bash-completion/completions mkdir -p %{buildroot}%{_sysconfdir}/%{name}/autoload mkdir -p %{buildroot}%{_sharedstatedir}/%{name} install -m644 src/shell/bash-completion/openvpn3 %{buildroot}%{_datarootdir}/bash-completion/completions/openvpn3 %pre # Ensure we have openvpn user and group accounts getent group openvpn &>/dev/null || groupadd -r openvpn getent passwd openvpn &>/dev/null || \ /usr/sbin/useradd -r -g openvpn -s /sbin/nologin -c OpenVPN \ -d %{_sharedstatedir}/%{name} openvpn exit 0 %post # Install SELinux policy module /usr/sbin/semodule -i %{_sysconfdir}/%{name}/selinux/openvpn3.pp # Enable the dbus_access_tuntap_device SELinux boolean. # This is needed to make it possbile for the netcfg service # to pass the file descriptor to tun devices it has created # and configured. /usr/sbin/setsebool -P dbus_access_tuntap_device on %preun if [ $1 == 0 ]; then # Disable the SELinux boolean again on uninstall /usr/sbin/setsebool -P dbus_access_tuntap_device off # ... and unload the SELinux policy module /usr/sbin/semodule -r openvpn3 fi %files %doc COPYRIGHT.md README.md docs/*.md docs/dbus/*.md %config(noreplace) %{_sysconfdir}/dbus-1/system.d/net.openvpn.v3.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/net.openvpn.v3.*.conf %config %{_sysconfdir}/%{name} %{_libexecdir}/openvpn3-linux/openvpn3-service-logger %{_libexecdir}/openvpn3-linux/openvpn3-service-configmgr %{_libexecdir}/openvpn3-linux/openvpn3-service-netcfg %{_unitdir}/openvpn3-autoload.service %{_sbindir}/openvpn3-autoload %{_sbindir}/openvpn3-admin %{python3_sitelib}/openvpn3/*.py %{python3_sitelib}/openvpn3/__pycache__/* %{_datarootdir}/dbus-1/system-services/net.openvpn.v3.configuration.service %{_datarootdir}/dbus-1/system-services/net.openvpn.v3.log.service %{_datarootdir}/dbus-1/system-services/net.openvpn.v3.netcfg.service %dir %attr(750, openvpn, openvpn)%{_sharedstatedir}/%{name} %{_mandir}/man7/openvpn3-linux.7* %{_mandir}/man8/openvpn3-autoload.8* %{_mandir}/man8/openvpn3-admin*.8* %{_mandir}/man8/openvpn3-service-logger.8* %{_mandir}/man8/openvpn3-service-configmgr.8* %{_mandir}/man8/openvpn3-service-netcfg.8* %files client %{_bindir}/openvpn2 %{_bindir}/openvpn3 %{_bindir}/openvpn3-as %{_libexecdir}/openvpn3-linux/openvpn3-service-backendstart %{_libexecdir}/openvpn3-linux/openvpn3-service-client %{_libexecdir}/openvpn3-linux/openvpn3-service-sessionmgr %{_datarootdir}/bash-completion/completions/openvpn3 %{_datarootdir}/dbus-1/system-services/net.openvpn.v3.backends.service %{_datarootdir}/dbus-1/system-services/net.openvpn.v3.sessions.service %dir %attr(750, openvpn, openvpn)%{_sharedstatedir}/%{name}/configs %{_mandir}/man1/openvpn2.1* %{_mandir}/man1/openvpn3.1* %{_mandir}/man1/openvpn3-as.1* %{_mandir}/man1/openvpn3-config*.1* %{_mandir}/man1/openvpn3-log.1* %{_mandir}/man1/openvpn3-session*.1* %{_mandir}/man8/openvpn3-service-backendstart.8* %{_mandir}/man8/openvpn3-service-client.8* %{_mandir}/man8/openvpn3-service-sessionmgr.8* %changelog * Mon Feb 10 2020 David Sommerseth - 8-0.beta1 - Packaging of the openvpn3-linux-8_beta release - Added additional compiler flags specific for RHEL-7 * Wed Dec 11 2019 David Sommerseth - 7-0.beta1 - Packaging of the openvpn3-linux-7_beta release - Corrected incorrect packaging of openvpn3-autoload.service file * Fri May 24 2019 David Sommerseth - 6-0.beta1 - Packaging of the openvpn3-linux-6_beta release - This moves over to OpenSSL 1.1 on distributions providing that * Wed Apr 3 2019 David Sommerseth - 5-0.beta1 - Packaging of openvpn3-linux-5_beta release - This release swaps out mbed TLS with OpenSSL - Moving up to Python 3.6 dependency for RHEL 7 * Wed Mar 6 2019 David Sommerseth - 4-0.beta2 - Added missing packaging of /var/lib/openvpn3/configs dir * Fri Mar 1 2019 David Sommerseth - 4-0.beta1 - Packaging of openvpn3-linux-4_beta release * Thu Jan 31 2019 David Sommerseth - 3-0.beta1 - Packaging of openvpn3-linux-3_beta release * Wed Jan 30 2019 David Sommerseth - 2-0.beta1 - Packaging of openvpn3-linux-2_beta release * Sat Dec 8 2018 David Sommerseth - 1-0.beta1 - First openvpn3-linux-1_beta release