File frp.spec of Package frp

%define   provider        github
%define   provider_tld    com
%define   project         fatedier
%define   repo            frp
# https://github.com/fatedier/frp
%define   provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}
%define   import_path     github.com/fatedier/frp

%global build_time      2023-02-05T00:00:00Z

Name:           frp
Version:        0.63.0
Release:        0
Summary:        A fast reverse proxy
License:        Apache-2.0
Group:          Productivity/Networking/Web/Proxy
URL:            https://github.com/fatedier/frp
Source0:        frp-%{version}.tar.gz
Source1:        vendor.tar.zst
Source2:        debian.frps.service
Source3:        debian.frps@.service
Source4:        debian.frpc.service
Source5:        debian.frpc@.service
Source99:       %{name}-rpmlintrc
BuildRequires:  golang-packaging
BuildRequires:  systemd-rpm-macros
BuildRequires:  golang(API) = 1.23
BuildRequires:  pkgconfig(systemd)
BuildRequires:  zstd
AutoReqProv:    Off
%{go_provides}
%{?systemd_ordering}

%description
Frp is a fast reverse proxy in Go.

%prep
%setup -q -a1 -n frp-%{version}

%build
%goprep %{import_path}
%gobuild -tags frps -ldflags "-s -w -buildid=" ./cmd/frps
%gobuild -tags frpc -ldflags "-s -w -buildid=" ./cmd/frpc

%install
%goinstall

install -d %{buildroot}%{_unitdir}
install -m0644 %{SOURCE2} %{buildroot}%{_unitdir}/frps.service
install -m0644 %{SOURCE3} %{buildroot}%{_unitdir}/frps@.service
install -m0644 %{SOURCE4} %{buildroot}%{_unitdir}/frpc.service
install -m0644 %{SOURCE5} %{buildroot}%{_unitdir}/frpc@.service

install -d %{buildroot}%{_sysconfdir}/frp

%pre
%service_add_pre frps.service
%service_add_pre frps@.service
%service_add_pre frpc.service
%service_add_pre frpc@.service

%post
%service_add_post frps.service
%service_add_post frps@.service
%service_add_post frpc.service
%service_add_post frpc@.service

%preun
%service_del_preun frps.service
%service_del_preun frps@.service
%service_del_preun frpc.service
%service_del_preun frpc@.service

%postun
%service_del_postun frps.service
%service_del_postun frps@.service
%service_del_postun frpc.service
%service_del_postun frpc@.service

%files
%doc README.md
%license LICENSE
%{_bindir}/frps
%{_bindir}/frpc
%{_unitdir}/frps.service
%{_unitdir}/frps@.service
%{_unitdir}/frpc.service
%{_unitdir}/frpc@.service
%dir %{_sysconfdir}/frp

%changelog
openSUSE Build Service is sponsored by