Blob Blame History Raw
%if 0%{?el8} || 0%{?fc34}
%ifarch s390x
# ConnectionTest fails
%bcond_with tests
%else
%bcond_without tests
%endif
%else
%bcond_without tests
%endif

%global _firewalld_dir %{_prefix}/lib/firewalld

Name:           et
Version:        6.1.9
Release:        2%{?dist}
Summary:        Remote shell that survives IP roaming and disconnect

License:        ASL 2.0
URL:            https://mistertea.github.io/EternalTerminal/
Source0:        https://github.com/MisterTea/EternalTerminal/archive/et-v%{version}.tar.gz
Source1:        et.xml
# SIGSTKSZ is no longer constant in glibc > 2.33 but a function returning a long
# cast the result before taking max
# upstream patchset: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/3261335
Patch0:         et-6.1.9-fix-breakpad-sigstksz.patch

BuildRequires:  boost-devel
BuildRequires:  cmake3
BuildRequires:  firewalld-filesystem
BuildRequires:  gcc-c++
BuildRequires:  gflags-devel
BuildRequires:  libatomic
BuildRequires:  libcurl-devel
BuildRequires:  libsodium-devel
BuildRequires:  libutempter-devel
BuildRequires:  ncurses-devel
BuildRequires:  openssl-devel
BuildRequires:  protobuf-compiler
BuildRequires:  protobuf-lite-devel
BuildRequires:  systemd

# Bundled libraries
# cat .gitmodules | grep submodule | sort
# for tarball, s/external/external_imported
Provides:       bundled(base64) = 0
# Catch2 is only a test framework
# external_imported/cotire/CMake/cotire.cmake
Provides:       bundled(cotire) = 1.8.0
# grep User-Agent external/cpp-httlib/httplib.h
# cross-check with the git checkout for specific version
Provides:       bundled(cpp-httplib) = 0.7.18
# external/cxxopts/include/cxxopts.hpp
Provides:       bundled(cxxopts) = 2.2.0
# external/easylogingcpp/CMakeLists.txt
Provides:       bundled(easyloggingpp) = 9.96.7
# external/msgpack-c/include/msgpack/version_master.h
Provides:       bundled(msgpack) = 3.3.0
# external/json/CMakeLists.txt
Provides:       bundled(nlohmann_json) = 3.9.1
# external/PlatformFolders/CMakeLists.txt
Provides:       bundled(PlatformFolders) = 4.0.0
# sanitizers-cmake is only used when building
%ifnarch ppc64le s390x
Provides:       bundled(sentry-native) = 0.4.7
%endif
# external/simpleini/SimpleIni.h
Provides:       bundled(simpleini) = 4.17
# https://github.com/r-lyeh-archived/sole
Provides:       bundled(sole) = 1.0.1
Provides:       bundled(ThreadPool) = 0
Provides:       bundled(UniversalStacktrace) = 0
# vcpkg is disabled

%{?systemd_requires}

%description
Eternal Terminal (ET) is a remote shell that automatically reconnects without
interrupting the session.


%prep
# %%autosetup -p1 -n EternalTerminal-et-v%{version}
%setup -q -n EternalTerminal-et-v%{version}
cd external_imported/sentry-native/external/breakpad
%patch0 -p1 -b .sigstksz


%build
%cmake . \
%ifarch ppc64le s390x
  -DDISABLE_SENTRY=TRUE \
%endif
  -DDISABLE_VCPKG=TRUE
%cmake_build


%install
%cmake_install
mkdir -p \
  %{buildroot}%{_unitdir} \
  %{buildroot}%{_sysconfdir} \
  %{buildroot}%{_firewalld_dir}/services
install -m 0644 -p systemctl/et.service %{buildroot}%{_unitdir}/et.service
install -m 0644 -p etc/et.cfg %{buildroot}%{_sysconfdir}/et.cfg
install -m 0644 %{SOURCE1} %{buildroot}%{_firewalld_dir}/services/et.xml


%if %{with tests}
%check
%if 0%{?fedora}
%ctest
%else
%ctest --verbose
%endif
%endif


%post
%systemd_post et.service
%firewalld_reload

%preun
%systemd_preun et.service

%postun
%systemd_postun_with_restart et.service
%firewalld_reload


%files
%license LICENSE
%doc README.md
%{_bindir}/et
%{_bindir}/etserver
%{_bindir}/etterminal
%{_bindir}/htm
%{_bindir}/htmd
%dir %{_firewalld_dir}
%dir %{_firewalld_dir}/services
%{_firewalld_dir}/services/et.xml
%config(noreplace) %{_sysconfdir}/et.cfg
%{_unitdir}/et.service


%changelog
* Sun Nov 07 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 6.1.9-2
- rebuild for new protobuf

* Thu Nov  4 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 6.1.9-1
- Update to 6.1.9

* Wed Nov  3 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 6.1.8-4.20211103git900348b
- Red fixes

* Mon Oct 25 2021 Adrian Reber <adrian@lisas.de> - 6.1.8-4
- Rebuilt for protobuf 3.18.1

* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 6.1.8-3
- Rebuilt with OpenSSL 3.0.0

* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.1.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Sun Jul 11 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 6.1.8-1
- Update to 6.1.8

* Mon Apr 26 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 6.1.7-1
- Update to 6.1.7

* Tue Mar 30 2021 Jonathan Wakely <jwakely@redhat.com> - 6.1.4-2
- Rebuilt for removed libstdc++ symbol (#1937698)

* Tue Mar 16 2021 Michel Alexandre Salim <salimma@fedoraproject.org> - 6.1.4-1
- Update to 6.1.4
- Fix for SIGSTKSZ/MINSIGSTKSZ non-constant on glibc > 2.33
- Declare bundled libraries

* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 6.0.13-4
- Rebuilt for updated systemd-rpm-macros
  See https://pagure.io/fesco/issue/2583.

* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.13-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Thu Jan 14 08:47:13 CET 2021 Adrian Reber <adrian@lisas.de> - 6.0.13-2
- Rebuilt for protobuf 3.14

* Thu Nov 19 2020 Michel Alexandre Salim <salimma@fedoraproject.org> - 6.0.13-1
- Update to 6.0.13

* Thu Nov  5 2020 Filipe Brandenburger <filbranden@gmail.com> - 6.0.11-3
- Go back to using protobuf-lite on epel8, since the -devel package
  for it is now available (rhbz#1787458).

* Thu Sep 24 2020 Adrian Reber <adrian@lisas.de> - 6.0.11-2
- Rebuilt for protobuf 3.13

* Mon Aug  3 2020 Michel Alexandre Salim <salimma@fedoraproject.org> - 6.0.11-1
- Update to 6.0.11
- Use the new option to specify linking against the full protobuf on EPEL
- Adjust for cmake macro changes

* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.7-4
- Second attempt - Rebuilt for
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Sun Jun 14 2020 Adrian Reber <adrian@lisas.de> - 6.0.7-2
- Rebuilt for protobuf 3.12

* Tue Mar  3 2020 Michel Alexandre Salim <salimma@fedoraproject.org> - 6.0.7-1
- Update to 6.0.7

* Tue Feb 18 2020 Michel Alexandre Salim <salimma@fedoraproject.org> - 6.0.6-1
- Update to 6.0.6

* Sat Feb  1 2020 Michel Alexandre Salim <salimma@fedoraproject.org> - 6.0.5-1
- Update to 6.0.5
- Build for EPEL 8

* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Sun Dec  1 2019 Michel Alexandre Salim <salimma@fedoraproject.org> - 6.0.4-1
- Update to 6.0.4

* Sun Sep 22 2019 Michel Alexandre Salim <salimma@fedoraproject.org> - 6.0.3-1
- Update to 6.0.3

* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.10-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Mon May 27 2019 Michel Alexandre Salim <salimma@fedoraproject.org> - 5.1.10-1
- Update to 5.1.10

* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Wed Jan 16 2019 Jason Gauci <jgmath2000@gmail.com> - 5.1.9-1
- https://github.com/MisterTea/EternalTerminal/releases/tag/et-v5.1.9

* Wed Nov 21 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 5.1.8-3
- Rebuild for protobuf 3.6

* Wed Oct 31 2018 Sérgio Basto <sergio@serjux.com> - 5.1.8-2
- Make it possible build it on EPEL 7

* Mon Oct 29 2018 Michel Alexandre Salim <salimma@fedoraproject.org> - 5.1.8-1
- https://github.com/MisterTea/EternalTerminal/releases/tag/et-v5.1.8

* Wed Oct 17 2018 Michel Alexandre Salim <salimma@fedoraproject.org> - 5.1.7-1%{?dist}
- https://github.com/MisterTea/EternalTerminal/releases/tag/et-v5.1.7
- https://github.com/MisterTea/EternalTerminal/releases/tag/et-v5.1.6

* Tue Oct  9 2018 Jason Gauci <jgmath2000@gmail.com> - 5.1.5-2%{?dist}
- https://github.com/MisterTea/EternalTerminal/releases/tag/et-v5.1.5
- https://github.com/MisterTea/EternalTerminal/releases/tag/et-v5.1.4
- https://github.com/MisterTea/EternalTerminal/releases/tag/et-v5.1.3
- https://github.com/MisterTea/EternalTerminal/releases/tag/et-v5.1.2
- https://github.com/MisterTea/EternalTerminal/releases/tag/et-v5.1.1

* Fri Aug 24 2018 Michel Alexandre Salim <salimma@fedoraproject.org> - 5.1.0-1%{?dist}
- Update to 5.1.0

* Tue Aug 14 2018 Michel Alexandre Salim <salimma@fedoraproject.org> - 5.0.7-2%{?dist}
- add BR on gcc-c++

* Thu Aug  9 2018 Michel Alexandre Salim <salimma@fedoraproject.org> - 5.0.7-1%{?dist}
- Initial package