From a17a5ddea0833b6d4ef52bc188304e06a12275f0 Mon Sep 17 00:00:00 2001 From: Nikolai Kondrashov Date: Wed, 24 Jan 2018 16:53:54 +0200 Subject: [PATCH] Upgrade to upstream v4 release --- .gitignore | 1 + sources | 2 +- tlog.spec | 66 ++++++++++++++++++++++++++++++++++++++++++------------ 3 files changed, 54 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index 83671b1..ed30d3b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /tlog-2.tar.gz /tlog-3.tar.gz +/tlog-4.tar.gz diff --git a/sources b/sources index bda58ed..92435c8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (tlog-3.tar.gz) = c7ca36d0bc586dfc46f33b93d4ae490ead1573d9c26c5dc604a1ee7e3d19d5365366b620b623fed89a7ee32856b7934ff6f6fbdd8860e3b431e2eae969dec7b8 +SHA512 (tlog-4.tar.gz) = f755b48f2b0d3e71ba6458ffa81408a6eb5e9b2624b77e079b85f87b0fa9f5a27209ad1dd1a1e7b2d6cd22c46b3555d8690cc0ee5b2ad6892a4fd0e497d24750 diff --git a/tlog.spec b/tlog.spec index 1100723..4e53db8 100644 --- a/tlog.spec +++ b/tlog.spec @@ -1,6 +1,6 @@ Name: tlog -Version: 3 -Release: 4%{?dist} +Version: 4 +Release: 1%{?dist} Summary: Terminal I/O logger Group: Applications/System @@ -13,6 +13,7 @@ BuildRequires: curl-devel BuildRequires: m4 # If it's not RHEL6 and older %if 0%{?rhel} == 0 || 0%{?rhel} >= 7 +BuildRequires: systemd-devel BuildRequires: systemd-units %endif Requires(post): sed @@ -32,7 +33,13 @@ in JSON format. %setup -q %build +# If it's not RHEL6 and older +%if 0%{?rhel} == 0 || 0%{?rhel} >= 7 %configure --disable-rpath --disable-static +# Else, if it's RHEL6 or older +%else +%configure --disable-rpath --disable-static --disable-journal +%endif make %{?_smp_mflags} %check @@ -74,7 +81,8 @@ rm -r %{buildroot}/usr/include/%{name} %{!?_licensedir:%global license %doc} %license COPYING %doc %{_defaultdocdir}/%{name} -%attr(6755,%{name},%{name}) %{_bindir}/%{name}-rec +%{_bindir}/%{name}-rec +%attr(6755,%{name},%{name}) %{_bindir}/%{name}-rec-session %{_bindir}/%{name}-play %{_libdir}/lib%{name}.so* %{_datadir}/%{name} @@ -90,26 +98,56 @@ rm -r %{buildroot}/usr/include/%{name} %endif %dir %{_sysconfdir}/%{name} %config(noreplace) %{_sysconfdir}/%{name}/%{name}-rec.conf +%config(noreplace) %{_sysconfdir}/%{name}/%{name}-rec-session.conf %config(noreplace) %{_sysconfdir}/%{name}/%{name}-play.conf %post /sbin/ldconfig -# Add tlog-rec to /etc/shells if it exists -test -e '%{_sysconfdir}/shells' && - sed -i \ - -e '\%^%{_bindir}/%{name}-rec$% q' \ - -e '$ s%$%\n%{_bindir}/%{name}-rec%' \ - %{_sysconfdir}/shells %postun /sbin/ldconfig -# Remove tlog-rec from /etc/shells if it exists -test -e '%{_sysconfdir}/shells' && - sed -i \ - -e '\%^%{_bindir}/%{name}-rec$% d' \ - %{_sysconfdir}/shells %changelog +* Wed Jan 24 2018 Nikolai Kondrashov - 4-1 +- Release v4. Added features and implemented fixes follow. See README.md and + manpages for documentation of new features. +- Extract user session recording functionality from tlog-rec into a new tool: + tlog-rec-session. It should be used as the user's login shell now, and + tlog-rec should be used as a general recording and testing tool. +- Add (optional) support for writing to and reading from Systemd Journal - the + "journal" reader and writer. +- Make tlog-rec default to "file" writer, and tlog-rec-session to "journal", + if built with Journal support, and to "syslog" otherwise. +- Add "-o" option to tlog-rec as an alias to "--file-path". +- Add "-i" option to tlog-play as an alias to "--file-path". +- Assume locale charset is UTF-8, if ASCII charset is detected, since that is + a likely indication the locale settings were lost. E.g. upon console login + or "su -" on Fedora and RHEL. +- Switch the "ver" JSON field type to string. Now it should be two numbers + separated by a dot. The increase of the first number indicates + forward-incompatible changes, the increase of the second number - + forward-compatible. If the dot and the second number are omitted, the second + number is considered to be zero. Bump the format version to "2". +- Add a new JSON field: "rec", containing an opaque host-unique recording ID. + Bump the format version to "2.1". +- Add support for playback controls, both through the command line and via + playback-time control keys, including: speed adjustment, pause/resume, + fast-forward to a time, and packet-by-packet stepping through the recording. +- Add optional rate-limiting of logged messages. Both throttling and dropping + messages are supported. +- Add "--lax" option to tlog-play to allow playing back recordings with + missing messages. +- Fix input being ignored when there is a lot of output, while recording. +- Remove addition of tlog-rec (tlog-rec-session) to /etc/shells from RPM + packaging to prevent users from changing their shells themselves once it has + been assigned. +- Add support for specifying the shell to start via the tlog-rec-session + executable name. E.g. by making a tlog-rec-session-shell-zsh -> + tlog-rec-session symlink and executing it. That can be used to specify + particular shells to be recorded for specific users by assigning these + symlinks as their login shells. +- Make error messages from all the tools a bit less noisy and more readable. + * Sun Dec 10 2017 Björn Esser - 3-4 - Rebuilt for libjson-c.so.3