]> git.pld-linux.org Git - packages/WireGuard.git/blame - WireGuard.spec
- up to 0.0.20180613
[packages/WireGuard.git] / WireGuard.spec
CommitLineData
5a08c828
JR
1# Conditional build:
2%bcond_without kernel # don't build kernel modules
3%bcond_without userspace # don't build userspace tools
4
5%if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
6%{error:kernel and userspace cannot be built at the same time on PLD builders}
7exit 1
8%endif
9
10%if %{without userspace}
11# nothing to be placed to debuginfo package
12%define _enable_debug_packages 0
13%endif
14
15%define rel 1
16%define pname WireGuard
17Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
bd5ac9e4 18Version: 0.0.20180613
67e9697d 19Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
5a08c828 20Source0: https://git.zx2c4.com/WireGuard/snapshot/%{pname}-%{version}.tar.xz
bd5ac9e4 21# Source0-md5: 890feb4f43886b84d9161ae223957f96
5a08c828
JR
22Summary: WireGuard is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography
23License: GPL v2
24Group: Networking/Daemons
25URL: https://www.wireguard.com/
26%{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:3.10}}
27BuildRequires: libmnl-devel
28BuildRequires: rpmbuild(macros) >= 1.701
29BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
30
31%description
32WireGuard is an extremely simple yet fast and modern VPN that utilizes
33state-of-the-art cryptography. It aims to be faster, simpler, leaner,
34and more useful than IPSec, while avoiding the massive headache. It
35intends to be considerably more performant than OpenVPN. WireGuard is
36designed as a general purpose VPN for running on embedded interfaces
37and super computers alike, fit for many different circumstances.
38
39This package contains user space tools. You need to also install
40kernel module from kernel-*-misc-wireguard package.
41
42%define kernel_pkg()\
43%package -n kernel%{_alt_kernel}-misc-wireguard\
44Summary: WireGuard kernel module\
45Release: %{rel}@%{_kernel_ver_str}\
46Group: Base/Kernel\
47Requires(post,postun): /sbin/depmod\
48%requires_releq_kernel\
49Requires(postun): %releq_kernel\
50\
51%description -n kernel%{_alt_kernel}-misc-wireguard\
52WireGuard kernel module.\
53%if %{with kernel}\
54%files -n kernel%{_alt_kernel}-misc-wireguard\
55%defattr(644,root,root,755)\
56/lib/modules/%{_kernel_ver}/misc/*.ko*\
57%endif\
58\
59%post -n kernel%{_alt_kernel}-misc-wireguard\
60%depmod %{_kernel_ver}\
61\
62%postun -n kernel%{_alt_kernel}-misc-wireguard\
63%depmod %{_kernel_ver}\
64%{nil}
65
66%define build_kernel_pkg()\
67%build_kernel_modules -C src -m wireguard\
68%install_kernel_modules -D installed -m src/wireguard -d misc\
69%{nil}
70
71%{?with_kernel:%{expand:%create_kernel_packages}}
72
73%prep
d7de597f 74%setup -q -n %{pname}-%{version}
5a08c828
JR
75
76%build
77%{?with_kernel:%{expand:%build_kernel_packages}}
78
79%if %{with userspace}
80%{make} -C src/tools
81%endif
82
83%install
84rm -rf $RPM_BUILD_ROOT
85
86%if %{with kernel}
87install -d $RPM_BUILD_ROOT
88cp -a installed/* $RPM_BUILD_ROOT
89%endif
90
91%if %{with userspace}
92%{make} -C src/tools install \
93 PREFIX=$RPM_BUILD_ROOT%{_prefix} \
94 SYSCONFDIR=$RPM_BUILD_ROOT%{_sysconfdir} \
95 SYSTEMDUNITDIR=$RPM_BUILD_ROOT%{systemdunitdir} \
96 WITH_SYSTEMDUNITS=yes
97%endif
98
99%clean
100rm -rf $RPM_BUILD_ROOT
101
102%postun
103%systemd_reload
104
105%if %{with userspace}
106%files
107%defattr(644,root,root,755)
108%doc contrib/examples README.md
109%attr(755,root,root) %{_bindir}/wg
110%attr(755,root,root) %{_bindir}/wg-quick
111%dir %{_sysconfdir}/wireguard
112%{systemdunitdir}/wg-quick@.service
113%{_mandir}/man8/wg-quick.8*
114%{_mandir}/man8/wg.8*
115%endif
This page took 0.240886 seconds and 4 git commands to generate.