Init
This commit is contained in:
commit
1d299d5b12
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc/
|
6
_service
Normal file
6
_service
Normal file
@ -0,0 +1,6 @@
|
||||
<services>
|
||||
<service name="go_modules" mode="disabled">
|
||||
<param name="archive">ssh-chat-1.10.tar.gz</param>
|
||||
</service>
|
||||
</services>
|
||||
|
BIN
ssh-chat-1.10.tar.gz
Normal file
BIN
ssh-chat-1.10.tar.gz
Normal file
Binary file not shown.
157
ssh-chat.spec
Normal file
157
ssh-chat.spec
Normal file
@ -0,0 +1,157 @@
|
||||
Name: ssh-chat
|
||||
Version: 1.10
|
||||
Release: 0.4
|
||||
Group: Productivity/Networking/SSH
|
||||
Summary: SSH server providing a chatroom
|
||||
License: MIT
|
||||
URL: https://github.com/shazow/ssh-chat
|
||||
#Original source: https://github.com/shazow/ssh-chat/archive/v1.10.tar.gz
|
||||
#Custom source, renamed for Go vendor dependencies and including launch script as well as systemd unit file below:
|
||||
Source0: %{name}-%{version}.tar.gz
|
||||
Source1: vendor.tar.gz
|
||||
%if 0%{?suse_version}
|
||||
BuildRequires: go >= 1.16
|
||||
BuildRequires: golang-packaging systemd-rpm-macros fdupes rpm
|
||||
Requires: systemd
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1500
|
||||
BuildRequires: openssh-common
|
||||
Requires: openssh-common
|
||||
%endif
|
||||
%if 0%{?sle_version} == 150300
|
||||
BuildRequires: openssh-common
|
||||
Requires: openssh-common
|
||||
%endif
|
||||
%if 0%{?sle_version} == 150200
|
||||
BuildRequires: openssh
|
||||
Requires: openssh
|
||||
%endif
|
||||
%if 0%{?fedora}
|
||||
BuildRequires: golang go-rpm-macros fdupes openssh
|
||||
Requires: systemd openssh
|
||||
%endif
|
||||
|
||||
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
|
||||
|
||||
%global provider_prefix github.com/shazow/ssh-chat
|
||||
%global import_path %{provider_prefix}
|
||||
%if 0%{?fedora} || 0%{?0%{?centos_version}}
|
||||
%global goipath github.com/shazow/ssh-chat
|
||||
%global debug_package %{nil}
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version}
|
||||
%{go_nostrip}
|
||||
%{go_provides}
|
||||
%endif
|
||||
%if 0%{?fedora}
|
||||
%gopkg
|
||||
%endif
|
||||
|
||||
%description
|
||||
Custom SSH server written in Go. Instead of a shell, you get a chat prompt.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-%{version}
|
||||
%setup -q -T -D -a 1
|
||||
%if 0%{?fedora}
|
||||
%goprep
|
||||
%endif
|
||||
%setup -q -T -D -a 1
|
||||
|
||||
%pre
|
||||
%service_add_pre ssh-chat.service
|
||||
|
||||
%build
|
||||
export GOFLAGS="-mod=vendor"
|
||||
%if 0%{?suse_version}
|
||||
%goprep %{import_path}
|
||||
%gobuild cmd/ssh-chat
|
||||
%endif
|
||||
#Hacking Fedora's Go packaging implementation to use vendor source files instead of nuking them... Know a better way? PLEASE let me know.
|
||||
%if 0%{?fedora}
|
||||
rm -rf "%{_builddir}/%{extractdir0}/_build/src/github.com/shazow/ssh-chat"
|
||||
ln -s "%{_builddir}/%{name}-%{version}" "%{_builddir}/%{extractdir0}/_build/src/github.com/shazow/ssh-chat"
|
||||
%gobuild -o %{gobuilddir}/bin/%{name} %{goipath}/cmd/ssh-chat
|
||||
%endif
|
||||
|
||||
%install
|
||||
export GOFLAGS="-mod=vendor"
|
||||
%if 0%{?suse_version}
|
||||
%goinstall
|
||||
%gosrc
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version}
|
||||
%fdupes %{buildroot}%{_datadir}/go
|
||||
install -d -m 755 %{buildroot}%{_sbindir}
|
||||
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcssh-chat
|
||||
%endif
|
||||
%if 0%{?fedora}
|
||||
install -m 0755 -vd %{buildroot}%{_bindir}
|
||||
install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/
|
||||
%endif
|
||||
install -D -m 700 %{_builddir}/%{name}-%{version}/rpm/ssh-chat.sh %{buildroot}%{_sysconfdir}/%{name}/ssh-chat.sh
|
||||
install -d -m 700 %{buildroot}%{_libdir}/%{name}
|
||||
ssh-keygen -f %{buildroot}%{_libdir}/%{name}/host_key -P ''
|
||||
chmod 400 %{buildroot}%{_libdir}/%{name}/host_key
|
||||
touch %{buildroot}%{_sysconfdir}/%{name}/admin_keys
|
||||
chmod 600 %{buildroot}%{_sysconfdir}/%{name}/admin_keys
|
||||
install -D -m 644 %{_builddir}/%{name}-%{version}/rpm/ssh-chat.service %{buildroot}%{_unitdir}/ssh-chat.service
|
||||
|
||||
%check
|
||||
%if 0%{?suse_version}
|
||||
export GOFLAGS="-mod=vendor"
|
||||
# Architecture related testing issues: https://github.com/shazow/ssh-chat/issues/187
|
||||
%ifarch i568
|
||||
%gotest %{import_path}/cmd/ssh-chat
|
||||
%ifarch armv7l
|
||||
echo "No Go testing possible!"
|
||||
%else
|
||||
%gotest %{import_path}
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%if 0%{?fedora}
|
||||
%ifarch armv7l
|
||||
echo "No Go testing possible!"
|
||||
%else
|
||||
%gocheck
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version}
|
||||
%gofilelist
|
||||
%files -f file.lst
|
||||
%{_sbindir}/rcssh-chat
|
||||
%endif
|
||||
%if 0%{?fedora}
|
||||
%files
|
||||
%endif
|
||||
%{_bindir}/%{name}
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%dir %{_sysconfdir}/%{name}
|
||||
%config(noreplace) %{_sysconfdir}/%{name}/ssh-chat.sh
|
||||
%config(noreplace) %{_sysconfdir}/%{name}/admin_keys
|
||||
%dir %{_libdir}/%{name}
|
||||
%{_libdir}/%{name}/host_key
|
||||
%{_libdir}/%{name}/host_key.pub
|
||||
%{_unitdir}/ssh-chat.service
|
||||
|
||||
%post
|
||||
%service_add_post ssh-chat.service
|
||||
%preun
|
||||
%service_del_preun ssh-chat.service
|
||||
%postun
|
||||
%service_del_postun ssh-chat.service
|
||||
|
||||
%changelog
|
||||
* Tue Mar 10 2021 Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net> - 1.10-0.4
|
||||
- Fixed a typo. Added Group. Experimenting with CentOS support.
|
||||
* Tue Mar 09 2021 Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net> - 1.10-0.3
|
||||
- Added support for additional architectures: openSUSE Tumbleweed i586 and openSUSE ARM armv7l
|
||||
* Tue Mar 09 2021 Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net> - 1.10-0.2
|
||||
- Added support for Fedora
|
||||
* Sun Mar 07 2021 Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net> - 1.10-0.1
|
||||
- First ssh-chat package
|
BIN
vendor.tar.gz
Normal file
BIN
vendor.tar.gz
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user