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.
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.
Did a quick test and it's crashing on me :( will produce a debug backtrace when time permits.
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.
(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.
wfut has now been built and pushed for FE6. There shouldn't be any more packages blocking this review.
Still waiting on libmodelfile... No FC5 packages?
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.
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.
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.
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
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.
Updates addressing the rpmlint issues in comment #11: http://www.kobold.org/~wart/fedora/sear.spec http://www.kobold.org/~wart/fedora/sear-0.6.2-2.src.rpm
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)
Sear requires guichan 0.4. These errors occur due to guichan 0.5 changes.
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.
Until I ran a yum update yesterday I was already running guichan 0.4 from fedora extras.
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.
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.
Did upstream ever release a version that works with the new guichan?
Not yet. I'll poke them again and see if I can get an answer on when to expect it.
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.
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.
Nope, no word from upstream yet. I'll try to poke them tomorrow to see if we can get an ETA.
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.
(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.
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.
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.
New wfut packages are being built now. I'll start working on a sear-media package as well.
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
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.
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
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
Imported and built. Many thanks for the review!