diff --git a/kcptun.spec b/kcptun.spec new file mode 100644 index 0000000..cd92c98 --- /dev/null +++ b/kcptun.spec @@ -0,0 +1,131 @@ +%global debug_package %{nil} +%global _dwz_low_mem_die_limit 0 +%global __os_install_post /usr/lib/rpm/brp-compress %{nil} + +Name: kcptun +Version: 20210922 +Release: 1 +Summary: A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC + +License: MIT +URL: https://github.com/xtaci/kcptun +Source0: %{name}-%{version}.tar.gz + +BuildRequires: golang +BuildRequires: glibc-static + +%description +A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC + +%package server +Summary: kcptun-server +Requires: systemd + +%description server +A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC + +%package client +Summary: kcptun-client +Requires: systemd + +%description client +A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC + +%prep +%autosetup + +%build +LDFLAGS='-s -w -linkmode=external -extldflags -static -X main.VERSION=%{version}' +go build -ldflags "$LDFLAGS" -o %{name}-server github.com/xtaci/kcptun/server +go build -ldflags "$LDFLAGS" -o %{name}-client github.com/xtaci/kcptun/client + +%install +rm -rf $RPM_BUILD_ROOT + +%{__mkdir} -p $RPM_BUILD_ROOT%{_bindir} +%{__install} -p -m 755 kcptun-server $RPM_BUILD_ROOT%{_bindir}/kcptun-server +%{__install} -p -m 755 kcptun-client $RPM_BUILD_ROOT%{_bindir}/kcptun-client + +%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name} +%{__install} -p -m 644 examples/server.json $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/server.json +%{__install} -p -m 644 examples/local.json $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/client.json + +%{__mkdir} -p $RPM_BUILD_ROOT%{_unitdir} +cat > $RPM_BUILD_ROOT%{_unitdir}/kcptun-server.service < $RPM_BUILD_ROOT%{_unitdir}/kcptun-client.service < +- First package for kcptun