Bug 741706 - Review Request: ttyrec - tty recorder [NEEDINFO]
Summary: Review Request: ttyrec - tty recorder
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2011-09-27 16:26 UTC by James S. Martin
Modified: 2015-07-21 13:17 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2015-07-21 13:17:24 UTC
Type: ---
j: needinfo? (jmartin)
cristian.ciupitu: needinfo? (jmartin)

Attachments (Terms of Use)

Description James S. Martin 2011-09-27 16:26:50 UTC
Spec URL: http://gio.rupture.net/ttyrec.spec
SRPM URL: http://gio.rupture.net/ttyrec-1.0.8-2.src.rpm
Description:  ttyrec can record any terminal session and be replayed later.  Unlike the script command, it has no problem recording vi sessions, or any other programs that run in a terminal. Recorded data can be played back with the included ttyplay command.

This is my first package and I need a sponsor.

Comment 1 Dan Callaghan 2011-10-10 03:42:46 UTC
Unfortunately I can't take this review or sponsor you, but I've done an informal review of this package and there are a few issues you may wish to fix.

Package Review

- = N/A
x = Check
! = Problem
? = Not evaluated

[X]  Package is named according to the Package Naming Guidelines.
[X]  Spec file name must match the base package %{name}, in the format %{name}.spec.
[!]  Package meets the Packaging Guidelines.

Compiler flags are not honoured. The package's Makefile overrides CFLAGS 
inherited from the environment. You could patch it not to do that (for example, 
by using ?= instead of = in the Makefile) and then export 
CFLAGS="$RPM_OPT_FLAGS" (or similar) in the %build section.

[!]  Package successfully compiles and builds into binary rpms on at least one supported architecture.

Fails to build on Fedora 15 x86_64:
gcc -O2 -DHAVE_openpty   -c -o ttyrec.o ttyrec.c
ttyrec.c:74:21: fatal error: libutil.h: No such file or directory
compilation terminated.
make: *** [ttyrec.o] Error 1

This is fixed by adding BuildRequires: libbsd-devel.

According to the package's README it can use getpt(3) on Linux, perhaps that is 
preferable to using openpty(3).

[!]  Rpmlint output:

ttyrec.src: W: spelling-error Summary(en_US) tty -> try, ttys, atty
ttyrec.src: W: spelling-error %description -l en_US ttyplay -> platy
ttyrec.src: W: spelling-error %description -l en_US emacs -> Emacs, macs, maces
ttyrec.src: W: spelling-error %description -l en_US nw -> NW, n, w
ttyrec.src: W: spelling-error %description -l en_US tty -> try, ttys, atty
ttyrec.x86_64: W: spelling-error Summary(en_US) tty -> try, ttys, atty
ttyrec.x86_64: W: spelling-error %description -l en_US emacs -> Emacs, macs, maces
ttyrec.x86_64: W: spelling-error %description -l en_US nw -> NW, n, w
ttyrec.x86_64: W: spelling-error %description -l en_US tty -> try, ttys, atty
ttyrec-debuginfo.x86_64: E: debuginfo-without-sources

The spelling errors can be ignored I think. The debuginfo-without-sources error 
is because -g is not in CFLAGS.

[X]  Package is not relocatable.
[!]  Buildroot is absent

You can remove the BuildRoot tag unless you're targetting EPEL5. The 
rm -rf $RPM_BUILD_ROOT line in the %install section is also not necessary and 
can be removed.

[!]  Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines.
[!]  License field in the package spec file matches the actual license.
License type: BSD

The upstream web site says the package is released "under the terms of the BSD 
Licence" without specifying which variation of the BSD license, and there is no 
COPYING or LICENSE file in the tarball. Presumably they don't mean the original 
BSD with advertising clause. You should clarify this with upstream, and request 
that they add the missing license file.

[-]  If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %doc.
[X]  Spec file is legible and written in American English.
[X]  Sources used to build the package matches the upstream source, as provided in the spec URL.
MD5SUM this package    : ee74158c6c55ae16327595c70369ef83
MD5SUM upstream package: ee74158c6c55ae16327595c70369ef83
[X]  Package is not known to require ExcludeArch
[!]  All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines.
[-]  The spec file handles locales properly.
[-]  ldconfig called in %post and %postun if required.
[X]  Package must own all directories that it creates.
[-]  Package requires other packages for directories it uses.
[X]  Package does not contain duplicates in %files.
[X]  Permissions on files are set properly.
[!]  Package has no %clean section

The %clean section is not needed anymore and should be removed.

[X]  Package consistently uses macros.
[X]  Package contains code, or permissable content.
[-]  Large documentation files are in a -doc subpackage, if required.
[-]  Package uses nothing in %doc for runtime.
[-]  Header files in -devel subpackage, if present.
[-]  Static libraries in -devel subpackage, if present.
[-]  Package requires pkgconfig, if .pc files are present.
[-]  Development .so files in -devel subpackage, if present.
[-]  Fully versioned dependency in subpackages, if present.
[X]  Package does not contain any libtool archives (.la).
[-]  Package contains a properly installed %{name}.desktop file if it is a GUI application.
[X]  Package does not own files or directories owned by other packages.

[X]  Latest version is packaged.
[X]  Package does not include license text files separate from upstream.
[-]  Description and summary sections in the package spec file contains translations for supported Non-English languages, if available.
[!]  Reviewer should test that the package builds in mock.

Build fails on Fedora 15 x86_64 as described above.

[?]  Package should compile and build into binary rpms on all supported architectures.
[?]  Package functions as described.
[-]  Scriptlets must be sane, if used.
[-]  The placement of pkgconfig(.pc) files are correct.
[-]  File based requires are sane.

Comment 2 Thomas Spura 2012-03-11 01:54:30 UTC
Any news here?

For more information on how to get sponsored see here:

Have you done some informal reviews yet?
Please link them here, when you'll do some.

Comment 3 James S. Martin 2012-06-11 16:29:12 UTC
Wow time flies fast.  Thanks for the informal review.  I've contacted upstream and have asked them for a a definitive response on licensing.

Comment 4 Cristian Ciupitu 2013-10-19 00:05:51 UTC
The website doesn't seem to be available any more.

Comment 5 Miroslav Suchý 2015-07-21 13:17:24 UTC
Closing due long inactivity. Feel free to reopen if you want to continue.

Note You need to log in before you can comment on or make changes to this bug.