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