%global forgeurl https://github.com/Jigsaw-Code/outline-sdk %global version 0.0.2 %global commit 9d799fe30059f47e3c881d1fb2d55ab5d928a95b %global date 20250325 %global gomodulesmode GO111MODULE=on %global gocompilerflags -C x %{gocompilerflags} %global source_date_epoch_from_changelog 0 %global _enable_debug_packages 0 %forgemeta Name: outline-client Version: %{forgeversion} Release: %{autorelease} Summary: Outline VPN client License: Apache-2.0 URL: %{forgeurl}/tree/main/x/examples/outline-cli Source0: %{forgesource} Source1: %{name}@.service Source2: %{name}.howto BuildRequires: git-core BuildRequires: golang-bin BuildRequires: go-rpm-macros BuildRequires: systemd-rpm-macros %description Outline VPN client that relies on Shadowsocks. %prep %forgesetup %build export GOPROXY="https://proxy.golang.org,direct" export GOFLAGS="-trimpath" export GO_LDFLAGS="-s -w" %gobuild -o %{name} ./examples/outline-cli %install %__install -p -d -m 700 %{buildroot}%{_sysconfdir}/outline/client %__install -p -D -m 644 -t %{buildroot}%{_unitdir} %{SOURCE1} %__install -p -D -m 755 -t %{buildroot}%{_bindir} x/%{name} %__install -p -D -m 644 -t %{buildroot}%{_pkgdocdir} %{SOURCE2} \ x/examples/outline-cli/README.md %post for UNIT in $(systemctl -P Id show %{name}@\*.service) do %systemd_post ${UNIT} done %preun for UNIT in $(systemctl -P Id show %{name}@\*.service) do %systemd_preun ${UNIT} done %postun for UNIT in $(systemctl -P Id show %{name}@\*.service) do %systemd_postun_with_restart ${UNIT} done %files %license LICENSE %doc %{_pkgdocdir} %{_sysconfdir}/* %{_unitdir}/* %{_bindir}/*