Bug 226484

Summary: Merge Review: telnet
Product: [Fedora] Fedora Reporter: Nobody's working on this, feel free to take it <nobody>
Component: Package ReviewAssignee: Ondrej Vasik <ovasik>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: atkac, harald, ovasik, pertusus, redhat-bugzilla
Target Milestone: ---Flags: ovasik: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: telnet-0.17-47.fc14 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-03-09 13:28:38 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Nobody's working on this, feel free to take it 2007-01-31 21:09:43 UTC
Fedora Merge Review: telnet

http://cvs.fedora.redhat.com/viewcvs/devel/telnet/
Initial Owner: harald

Comment 1 Patrice Dumas 2008-01-26 00:03:21 UTC
rpmlint not silent:

telnet.src:31: W: buildprereq-use ncurses-devel
telnet.src:331: W: macro-in-%changelog setup
telnet.src: W: mixed-use-of-spaces-and-tabs (spaces: line 79, tab: line 81)
telnet.src: W: patch-not-applied Patch9: telnet-0.17-env-5x.patch
telnet.src: W: patch-not-applied Patch17: telnet-0.17-linemode.patch
telnet.src: W: summary-ended-with-dot The client program for the telnet remote
login protocol.
telnet.src: W: no-url-tag

Buildroot is not among the preferred ones.

Where does the telnet-client.tar.gz archive come from?

And also how was generated:
telnet-client-cvs.patch

What is all the strange pie stuff?

I would suggest using -p in 
install -p -m644 %SOURCE3 ${RPM_BUILD_ROOT}/etc/xinetd.d/telnet

It would certainly be better to use %{_sysconfdir} instead of /etc.

I suggest using %defattr(-,root,root,-) instead of %defattr(-,root,root)

Also -g is already in RPM_OPT_FLAGS?

is
export CC_FLAGS="$CC_FLAGS"
really useful since CC_FLAGS looks empty?

Comment 2 Ondrej Vasik 2009-11-27 09:40:47 UTC
Adding current maintainer to CC and taking this review... Adam, could you please take a look on the objections from Patrice ?

Comment 3 Adam Tkac 2009-11-27 12:10:18 UTC
(In reply to comment #1)
> rpmlint not silent:
> 
> telnet.src:31: W: buildprereq-use ncurses-devel
> telnet.src:331: W: macro-in-%changelog setup
> telnet.src: W: mixed-use-of-spaces-and-tabs (spaces: line 79, tab: line 81)
> telnet.src: W: patch-not-applied Patch9: telnet-0.17-env-5x.patch
> telnet.src: W: patch-not-applied Patch17: telnet-0.17-linemode.patch
> telnet.src: W: summary-ended-with-dot The client program for the telnet remote
> login protocol.

^^^ Fixed.

> telnet.src: W: no-url-tag

The telnet client is based on BSD telnet. I've found no official URL for that. I guess source was created as a CVS checknout from (Free)BSD repository.

> Buildroot is not among the preferred ones.

Fixed.

> Where does the telnet-client.tar.gz archive come from?

As I wrote above I guess it is checkout from FreeBSD repository.

> And also how was generated:
> telnet-client-cvs.patch

It is probably update from FreeBSD repo. Note that this decision was made by previous maintainer. It's not so wise to completely throw away FreeBSD source and replace it by "official" code. It will cause many regressions.

> What is all the strange pie stuff?

Important servers are usually compiled as PIEs. Due low-level architecture differences s390 & s390x needs -fPIE. All other supported archs need -fpie.

> I would suggest using -p in 
> install -p -m644 %SOURCE3 ${RPM_BUILD_ROOT}/etc/xinetd.d/telnet
> 
> It would certainly be better to use %{_sysconfdir} instead of /etc.
> 
> I suggest using %defattr(-,root,root,-) instead of %defattr(-,root,root)
> 
> Also -g is already in RPM_OPT_FLAGS?
> 
> is
> export CC_FLAGS="$CC_FLAGS"
> really useful since CC_FLAGS looks empty?  

^^^ Fixed.

All issues should be fixed in telnet-0.17-46.fc13. Rest of rpmlint warnings are not problems:

$ rpmlint telnet-0.17-46.fc13.src.rpm 
telnet.src: W: spelling-error-in-summary en_US login
telnet.src: W: name-repeated-in-summary C Telnet
telnet.src: W: no-url-tag

$ rpmlint telnet-server-0.17-46.fc13.x86_64.rpm 
telnet-server.x86_64: W: spelling-error-in-summary en_US login
telnet-server.x86_64: W: spelling-error-in-description en_US logins
telnet-server.x86_64: W: spelling-error-in-description en_US xinetd
telnet-server.x86_64: W: no-url-tag

$ rpmlint telnet-0.17-46.fc13.x86_64.rpm 
telnet.x86_64: W: spelling-error-in-summary en_US login
telnet.x86_64: W: name-repeated-in-summary C Telnet
telnet.x86_64: W: no-url-tag

Comment 4 Ondrej Vasik 2010-03-09 13:15:48 UTC
Legend: + = PASSED, - = FAILED, 0 = Not Applicable

+ MUST: rpmlint must be run on every package. The output should be posted in
the review

[Reset@localhost devel]$ rpmlint telnet.spec telnet*.rpm i386/*.rpm
telnet.spec: W: invalid-url Source2: telnet-client.tar.gz
telnet.src: W: spelling-error Summary(en_US) login -> loin, logic, lo gin
telnet.src: W: name-repeated-in-summary C Telnet
telnet.src: W: no-url-tag
telnet.src: W: invalid-url Source2: telnet-client.tar.gz
telnet-debuginfo.i386: W: no-url-tag
telnet-server.i386: W: spelling-error Summary(en_US) login -> loin, logic, lo gin
telnet-server.i386: W: spelling-error %description -l en_US logins -> losing, loins, lo gins
telnet-server.i386: W: spelling-error %description -l en_US xinetd -> dinette, ninety, kinetic
telnet-server.i386: W: no-url-tag
telnet.i386: W: spelling-error Summary(en_US) login -> loin, logic, lo gin
telnet.i386: W: name-repeated-in-summary C Telnet
telnet.i386: W: no-url-tag
4 packages and 1 specfiles checked; 0 errors, 13 warnings.
[Reset@localhost devel]$ rpmlint --version
rpmlint version 0.94 Copyright (C) 1999-2007 Frederic Lepied, Mandriva

All W/E discussed previously, I'm ok with them.
Confirmed that URL is no longer available, could be probably http://web.archive.org/web/20070819111735/www.hcs.harvard.edu/~dholland/computers/old-netkit.html

+ MUST: package named according to the Package Naming Guidelines

Name doesn't match upstream tarball(netkit-telnet), but it's done this way for a
long time and for consistency I would say it is better to keep it as it is.
Same is done in other distros as well.

+ MUST: The spec file name must match the base package %{name}
+ MUST: The package must meet the Packaging Guidelines .
+ MUST: The package licensed with a Fedora approved license and meets the
Licensing Guidelines
+ MUST: The License field in the package spec file matches the actual
license
0 MUST: 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 must be included in %doc.

No such file in package.

+ MUST: The spec file must be written in American English.
+ MUST: The spec file for the package MUST be legible.
+ MUST: The sources used to build the package must match the upstream
source, as provided in the spec URL. Reviewers should use md5sum for this task
From sources:
$ md5sum netkit-telnet-0.17.tar.gz
d6beabaaf53fe6e382c42ce3faa05a36  netkit-telnet-0.17.tar.gz
From upstream ftp:
$ md5sum netkit-telnet-0.17.tar.gz
d6beabaaf53fe6e382c42ce3faa05a36  netkit-telnet-0.17.tar.gz
= MATCHES
+ MUST: The package successfully compiles and builds into binary rpms on at
least one primary architecture
 - tested on i686, no problems
0 MUST: If the package does not successfully compile, build or work on an
architecture, then those architectures should be listed in the spec in
ExcludeArch
+ MUST: All build dependencies must be listed in BuildRequires, except for any
that are listed in the exceptions section of the Packaging Guidelines
0 MUST: The spec file handles locales properly. This is done by using the
%find_lang macro
0 MUST: Every binary RPM package (or subpackage) which stores shared library
files (not just symlinks) in any of the dynamic linker's default paths, must
call ldconfig in %post and %postun.
0 MUST: Packages must NOT bundle copies of system libraries
0 MUST: If the package is designed to be relocatable, the packager must state
this fact in the request for review, along with the rationalization for
relocation of that specific package. Without this, use of Prefix: /usr is
considered a blocker
+ MUST: Package must own all directories that it creates. If it does not create
a directory that it uses, then it should require a package which does create
that directory
+ MUST: Package must not list a file more than once in the spec file's %files
listings
+ MUST: Permissions on files must be set properly. Every %files section must
include a %defattr(...) line.
+ MUST: Each package must have a %clean section, which contains rm -rf
%{buildroot} (or $RPM_BUILD_ROOT).
+ MUST: Each package must consistently use macros
+ MUST: The package must contain code, or permissable content
0 MUST: Large documentation files must go in a -doc subpackage
+ MUST: If a package includes something as %doc, it must not affect the runtime
of the application
0 MUST: Header files must be in a -devel package
0 MUST: Static libraries must be in a -static package
0 MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'
0 MUST: If a package contains library files with a suffix (e.g. libfoo.so.1.1),
then library files that end in .so (without suffix) must go in a -devel package
0 MUST: devel packages must require the base package using a fully versioned
dependency: Requires: %{name} = %{version}-%{release}
+ MUST: Packages must NOT contain any .la libtool archives, these must be
removed in the spec if they are built
0 MUST: Packages containing GUI applications must include a %{name}.desktop
file, and that file must be properly installed with desktop-file-install in the
%install section
+ MUST: Packages must not own files or directories already owned by other
packages
+ MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}
(or $RPM_BUILD_ROOT)
+ MUST: All filenames in rpm packages must be valid UTF-8

The only questionable thing is that maybe it would be good to ship webarchive URL and README file as %doc, not a blocker for me, though.

Package looks sane. Review+

Comment 5 Adam Tkac 2010-03-09 13:28:38 UTC
(In reply to comment #4)
> 
> The only questionable thing is that maybe it would be good to ship webarchive
> URL and README file as %doc, not a blocker for me, though.
> 

Fixed in telnet-0.17-47.fc14.

> Package looks sane. Review+    

Thanks.