[Bug 480103] Review Request: bnIRC - An ncurses based IRC client and modular IRC framework.(Need Sponsorship. First time Packager)

bugzilla at redhat.com bugzilla at redhat.com
Fri Mar 13 21:43:13 UTC 2009


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.


https://bugzilla.redhat.com/show_bug.cgi?id=480103





--- Comment #10 from Michael Schwendt <bugs.michael at gmx.net>  2009-03-13 17:43:12 EDT ---
* The plugin loader evaluates the libtool .la files and dlopen()s the library
with the file name found in the "dlname=" parameter, e.g. libdcc.so.0, which in
turn is a symlink to libdcc.so.0.0.0

The statically linked plugins 'lib*.a' are not needed as they cannot be loaded
at run-time.

The plugin symlinks 'lib*.so' are not needed either.

The program could be patched to simply name the plugins 'lib*.so' and dlopen()
them directly instead of looking at the .la files.


* Please look at "rpm --query --provides bnIRC". Currently, the plugin
libraries produce several automatic SONAME Provides, which bear the risk of
causing conflicts with other packages during dependency resolving:

libctcp.so.0  
libdcc.so.0  
libdebug.so.0  
libhello.so.0  
libio_ncurses.so.0  
libirc_input.so.0  
libpython.so.0  
librserver.so.0  
libserver_strings.so.0  

This is a blocker, even if one could show that no other Fedora package
currently provides libraries with the same SONAMEs. I haven't tried that, but I
could imagine packages such as "libdcc", "libctcp", "librserver", for example,
with similar library sonames.

The package also contains automatic "Requires" for the same library SONAMEs.
The least thing that could be done is to filter these self-Provides and
self-Requires out. Various docs exist, in the Wiki and on Google,
http://fedoraproject.org/wiki/PackagingDrafts/FilteringAutomaticDependencies

but disabling rpmbuild's internal dependency generator is dangerous, and one
must carefully examine the results.

It would be good, if upstream could use a unique namespace for these plugins,
e.g. like libbnirc_plugin_foo.so.0


> %post devel -p /sbin/ldconfig
> %postun devel -p /sbin/ldconfig

These are a no-op and can be deleted. The scriptlets in the main pkg are the
ones that are correct and needed.


> %{_libdir}/bnIRC/*

Directory %{_libdir}/bnIRC is not included.
https://fedoraproject.org/wiki/Packaging/UnownedDirectories

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.




More information about the package-review mailing list