Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 199630 - Review Request: ClanLib - Cross platform C++ game library
Summary: Review Request: ClanLib - Cross platform C++ game library
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Paul F. Johnson
QA Contact: Fedora Package Reviews List
URL:
Whiteboard:
Depends On:
Blocks: FE-ACCEPT 199747
TreeView+ depends on / blocked
 
Reported: 2006-07-20 20:40 UTC by Hans de Goede
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-07-23 18:33:34 UTC
Type: ---
Embargoed:


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

Description Hans de Goede 2006-07-20 20:40:00 UTC
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 21:02:36 UTC
The other CLanLib review is under bug 199632 .

Comment 2 Paul F. Johnson 2006-07-20 22:42:12 UTC
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 23:13:56 UTC
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 05:47:59 UTC
(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 06:44:31 UTC
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 08:07:45 UTC
(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> 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 14:52:12 UTC
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 18:26:07 UTC
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 19:34:40 UTC
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 23:53:21 UTC
Created attachment 132854 [details]
clanlib warnings from the installed package

Comment 11 Paul F. Johnson 2006-07-21 23:54:38 UTC
good : rpmlint comes up clean (other than #3)
       spec file seems okay
bad : see #10 attachment



Comment 12 Hans de Goede 2006-07-22 04:08:55 UTC
(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 10:27:59 UTC
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 18:33:34 UTC
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.