Bug 198839 (sear) - Review Request: sear - WorldForge client
Summary: Review Request: sear - WorldForge client
Keywords:
Status: CLOSED NEXTRELEASE
Alias: sear
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jason Tibbitts
QA Contact: Fedora Package Reviews List
URL:
Whiteboard:
Depends On: libmodelfile varconf mercator 198834 eris wfut 213282
Blocks: FE-ACCEPT sear-media
TreeView+ depends on / blocked
 
Reported: 2006-07-13 23:03 UTC by Wart
Modified: 2007-11-30 22:11 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-02-20 03:18:45 UTC
Type: ---
Embargoed:
wart: fedora-review+
wtogami: fedora-cvs+


Attachments (Terms of Use)

Description Wart 2006-07-13 23:03:23 UTC
Spec URL: http://www.kobold.org/~wart/fedora/sear.spec
SRPM URL: http://www.kobold.org/~wart/fedora/sear-0.6.2-1.src.rpm
Description:
Sear is a 3D client for the WorldForge roleplaying environment.  WorldForge
can be viewed as a MMORPG construction kit, providing a working 3D environment
in which quests and full games can be built.

Comment 1 Christopher Stone 2006-07-14 08:14:37 UTC
no time to do a full review yet, but some quick notes:

dont include pkgconfig in BR, its picked up by devel packages
use %{_desktopdir} instead of %{_datadir}/applications
use %{_icondir} instead of %{_datadir}/icons

I'm going to busy entertaining guests over Fri-Sun but will try to find some
time to squeeze in a formal review for this package.  If not, will do it on Monday.

Comment 2 Christopher Stone 2006-07-14 08:26:01 UTC
Did a quick test and it's crashing on me :(  will produce a debug backtrace when
time permits.

Comment 3 Rudolf Kastl 2006-07-14 12:48:29 UTC
it wont start without having wfut installed and we also need a media package for
offline usage (e.g. world building purposes)

id recommend to start with the dependencies now and get those out so we can
minimize the work that has to be done.

Comment 4 Wart 2006-07-14 18:10:24 UTC
(In reply to comment #3)
> it wont start without having wfut installed and we also need a media package for
> offline usage (e.g. world building purposes)

Darn.  I forgot about wfut.  I have a package based on the cvs sources that you
can use to test sear, but it's probably best to wait for upstream to release an
official tarball.

Comment 5 Wart 2006-09-20 17:21:39 UTC
wfut has now been built and pushed for FE6.  There shouldn't be any more
packages blocking this review.

Comment 6 Christopher Stone 2006-09-20 17:39:50 UTC
Still waiting on libmodelfile...  No FC5 packages?

Comment 7 Wart 2006-09-20 17:45:21 UTC
I haven't built libmodelfile yet because I'm giving Ralf and Hans one more
chance to clarify the licensing problem.  I just sent them email, and I'll
consider it a non-issue if I don't hear back from them soon.

I won't be building this (or any of the WorldForge packages) on FC5, only FC6.

Comment 8 Christopher Stone 2006-09-22 04:20:37 UTC
Is there any reason why this is only being built for FC6?  I don't think I
should be reviewing this package if it is only for FC6 as I would have no way of
actually testing it unless I installed FC6.

I'm going to go ahead and set this back to FE-NEW since I have no way of testing
this package.  Sorry.

Comment 9 Jason Tibbitts 2006-10-02 01:29:42 UTC
You can run some graphical applications from within the mock chroot, so if you
have mock (and I suppose you must or else you couldn't build this at all) then
you should still be able to run the application unless it requires something
like hardware access, direct rendering or sound.

Set MOCKCFG appropriately (I use MOCKCFG=fedora-6-x86_64-core.cfg), do your
normal mock build, and then do something like

mock-helper yum --installroot $MOCKDIR/root localinstall
$MOCKDIR/result/*{i386,x86_64,noarch}.rpm

to install your freshly built packages and any runtime dependencies into the
chroot, then 

cp .Xauthority $MOCKDIR/root/tmp/.Xauthority
mock -r fedora-6-x86_64-core.cfg --debug -- chroot DISPLAY=$DISPLAY
XAUTHORITY=/tmp/.Xauthority sear

(or whatever your mock config and executable are called).

This works for me (on other packages) logged into my build machine via ssh.  I
don't know how this would work if you're running mock on the same machine your
display is on, but I suppose you could easily hack it to work.


Comment 10 Jason Tibbitts 2006-10-02 01:36:35 UTC
Doh; that should be:

Set MOCKDIR appropriately  (I use
MOCKDIR=/var/lib/mock/fedora-development-x86_64-core), do your normal mock
build, and them do something like




Comment 11 Jason Tibbitts 2006-10-02 16:30:14 UTC
And unfortunately all this does is segfault for me.  With just the package and
its dependencies installed in a mock chroot:

oot -c "DISPLAY=localhost:10.0 XAUTHORITY=/tmp/.Xauthority sear"
which: no java in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin)
which: no gij in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin)
Could not find WFUT.jar
Error running WFUT. No native 'wfut' found on path or no Java found on path or
missing WFUT.jar
Starting Sear....
ALSA lib confmisc.c:670:(snd_func_card_driver) cannot find card '0'
ALSA lib conf.c:3479:(_snd_config_evaluate) function snd_func_card_driver
returned error: No such device
ALSA lib confmisc.c:391:(snd_func_concat) error evaluating strings
ALSA lib conf.c:3479:(_snd_config_evaluate) function snd_func_concat returned
error: No such device
ALSA lib confmisc.c:1070:(snd_func_refer) error evaluating name
ALSA lib conf.c:3479:(_snd_config_evaluate) function snd_func_refer returned
error: No such device
ALSA lib conf.c:3947:(snd_config_expand) Evaluate error: No such device
ALSA lib pcm.c:2143:(snd_pcm_open_noupdate) Unknown PCM default
ALSA lib confmisc.c:670:(snd_func_card_driver) cannot find card '0'
ALSA lib conf.c:3479:(_snd_config_evaluate) function snd_func_card_driver
returned error: No such device
ALSA lib confmisc.c:391:(snd_func_concat) error evaluating strings
ALSA lib conf.c:3479:(_snd_config_evaluate) function snd_func_concat returned
error: No such device
ALSA lib confmisc.c:1070:(snd_func_refer) error evaluating name
ALSA lib conf.c:3479:(_snd_config_evaluate) function snd_func_refer returned
error: No such device
ALSA lib conf.c:3947:(snd_config_expand) Evaluate error: No such device
ALSA lib pcm.c:2143:(snd_pcm_open_noupdate) Unknown PCM default
Sprite compass_case has no filename defined
Sprite compass_needle has no filename defined
Sprite compass_needle_shadow has no filename defined
/usr/bin/sear: line 104: 31365 Segmentation fault      $bindir/sear-bin
ending

Anyway, some notes for the built package.  First, rpmlint issues:

E: sear script-without-shebang /usr/share/doc/sear-0.6.2/COPYING
E: sear script-without-shebang /usr/share/doc/sear-0.6.2/AUTHORS
  These shouldn't be executable.

E: sear-debuginfo script-without-shebang
/usr/src/debug/sear-0.6.2/renderers/default_font.h
  (and several others)
  The source files shouldn't be executable; you'll need to chmod them in %prep.

With those fixed and a statement from someone who can test that this actually
does run, I'd approve this.  If I have time I'll try to put together a rawhide box.

Comment 13 Jason Tibbitts 2006-10-06 19:26:35 UTC
This is failing to build for me now.  The errors were all intertwined (8-way
machine) so I turned off parallel make and got this:

        g++ -DHAVE_CONFIG_H -I. -I. -I.. -I..  -I/usr/include/SDL
-D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/Mercator-0.2
-I/usr/include/wfmath-0.3 -I/usr/include/varconf-1.0 -I/usr/include/sigc++-2.0
-I/usr/lib64/sigc++-2.0/include -I/usr/include/Eris-1.3
-I/usr/include/skstream-0.3 -I/usr/lib64/skstream-0.3/include
-I/usr/include/Atlas-C++-0.6   -I/usr/include/libmodelfile-0.2       -O2 -g
-pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -O3 -DNDEBUG
-DATLAS_ELEMENT_TYPEDEF_PRIVATE=1 -c -o bar.o `test -f 'bar.cpp' || echo
'./'`bar.cpp
bar.cpp: In member function 'virtual void gcn::Bar::draw(gcn::Graphics*)':
bar.cpp:115: error: invalid use of undefined type 'struct gcn::Graphics'
/usr/include/guichan/widget.hpp:73: error: forward declaration of 'struct
gcn::Graphics'
bar.cpp:116: error: invalid use of undefined type 'struct gcn::Graphics'

The last two lines basically repeat twenty or so times with different line
numbers, ending with:

bar.cpp:186: error: invalid use of undefined type 'struct gcn::Graphics'
/usr/include/guichan/widget.hpp:73: error: forward declaration of 'struct
gcn::Graphics'
make[2]: *** [bar.o] Error 1
make[2]: Leaving directory `/builddir/build/BUILD/sear-0.6.2/guichan'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/builddir/build/BUILD/sear-0.6.2'
make: *** [all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.86155 (%build)




Comment 14 simon 2006-10-07 12:12:37 UTC
Sear requires guichan 0.4. These errors occur due to guichan 0.5 changes.

Comment 15 Jason Tibbitts 2006-10-07 15:39:28 UTC
So what happens now?  It's essentially impossible to get this in as-is; either
sear needs to be fixed, guichan 0.4 needs to be packaged up or this package
needs to be abandoned.

Comment 16 simon 2006-10-07 21:49:31 UTC
Until I ran a yum update yesterday I was already running guichan 0.4 from fedora
extras.

Comment 17 Wart 2006-10-15 03:56:16 UTC
According to the latest WorldForge meeting notes, sear has been updated to work
with the newer guichan library.  I'll update this review package as soon as new
tarballs are available upstream.

Comment 18 Wart 2006-10-15 04:05:16 UTC
Just to clarify the chain of events:

upstream manaworld updated their central server, which required an update to the
manaworld package in FE.  The updated manaworld package, unfortunately, also
required an update to guichan 0.5.0.  I asked the guichan maintainer to update
guichan, after which I updated manaworld.

The only other package that had a dependency on guichan was this one.  I was
told on IRC that upstream was working on adding support for guichan 0.5.0.

As things stand now:

guichan 0.5.0 is available in FE5 and FE6; guichan 0.4.0 is no longer available
manaworld has been updated to use the new guichan library for FE5 and FE6
sear has been updated upstream and I am awaiting new tarballs for this review.

Comment 19 Jason Tibbitts 2006-10-29 04:35:56 UTC
Did upstream ever release a version that works with the new guichan?

Comment 20 Wart 2006-10-31 00:50:34 UTC
Not yet.  I'll poke them again and see if I can get an answer on when to expect it.

Comment 21 simon 2006-10-31 16:19:51 UTC
I am currently trying to fix some issues with Intel GFX cards on win32 machines
before I make a new Sear release.
Also, see bug 213282 which needs to be resolved before sear will run on FC6.

Comment 22 Jason Tibbitts 2006-12-27 22:00:07 UTC
So this has been sitting for a couple of months now; has there been any
progress?  The blocking SDL bug has been fixed for about a month.

Comment 23 Wart 2007-01-10 06:52:15 UTC
Nope, no word from upstream yet.  I'll try to poke them tomorrow to see if we
can get an ETA.

Comment 24 simon 2007-01-25 15:51:03 UTC
We're close to being ready for a new release. This is currently pending an
update to the eris library.

However I am told that guichan 0.6 will be packaged soon and that again breaks
backwards compat with guichan 0.5.

Comment 25 Wart 2007-01-25 17:16:34 UTC
(In reply to comment #24)
> We're close to being ready for a new release. This is currently pending an
> update to the eris library.
> 
> However I am told that guichan 0.6 will be packaged soon and that again breaks
> backwards compat with guichan 0.5.

Yep, it sucks.  The other package in Fedora that depends on guichan is
'manaworld'.  Their latest release requires guichan 0.6, but is only considered
a bugfix release, so I've been postponing upgrading both manaworld and guichan
to give sear a chance to catch up.

Comment 26 Wart 2007-02-07 22:13:11 UTC
Updated packages based on the recently released sear 0.6.3:

http://www.kobold.org/~wart/fedora/sear.spec
http://www.kobold.org/~wart/fedora/sear-0.6.3-1.src.rpm

I haven't tried running the new package yet, but it does compile fine with
guichan 0.5.

Comment 27 simon 2007-02-07 23:24:13 UTC
Please note there is also an updated WFUT package. Both the sear and wfut
updates will allow the media to be installed as an rpm and further updates
downloaded into a user's home directory.

Comment 28 Wart 2007-02-08 01:11:23 UTC
New wfut packages are being built now.  I'll start working on a sear-media
package  as well.

Comment 29 Jason Tibbitts 2007-02-17 20:59:33 UTC
OK, this builds and installs cleanly for me on current rawhide, and rpmlint is
quiet.

Basically this looks good except for the desktop file, which just needs to be
run through desktop-file-install.  I'm not sure if the X-Red-Hat-Base category
is problematic or not.

Review:
* source files match upstream:
   f7865c4ad2fd2a294f2d9e1a69f7fc4e52eab63e0c582c81676e15331e58534a
   sear-0.6.3.tar.gz
* package meets naming and versioning guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
* dist tag is present.
* build root is correct.
* license field matches the actual license.
* license is open source-compatible.
* License text included in package.
* latest version is being packaged.
* BuildRequires are proper.
* compiler flags are appropriate.
* %clean is present.
* package builds in mock (development, x86_64).
* package installs properly
* debuginfo package looks complete.
* rpmlint is silent.
* final provides and requires are sane:
   sear = 0.6.3-1.fc7
  =
   /bin/sh
   libAtlas-0.6.so.1()(64bit)
   libAtlasCodecs-0.6.so.1()(64bit)
   libAtlasMessage-0.6.so.1()(64bit)
   libAtlasNet-0.6.so.1()(64bit)
   libAtlasObjects-0.6.so.1()(64bit)
   libGL.so.1()(64bit)
   libGLU.so.1()(64bit)
   libSDL-1.2.so.0()(64bit)
   libSDL_image-1.2.so.0()(64bit)
   libSDL_mixer-1.2.so.0()(64bit)
   libcal3d.so.12()(64bit)
   liberis-1.3.so.13()(64bit)
   libguichan.so.0()(64bit)
   libguichan_opengl.so.0()(64bit)
   libguichan_sdl.so.0()(64bit)
   libjpeg.so.62()(64bit)
   libmd3-0.2.so.1()(64bit)
   libmercator-0.2.so.4()(64bit)
   libpng12.so.0()(64bit)
   libsage.so.2()(64bit)
   libsigc-2.0.so.0()(64bit)
   libskstream-0.3.so.4()(64bit)
   libtiff.so.3()(64bit)
   libvarconf-1.0.so.6()(64bit)
   libwfmath-0.3.so.4()(64bit)
   libz.so.1()(64bit)
   wfut
* %check is not present; no test suite upstream.
  I have not tested this package but I'll give it a runthrough if I can get
  rawhide installed at work.
* no shared libraries are added to the regular linker search paths.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* no scriptlets present.
* code, not content.
* documentation is small, so no -docs subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.
* no headers.
* no pkgconfig files.
* no libtool .la droppings.
X desktop file is present, but needs to be installed using desktop-file-install.  
  You'll also have to add BR: desktop-file-utils.  Also, I'm not really sure
  about having X-Red-Hat-Base in the category list

Comment 30 Wart 2007-02-17 21:44:31 UTC
Updated package with the requested changes to the .desktop file handling and
moved the desktop icon to /usr/share/pixmaps so that it will show up in the menu:

http://www.kobold.org/~wart/fedora/sear-0.6.3-2.src.rpm
http://www.kobold.org/~wart/fedora/sear.spec

I finally fixed my 3D drivers and was able to test this on FC6-x86_64 against
the Fedora cyphesis server.  I haven't run into any problems yet.

Comment 31 Jason Tibbitts 2007-02-18 05:01:37 UTC
Looks good to me; the desktop file seems to be OK.  I'm still not sure about the
X-Red-Hat-Base category, but desktop-file-install doesn't complain about it.

APPROVED

Comment 32 Wart 2007-02-18 05:20:02 UTC
Actually, I forgot to mention that I patched out the X-Red-Hat-Base category in
the last package, and left it with only 'Category=Game;'.  That should avoid any
problems with the X-Red-Hat-Base category.

Setting fedora-cvs flag because I think this is part of the new package branch
request procedure.

FC-6 sear wart

Comment 33 Wart 2007-02-20 03:18:45 UTC
Imported and built.  Many thanks for the review!


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