-
Notifications
You must be signed in to change notification settings - Fork 4
/
headscale.spec
147 lines (104 loc) · 3.45 KB
/
headscale.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
%bcond_without vendor
%if %{without vendor}
%bcond_without check
%endif
# needed for the way some dependencies work
%global gomodulesmode GO111MODULE=on
# https://github.com/juanfont/headscale
%global goipath github.com/juanfont/headscale
Version: 0.22.3
%if 0%{?rhel}
%gometa
%else
%gometa -f
%endif
%global common_description %{expand:
An open source, self-hosted implementation of the Tailscale control server.}
%global golicenses LICENSE
Name: headscale
Release: 3
Summary: An open source, self-hosted implementation of the Tailscale control server
License: BSD-3-Clause
URL: %{gourl}
%if %{with vendor}
# see create-vendor-tarball.sh in this distgit repo
Source0: headscale-%{version}-vendored.tar.xz
%else
Source0: %{gosource}
%endif
Source1: headscale.service
Source2: headscale.tmpfiles
Source3: headscale.sysusers
Source4: config.yaml
# https://github.com/juanfont/headscale/pull/1287
#Patch: 1287.patch
BuildRequires: git-core
BuildRequires: systemd-rpm-macros
BuildRequires: tar
Requires: systemd
%description %{common_description}
%if %{without vendor}
%gopkg
%endif
%prep
%goprep %{?with_vendor:-k}
%autopatch -p1
%build
%gobuild -o %{gobuilddir}/bin/%{name} %{goipath}/cmd/%{name}
%install
%if %{without vendor}
%gopkginstall
%endif
install -m 0755 -vd %{buildroot}%{_bindir}
install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/
install -p -D -m 0644 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/%{name}.conf
install -d -m 0755 %{buildroot}/run/%{name}/
install -p -D -m 0644 %{SOURCE3} %{buildroot}%{_sysusersdir}/headscale.sysusers
install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service
install -p -d -m 0755 %{buildroot}%{_sharedstatedir}/headscale/
install -p -D -m 0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/headscale/config.yaml
%if %{with check}
%check
%gocheck
%endif
%pre
%sysusers_create_compat %{SOURCE3}
%post
%systemd_post headscale.service
%preun
%systemd_preun headscale.service
%postun
%systemd_postun_with_restart headscale.service
%files
%license LICENSE
%doc docs/ README.md CHANGELOG.md
%{_bindir}/headscale
%{_tmpfilesdir}/%{name}.conf
%{_sysusersdir}/%{name}.sysusers
%{_unitdir}/%{name}.service
%dir %attr(0755,headscale,headscale) %{_sharedstatedir}/%{name}/
%attr(0755,headscale,headscale) %{_sysconfdir}/%{name}/
%attr(0644,headscale,headscale) %config(noreplace) %{_sysconfdir}/%{name}/config.yaml
%if %{without vendor}
%gopkgfiles
%endif
%changelog
* Mon Jan 22 2024 Jonathan Wright <jonathan@almalinux.org> - 0.22.3-3
- Update systemd unit to After=network-online.target
* Fri Jun 07 2023 Dusty Mabe <dusty@dustymabe.com> - 0.22.3-2
- Add Requires on systemd
* Fri May 12 2023 Jonathan Wright <jonathan@almalinux.org> - 0.22.3-1
- Update to 0.22.3
* Tue Apr 25 2023 Jonathan Wright <jonathan@almalinux.org> - 0.22.1-2
- Add patch to fix high CPU usage from ACLs
* Thu Apr 20 2023 Jonathan Wright <jonathan@almalinux.org> - 0.22.1-1
- Update to 0.22.1
* Thu Apr 20 2023 Jonathan Wright <jonathan@almalinux.org> - 0.22.0-1
- Update to 0.22.0
- Use vendored source tarball
* Wed Apr 19 2023 Jonathan Wright <jonathan@almalinux.org> - 0.21.0-3
- allow binding of privileged ports
* Wed Apr 19 2023 Jonathan Wright <jonathan@almalinux.org> - 0.21.0-2
- add preferred_username field patch
* Wed Apr 19 2023 Jonathan Wright <jonathan@almalinux.org> - 0.21.0-1
- Initial package build