Bug 700818 (libircclient)

Summary: Review Request: libircclient - Library implementing client-server IRC protocol
Product: [Fedora] Fedora Reporter: Adam Huffman <bloch>
Component: Package ReviewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, notting, paulo.cesar.pereira.de.andrade, susi.lehtola
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-05-19 19:29:34 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 700814    

Description Adam Huffman 2011-04-29 13:38:55 UTC
Spec URL: http://verdurin.fedorapeople.org/reviews/libircclient/libircclient.spec
SRPM URL: http://verdurin.fedorapeople.org/reviews/libircclient/libircclient-1.3-5.fc14.src.rpm
Description: 

It is designed to be small, fast, portable and compatible to RFC standards,
and most IRC clients. libircclient features include:
  * Full multi-threading support.
  * Single threads handles all the IRC processing.
  * Support for single-threaded applications, and socket-based
    applications, which use select()
  * Synchronous and asynchronous interfaces.
  * CTCP support with optional build-in reply code.
  * Flexible DCC support, including both DCC chat, and DCC file transfer.
  * Can both initiate and react to initiated DCC.
  * Can accept or decline DCC sessions asynchronously.
  * Plain C interface and implementation (possible to use from C++ code,
    obviously)
  * Compatible with RFC 1459 and most IRC clients.
  * Free, licensed under LGPL license.
  * Good documentation and examples available.

Comment 1 Adam Huffman 2011-04-29 13:42:52 UTC
This is based on the work of Conrad Meyer at:

http://konradm.fedorapeople.org/fedora/SPECS/libircclient.spec

There is a problem with debuginfo generation which I haven't yet been able to fix.

Comment 2 Michael Schwendt 2011-05-02 10:16:44 UTC
Not a full review:


> gcc -shared -Wl,-soname,libircclient.so.1 libircclient.o -o libircclient.so

You've got it backwards. With a soname of libirrclient.so.1, the file name ought to be libircclient.so.1 with the *.so symlink pointing to it.


> %files
> ...
> %{_libdir}/libircclient.so*

Here a dot is missing. It must be

  %{_libdir}/libircclient.so.*

so you can include the *.so symlink in the -devel package where it belongs.


> There is a problem with debuginfo generation which I haven't yet been able
> to fix.

The problem is the "-s" that strips the library:
install -s -m 0755 libircclient.so %{buildroot}%{_libdir}/

http://fedoraproject.org/wiki/Packaging/Debuginfo


> /usr/share/doc/libircclient-1.3/examples/

Looks like the wrong subpackage for these examples. The included Makefile* for these examples are not usable, btw.

Comment 3 Adam Huffman 2011-05-02 11:00:24 UTC
Thanks for taking a look and clearing up my confusion regarding sonames.  I think that was part of the debuginfo problem, too - I'd added the '-s' flag in desperation as nothing else I'd tried had fixed it.

The documentation for this on the wiki isn't particularly clear, I found.

New version at:

http://verdurin.fedorapeople.org/reviews/libircclient/libircclient.spec

http://verdurin.fedorapeople.org/reviews/libircclient/libircclient-1.3-6.fc14.src.rpm

Comment 4 Susi Lehtola 2012-01-04 21:12:54 UTC
It is rather odd that the package uses autotools in some way, but doesn't really use them for the compilation or for the generation of the libraries...

Comment 5 Adam Huffman 2012-01-08 12:18:25 UTC
Yes, I ended up ignoring the upstream makefiles.  However, it still needs config.h, which is why I still run configure.

New version at:

http://verdurin.fedorapeople.org/reviews/libircclient/libircclient.spec

http://verdurin.fedorapeople.org/reviews/libircclient/libircclient-1.3-7.fc16.src.rpm

Comment 6 Susi Lehtola 2012-01-08 12:34:49 UTC
The warnings

dcc.c: In function 'libirc_dcc_process_descriptors':
dcc.c:333:8: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
dcc.c:369:31: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

should be fixed before the package is approved. This kind of pointer handling can cause crashes.

Comment 7 Adam Huffman 2012-01-08 17:31:52 UTC
I've contacted upstream about these warnings.  If there's no response then I'll fix them myself.

Comment 9 Susi Lehtola 2012-01-19 21:03:02 UTC
Looks like version 1.5 was released yesterday.
http://www.ulduzsoft.com/libircclient/

Comment 10 Adam Huffman 2012-01-19 22:15:57 UTC
Hmm, nothing new in the ChangeLog.  Will take a look tomorrow.  Thanks for letting me know.

Comment 11 Adam Huffman 2012-01-20 13:30:35 UTC
Update to new upstream release 1.5 at:

http://verdurin.fedorapeople.org/reviews/libircclient/libircclient.spec

http://verdurin.fedorapeople.org/reviews/libircclient/libircclient-1.5-1.fc16.src.rpm

The patches to fix those warnings don't seem to be necessary any more so I've disabled them.

Comment 12 Paulo Andrade 2012-05-19 19:29:34 UTC
I did not know about this request, as I became a fedora contributor
recently, and from several review requests I had, libircclient was
the one I got a sponsor.
I need libirrclient (and miniupnpc waiting for review) for my megaglest
package to be reviewed.

libircclient 1.6 was packaged.

Since the bug is for rawhide I believe it can be closed as duplicate.

*** This bug has been marked as a duplicate of bug 817306 ***

Comment 13 Paulo Andrade 2012-05-20 17:52:34 UTC
Adam, I invite you to be a libirclient comaintainer :-)

Please login and request acl at
https://admin.fedoraproject.org/pkgdb/acls/name/libircclient

for commit and approveacls