Bug 199630 - Review Request: ClanLib - Cross platform C++ game library
Review Request: ClanLib - Cross platform C++ game library
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Paul F. Johnson
Fedora Package Reviews List
:
Depends On:
Blocks: FE-ACCEPT 199747
  Show dependency treegraph
 
Reported: 2006-07-20 16:40 EDT by Hans de Goede
Modified: 2007-11-30 17:11 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-07-23 14:33:34 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
clanlib warnings from the installed package (83.30 KB, text/plain)
2006-07-21 19:53 EDT, Paul F. Johnson
no flags Details

  None (edit)
Description Hans de Goede 2006-07-20 16:40:00 EDT
Spec URL: http://people.atrpms.net/~hdegoede/ClanLib.spec
SRPM URL: http://people.atrpms.net/~hdegoede/ClanLib-0.8.0-0.1.RC2.src.rpm
Description:
ClanLib is a cross platform C++ game library.


---

What a PITA, it has cost me 2 days to get this and the older ClanLib-0.6 (which is still very widely used) packaged in such a way that the 2 clanlibs are parallel installable and some test apps compiled and tested.

Tomorrow I'll start working on pingus (from the FE wishlist), clanbomber and auriferous (loderunner inspired game) packages.

Notice the smallish HACK to the pkg-config files to stop this from conflicting with ClanLib06, which I'm also submitting for review it might be best to review these 2 together.
Comment 1 Hans de Goede 2006-07-20 17:02:36 EDT
The other CLanLib review is under bug 199632 .
Comment 2 Paul F. Johnson 2006-07-20 18:42:12 EDT
Blocker : How does the ClanLib licence marry up to the LGPL? Nearest to it would
be just "distributable" or better still, ClanLib. You will need to include the
license in %docs

You need BR zlib-devel for it to build in mock

More to follow
Comment 3 Paul F. Johnson 2006-07-20 19:13:56 EDT
rpmlint errors and warnings.

main i386 package : clean
devel :
E : ClanLib-devel only-non-binary-in-usr-lib
All of the warnings are the same (dangling-relative-symlink) - there are 13 in total
W: ClanLib-devel dangling-relative-symlink
/usr/lib/ClanLib-0.8/libclanNetwork.so ../libclanNetwork-0.8.so.1.0.0
W: ClanLib-devel dangling-relative-symlink
/usr/lib/ClanLib-0.8/libclanGUIStyleSilver.so ../libclanGUIStyleSilver-0.8.so.1.0.0
W: ClanLib-devel dangling-relative-symlink /usr/lib/ClanLib-0.8/libclanGUI.so
../libclanGUI-0.8.so.1.0.0
W: ClanLib-devel dangling-relative-symlink /usr/lib/ClanLib-0.8/libclanGL.so
../libclanGL-0.8.so.1.0.0
W: ClanLib-devel dangling-relative-symlink /usr/lib/ClanLib-0.8/libclanMikMod.so
../libclanMikMod-0.8.so.1.0.0
W: ClanLib-devel dangling-relative-symlink /usr/lib/ClanLib-0.8/libclanCore.so
../libclanCore-0.8.so.1.0.0
W: ClanLib-devel dangling-relative-symlink
/usr/lib/ClanLib-0.8/libclanSignals.so ../libclanSignals-0.8.so.1.0.0
W: ClanLib-devel dangling-relative-symlink /usr/lib/ClanLib-0.8/libclanApp.so
../libclanApp-0.8.so.1.0.0
W: ClanLib-devel dangling-relative-symlink
/usr/lib/ClanLib-0.8/libclanDisplay.so ../libclanDisplay-0.8.so.1.0.0
W: ClanLib-devel dangling-relative-symlink /usr/lib/ClanLib-0.8/libclanSound.so
../libclanSound-0.8.so.1.0.0
W: ClanLib-devel file-not-utf8
/usr/share/doc/ClanLib-devel-0.8.0/html/Tutorial/TicTacToe/tictactoe.zip
W: ClanLib-devel dangling-relative-symlink /usr/lib/ClanLib-0.8/libclanVorbis.so
../libclanVorbis-0.8.so.1.0.0
W: ClanLib-devel dangling-relative-symlink /usr/lib/ClanLib-0.8/libclanSDL.so
../libclanSDL-0.8.so.1.0.0
debuginfo : clean
srpm : clean

Fails to build in mock (see #2)
Comment 4 Hans de Goede 2006-07-21 01:47:59 EDT
(In reply to comment #2)
> Blocker : How does the ClanLib licence marry up to the LGPL? Nearest to it would
> be just "distributable" or better still, ClanLib. 

Darn, I forgot about that, the clanlib homepage says that it is LGPL, but the
sources seem to disagree I wanted to add a note to the review about this I agree
this needs fixing. I've done some more investigating it turns out that 0.6 is
LGPL and 0.8 is under the zlib License, which explains the homepage (they most
likely forgot to update this), good.

The license is the "zlib License" which is in rpmlints list of licenses. I'll
fix this up together with other nescesarry fixes once a full review is done.

> You will need to include the license in %docs
> 
It already is:
%defattr(-,root,root,-)
%doc COPYING CREDITS NEWS TODO-RSN

> You need BR zlib-devel for it to build in mock
> 
Erm:
[hans@shalem ~]$ rpm -q --requires libpng-devel
libpng-devel-1.2.10-6.x86_64
/bin/sh  
libpng = 2:1.2.10-6
libpng12.so.0()(64bit)  
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
zlib-devel  

So that should get dragged in by libpng-devel

(In reply to comment #3)
> rpmlint errors and warnings.
> 
> devel :
> E : ClanLib-devel only-non-binary-in-usr-lib
> All of the warnings are the same (dangling-relative-symlink) - there are 13 in
total
> W: ClanLib-devel dangling-relative-symlink
> /usr/lib/ClanLib-0.8/libclanNetwork.so ../libclanNetwork-0.8.so.1.0.0
> W: ClanLib-devel dangling-relative-symlink
> /usr/lib/ClanLib-0.8/libclanGUIStyleSilver.so
../libclanGUIStyleSilver-0.8.so.1.0.0
> W: ClanLib-devel dangling-relative-symlink /usr/lib/ClanLib-0.8/libclanGUI.so
> ../libclanGUI-0.8.so.1.0.0
> W: ClanLib-devel dangling-relative-symlink /usr/lib/ClanLib-0.8/libclanGL.so
> ../libclanGL-0.8.so.1.0.0
> W: ClanLib-devel dangling-relative-symlink /usr/lib/ClanLib-0.8/libclanMikMod.so
> ../libclanMikMod-0.8.so.1.0.0
> W: ClanLib-devel dangling-relative-symlink /usr/lib/ClanLib-0.8/libclanCore.so
> ../libclanCore-0.8.so.1.0.0
> W: ClanLib-devel dangling-relative-symlink
> /usr/lib/ClanLib-0.8/libclanSignals.so ../libclanSignals-0.8.so.1.0.0
> W: ClanLib-devel dangling-relative-symlink /usr/lib/ClanLib-0.8/libclanApp.so
> ../libclanApp-0.8.so.1.0.0
> W: ClanLib-devel dangling-relative-symlink
> /usr/lib/ClanLib-0.8/libclanDisplay.so ../libclanDisplay-0.8.so.1.0.0
> W: ClanLib-devel dangling-relative-symlink /usr/lib/ClanLib-0.8/libclanSound.so
> ../libclanSound-0.8.so.1.0.0
> W: ClanLib-devel file-not-utf8
> /usr/share/doc/ClanLib-devel-0.8.0/html/Tutorial/TicTacToe/tictactoe.zip
> W: ClanLib-devel dangling-relative-symlink /usr/lib/ClanLib-0.8/libclanVorbis.so
> ../libclanVorbis-0.8.so.1.0.0
> W: ClanLib-devel dangling-relative-symlink /usr/lib/ClanLib-0.8/libclanSDL.so
> ../libclanSDL-0.8.so.1.0.0

All of which can be ignored. Those links point to library files in the required
main package. For some reason rpmlint only ignores broken symlinks in a -devel
package directly under libdir and not under a subdir of libdir.
Comment 5 Paul F. Johnson 2006-07-21 02:44:31 EDT
rpmlint : not a problem on the warnings, but you can't ignore the error line

mock fails to build : 
/usr/bin/ld : cannot find -lXmu
collect2: ld returned 1 exit status
make[2]: *** [libClanDisplay.la] Error 1
make[2]: Leaving directory /builddir/build/BUILD/ClanLib-0.8.0-RC2/Sources/Display

Comment 6 Hans de Goede 2006-07-21 04:07:45 EDT
(In reply to comment #5)
> rpmlint : not a problem on the warnings, but you can't ignore the error line
> 

Sure I can, the only thing under %{_libdir} are .so links, which _do_ point to
libs. So the error is bogus. This is just rpmlint being stupid (which is ok).

> mock fails to build : 
> /usr/bin/ld : cannot find -lXmu
> collect2: ld returned 1 exit status
> make[2]: *** [libClanDisplay.la] Error 1
> make[2]: Leaving directory /builddir/build/BUILD/ClanLib-0.8.0-RC2/Sources/Display
> 
> 

Thanks, I've added libXmu-devel to the BR. New version here:
Spec URL: http://people.atrpms.net/~hdegoede/ClanLib.spec
SRPM URL: http://people.atrpms.net/~hdegoede/ClanLib-0.8.0-0.2.RC2.src.rpm

Changes:
* Fri Jul 21 2006 Hans de Goede <j.w.r.degoede@hhs.nl> 0.8.0-0.2.RC2
- Change License: to "zlib License" as 0.8 is under the zlib License not the
  LGPL (0.6 is LGPL).
- Add a patch from pingus contrib dir which adds support for the grave key
- Add libXmu-devel to the BuildRequires
Comment 7 Paul F. Johnson 2006-07-21 10:52:12 EDT
Thanks - I'll give it a spin tonight and see what happens (got a dual processor
box to install for my buildsys, so this and ClanLib06 may be delayed very slightly)
Comment 8 Hans de Goede 2006-07-21 14:26:07 EDT
I just submitted pingus for review which uses this, might be handy for
testing, see bug 199747
Comment 9 Paul F. Johnson 2006-07-21 15:34:40 EDT
Okay, I'll add that to my list. I should be up to speed with the new test rig in
a couple of hours (only just returned home - dinner time!)
Comment 10 Paul F. Johnson 2006-07-21 19:53:21 EDT
Created attachment 132854 [details]
clanlib warnings from the installed package
Comment 11 Paul F. Johnson 2006-07-21 19:54:38 EDT
good : rpmlint comes up clean (other than #3)
       spec file seems okay
bad : see #10 attachment

Comment 12 Hans de Goede 2006-07-22 00:08:55 EDT
(In reply to comment #11)
> bad : see #10 attachment
> 

Yes, some of the clanlib sublibraries depend on other clanlib sublibraries, but
they are not explicity linked against each other, this gets sorted out by the
package config files, which cause the application to also be linked against the
nescesarry dependencies.


Comment 13 Paul F. Johnson 2006-07-23 06:27:59 EDT
Fair enough.

The package builds happily in mock on x86_64 and i386.
rpmlint throws nothing of any real concern
pingus (at least) links and runs happily against it

I'm happy for this to be released into the wild.

APPROVED
Comment 14 Hans de Goede 2006-07-23 14:33:34 EDT
Thanks for the review!

Imported and build, closing.

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