Bug 515832 - Review Request: libtelnet - TELNET protocol handling library
Summary: Review Request: libtelnet - TELNET protocol handling library
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Mamoru TASAKA
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 520343
TreeView+ depends on / blocked
 
Reported: 2009-08-05 21:21 UTC by Sean Middleditch
Modified: 2010-10-05 17:26 UTC (History)
5 users (show)

Fixed In Version: libtelnet-0.20-2.el5
Clone Of:
Environment:
Last Closed: 2009-09-11 14:32:34 UTC
Type: ---
Embargoed:
mtasaka: fedora-review+
petersen: fedora-cvs+


Attachments (Terms of Use)

Description Sean Middleditch 2009-08-05 21:21:49 UTC
Spec URL: http://middleditch.us/sean/libtelnet.spec
SRPM URL: http://middleditch.us/sean/libtelnet-0.10.tar.gz
Description:

Packaged up my own upstream libtelnet TELNET protocol library.  It's a small library that uses an event-based interface for writing clients, servers, or proxies.  The package includes the main library, a -devel package with headers, and three separate packages for the libtelnet example applications (one of which, telnet-proxy, is actually quite useful all on its own).

libtelnet is hosted at http://github.com/elanthis/libtelnet/tree/master

I successfully built libtelnet on all dist-f12 targets via Koji.  rpmlint reports 0 errors:
elanthis@stargrazer:~/Source/libtelnet$ rpmlint libtelnet.spec
0 packages and 1 specfiles checked; 0 errors, 0 warnings.
elanthis@stargrazer:~/Source/libtelnet$ rpmlint /home/elanthis/rpmbuild/SRPMS/libtelnet-0.10-1.fc12.src.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
elanthis@stargrazer:~/Source/libtelnet$ rpmlint /home/elanthis/rpmbuild/RPMS/x86_64/libtelnet-*
6 packages and 0 specfiles checked; 0 errors, 0 warnings.
elanthis@stargrazer:~/Source/libtelnet$ sudo rpm -Uvh /home/elanthis/rpmbuild/RPMS/x86_64/libtelnet-*

My projects that use libtelnet all build against the version in these RPMs.  I intend to package one of those projects (clc) for Fedora as well, once I'm ready with the next stable release, and the others are possibilities in the more distant future as well.

Comment 1 Martin Gieseking 2009-08-06 05:54:51 UTC
Hello Sean,

could you please give us a link to the SRPM? The above URL links to the tarball.
Also, I wasn't able to find you in the package group. What's your account name?

Martin

Comment 2 Mamoru TASAKA 2009-08-07 13:42:19 UTC
Sean, would you provide the URL of your srpm?

Comment 3 Mamoru TASAKA 2009-08-14 15:35:24 UTC
ping?

Comment 4 Sean Middleditch 2009-08-20 18:54:21 UTC
Sorry guys, I was moving cross-country (Ann Arbor MI to Redmond WA) and then apartment hunting for the last two weeks.  Still settling in -- I won't have Internet access at home with my Fedora machines until this weekend, thanks to Comcast's waiting queue this time of year.  I'll upload the actual SRPM as soon as Comcast gets me online.  Sorry about that goofup.  :/

Comment 5 Sean Middleditch 2009-08-22 00:45:55 UTC
SRPM: http://middleditch.us/sean/libtelnet-0.10-1.fc12.src.rpm

Comment 6 Mamoru TASAKA 2009-08-24 16:48:01 UTC
Some notes:

* URL
  - The URL written in the spec file seems 404.

* BuildRequires:
  - Would you explain why
    "BuildRequires: automake, autoconf, libtool, zlib-devel"
    are needed? It seems none of them is needed.

* %makeinstall
  - Please avoid to use %makeinstall unless unavoildable:
    https://fedoraproject.org/wiki/Packaging/Guidelines#Why_the_.25makeinstall_macro_should_not_be_used

    Try to use
------------------------------------------------------------
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
------------------------------------------------------------
    to also keep timestamps on installed files.

* %defattr
  - Now on Fedora %defattr(-,root,root,-) is preferred.

* About package structure
  - Would you explain why you want to create 5 binary rpms instead
    of just creating libtelnet and -devel binary rpms?
    The result binary rpms are very small (among current Fedora rpms),
    no other dependencies are needed when installing these packages
    and currently I don't see any benefit on creating 5 binary rpms.

Note that every time you modify your spec file please change the release
number to avoid confusion.

Comment 7 Sean Middleditch 2009-08-31 00:07:23 UTC
Indeed, I put the wrong URL.  Corrected.

I have a requirement on buildrequires for those because I believed them to be needed.  I suppose automake, autoconf, libtool are only needed to regenerate the files shipped in the dist tarball, so they are removed.  I try to avoid those things wherever possible and only even used them in libtelnet because RPM made it very difficult to work without them.  Removed the build requires.

zlib-devel is required because it's supposed to be building against zlib, but apparently I forgot to include that in the configure script I wrote.  Whoops.  Removed for now, will re-add when I release 0.11 with an updated configure script.

Replaced use of %makeinstall.  I got that from the Fedora examples.  I'm getting rather irritated by the Fedora documentation being contradictory and out of date for package building.

Fixed the two places I forgot the fourth parameter to %defattr.

So far as the package structure, the packaging guidelines didn't offer any advice.  Other distros I've packaged for try to avoid putting binaries in lib* packages, and frankly I agree with that -- the people who need the library probably do not need the other utilities, which would just make /usr/bin that much bigger and more full of unnecessary crap.  If individual binary RPMs are undesirable in Fedora, I would prefer to put the binaries into a libtelnet-utils or libtelnet-bin package like libproxy does., so people can get libtelnet on its own without the chaff.  I will update to do just that.

Not sure why you felt the need to tell me to update the release number when I've only ever posted one version of the spec file so far.  The new spec file has the appropriate updates.

http://middleditch.us/sean/libtelnet.spec
http://middleditch.us/sean/libtelnet-0.10-2.fc12.src.rpm

Comment 8 Mamoru TASAKA 2009-08-31 16:57:26 UTC
(In reply to comment #7)
> Replaced use of %makeinstall.  I got that from the Fedora examples.  I'm
> getting rather irritated by the Fedora documentation being contradictory and
> out of date for package building.

If you find something contradictory on Fedora documentation, please
notice it on fedora-packaging mailing list.

For -2:

* Packaging structure
  - If you want to split binaries under %_bindir into a subpackage,
    usually such subpackage is named as "-utils" on Fedora.

* About make install
  - I still recommend to add 'INSTALL="install -p"' option to
    'make install' to keep timestamps on installed files
    (especially on header files to be installed)

* Documents
  - You don't have to include a document file to all subpackages.
  - Including license text (in this package "COPYING") to the main
    package is rather mandatory

Comment 9 Sean Middleditch 2009-08-31 22:18:07 UTC
Alright, I'll change it to utils.  I take it libproxy-bin is just grandfathered in then?

I'll add the INSTALL="install -p" bit.

The README was meant to be the license file.  I only even included COPYING because autotools, in its infinite wisdom, practically forced me at gunpoint.  :)  I'll add COPYING to the doc list and remove docs from everything but the core pacakge.  Also added NEWS to the doc list, since that is (or will be after another upstream release or two) relevant to regular users.

Hmm.  I'm getting an rpmlint warning on the subpackages for not including any documentation.  Should I report this bug to fedora-packaging? ;)

Note that I pushed an upstream release to 0.11 and updated the spec file accordingly.  This mostly just fixes the configure.ac to actually check for and enable zlib, hence I re-added a BuildRequires on zlib-devel.

libtelnet-devel.x86_64: W: no-documentation
libtelnet-utils.x86_64: W: no-documentation
4 packages and 0 specfiles checked; 0 errors, 2 warnings.

http://middleditch.us/sean/libtelnet.spec
http://middleditch.us/sean/libtelnet-0.11-1.fc12.src.rpm

Comment 10 Mamoru TASAKA 2009-09-01 15:36:55 UTC
Okay.

(In reply to comment #9)
> Hmm.  I'm getting an rpmlint warning on the subpackages for not including any
> documentation.  Should I report this bug to fedora-packaging? ;)

It is a warning and if the needed documents are already included
in the main package this warning can be ignored.

-------------------------------------------------------------------
    This package (libtelnet) is APPROVED by mtasaka
-------------------------------------------------------------------

Please follow the procedure written on:
http://fedoraproject.org/wiki/PackageMaintainers/Join
from "Get a Fedora Account".
After you request for sponsorship a mail will be sent to sponsor 
members automatically (which is invisible for you) which notifies 
that you need a sponsor. After that, please also write on
this bug for confirmation that you requested for sponsorship and
your FAS (Fedora Account System) name. Then I will sponsor you.

If you want to import this package into Fedora 10/11, you also have
to look at
http://fedoraproject.org/wiki/Infrastructure/UpdatesSystem/Bodhi-info-DRAFT
(after once you rebuilt this package on koji Fedora rebuilding system).

If you have questions, please ask me.

Comment 11 Sean Middleditch 2009-09-05 02:57:54 UTC
Awesome.  I applied for the packager group.  My account name is elanthis.  Thanks!

Comment 12 Mamoru TASAKA 2009-09-05 19:33:12 UTC
Okay, now I am sponsoring you. Please follow "Join" wiki again.

Comment 13 Sean Middleditch 2009-09-06 09:45:50 UTC
New Package CVS Request
=======================
Package Name: libtelnet
Short Description: TELNET protocol parsing framework
Owners: elanthis
Branches: F12

Comment 14 Kevin Fenzi 2009-09-06 22:09:24 UTC
cvs done.

Comment 15 Sean Middleditch 2009-09-08 03:04:43 UTC
Alright, imported to CVS and built for both devel and F-12 successfully.  That pretty much completes the Join wiki steps.  Not sure if I'm supposed to follow the general New Package Policy and close this bug as NEXTRELEASE or if that's something you're supposed to handle as my sponsor.

If it helps/matters, here's the build logs for Koji for libtelnet on F-12:
http://koji.fedoraproject.org/koji/buildinfo?buildID=130995

Comment 16 Jan Klepek 2009-09-11 12:43:34 UTC
sean, 
why you didn't put this package into F10/F11?
It is builded correctly.
F11: http://koji.fedoraproject.org/koji/taskinfo?taskID=1670918
F10: http://koji.fedoraproject.org/koji/taskinfo?taskID=1670933

Comment 17 Mamoru TASAKA 2009-09-11 14:32:34 UTC
Closing this bug as F-12/13 builds are already done.

If F-11 or F-10 branches are also required, please write CVS request
on this bug again following:
http://fedoraproject.org/wiki/PackageMaintainers/CVSAdminProcedure

Comment 18 Sean Middleditch 2009-09-11 20:41:26 UTC
Jan, I didn't push to F10/F11 because I'm simply not comfortable pushing updates to stable distros yet.  Once I get a little more in swing with how packaging for Fedora works I'll consider pushing the packages to those distros, if they're even still in support then.

Comment 19 Sean Middleditch 2010-09-15 02:11:10 UTC
Package Change Request
======================
Package Name: libtelnet
New Branches: el5 el6
Owners: elanthis

Comment 20 Jens Petersen 2010-09-16 03:40:43 UTC
Git done (by process-git-requests).

Comment 21 Fedora Update System 2010-09-19 19:16:33 UTC
libtelnet-0.20-2.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/libtelnet-0.20-2.el5

Comment 22 Fedora Update System 2010-10-05 17:26:48 UTC
libtelnet-0.20-2.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.


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