Spec URL: http://cassmodiah.fedorapeople.org/fife-2009.0_r2761/fife.spec SRPM URL: http://cassmodiah.fedorapeople.org/fife-2009.0_r2761/fife-2009.0_r2761-1.fc10.src.rpm Description: Exact engine feature list changes over time, but the following lists the main guidelines for development * Games can be created with combination of engine, editor tools, game specific scripts and game content (e.g. maps, graphics and sounds). * Framework is not tied to any type of game (e.g. RTS, RPG), but instead provides flexible platform for all of them. * Framework supports different isometric views with addition of pure top-down view. * Instead of full 3D flexibility, engine focuses mainly on using high quality 2D graphics. This puts less demands on target platforms and also simplifies the framework and game development. * Purpose of the editor tools is to help to bind the game content with the engine and scripts. RPMLint-Issues: fife.src:283: W: libdir-macro-in-noarch-package %{_libdir}/%{name}/ 7 packages and 0 specfiles checked; 0 errors, 1 warnings. ^^^ I think this is an error of rpmlint ^^^
Simon, are you sure that "NOTABUG" is not a better status than "WONTFIX" ? Usually "WONTFIX" is meant for unfixable bugs / RFEs etc. In the context of a new package it looks odd, IMHO.
i decided "won't fix", because there are a lot of open questions and fixes which shall be done for this package, which I can't do. (perhabs cantfix???) for exmple: settings.xml must be writeable to adopt changes in settings.xml done by the settingsmenu in the client, because there will be non settings.xml in the users home. and many many more problems.
http://koji.fedoraproject.org/koji/taskinfo?taskID=1455007 SRPM: http://cassmodiah.fedorapeople.org/fife-2009.0-r2944/fife-2009.0-0.3.r2944svn.fc11.src.rpm SPEC: http://cassmodiah.fedorapeople.org/fife-2009.0-r2944/fife.spec RPMLINT: fife.i586: E: script-without-shebang /usr/lib/fife/engine/extensions/pythonize.py fife.i586: E: script-without-shebang /usr/lib/fife/engine/extensions/savers.py fife.i586: E: script-without-shebang /usr/lib/fife/engine/extensions/pychan/__init__.py fife.i586: E: script-without-shebang /usr/lib/fife/engine/extensions/loaders.py fife.i586: E: script-without-shebang /usr/lib/fife/engine/extensions/fifelog.py fife-debuginfo.i586: W: spurious-executable-perm /usr/src/debug/fife-2009.0_r2944/engine/core/loaders/native/audio_loaders/sounddecoder_ogg.h fife-debuginfo.i586: W: spurious-executable-perm /usr/src/debug/fife-2009.0_r2944/engine/core/loaders/native/audio_loaders/sounddecoder_ogg.cpp fife-editor.i586: E: script-without-shebang /usr/share/fife-editor/__init__.py fife-editor.i586: E: non-executable-script /usr/share/fife-editor/plugins/LayerTool.py 0644 fife-editor.i586: E: script-without-shebang /usr/share/fife-editor/plugins/__init__.py fife-editor.i586: E: non-executable-script /usr/share/fife-editor/plugins/ObjectEdit.py 0644 6 packages and 0 specfiles checked; 9 errors, 2 warnings. I added LinuxDonald as CC, because he is a part of upstream.
wrong kojitask above. http://koji.fedoraproject.org/koji/taskinfo?taskID=1455087 here is the correct one.
KOJI: http://koji.fedoraproject.org/koji/taskinfo?taskID=1455359 SPEC: http://cassmodiah.fedorapeople.org/fife-2009.0-r2947/fife.spec SRPM: http://cassmodiah.fedorapeople.org/fife-2009.0-r2947/fife-2009.0-0.7.r2947svn.fc11.src.rpm RPMLINT: (silent) 6 packages and 0 specfiles checked; 0 errors, 0 warnings. @Thomas, I added your (and mine) sponsor Mamoru Tasaka as CC. He should take a look at this, because he is ultra-high skilled and perhaps he find things, which we won't find. I believe that this step is very important; you are "biased", because you are a part of upstream. Please don't take it personally...
It´s my first review. # MUST: rpmlint must be run on every package. The output should be posted in the review. 5 packages and 0 specfiles checked; 0 errors, 0 warnings. All Okay # MUST: The package must be named according to the Package Naming Guidelines. Okay # MUST: The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption. Okay # MUST: The package must meet the Packaging Guidelines. Okay # MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines. Okay # MUST: The License field in the package spec file must match the actual license. Okay # MUST: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package must be included in %doc. Okay # MUST: The spec file must be written in American English. Okay # MUST: The spec file for the package MUST be legible. Okay # MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. Reviewers should use md5sum for this task. If no upstream URL can be specified for this package, please see the Source URL Guidelines for how to deal with this. Okay # MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture. Okay # MUST: If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in ExcludeArch. Each architecture listed in ExcludeArch MUST have a bug filed in bugzilla, describing the reason that the package does not compile/build/work on that architecture. The bug number MUST be placed in a comment, next to the corresponding ExcludeArch line. Okay # MUST: All build dependencies must be listed in BuildRequires, except for any that are listed in the exceptions section of the Packaging Guidelines ; inclusion of those as BuildRequires is optional. Apply common sense. Okay # MUST: The spec file MUST handle locales properly. This is done by using the %find_lang macro. Using %{_datadir}/locale/* is strictly forbidden. Okay # MUST: Every binary RPM package (or subpackage) which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in %post and %postun. Okay # MUST: If the package is designed to be relocatable, the packager must state this fact in the request for review, along with the rationalization for relocation of that specific package. Without this, use of Prefix: /usr is considered a blocker. Okay # MUST: A package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory. Okay # MUST: A Fedora package must not list a file more than once in the spec file's %files listings. Okay # MUST: Permissions on files must be set properly. Executables should be set with executable permissions, for example. Every %files section must include a %defattr(...) line. Okay # MUST: Each package must have a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT). Okay # MUST: Each package must consistently use macros. Okay # MUST: The package must contain code, or permissable content. Okay # MUST: Large documentation files must go in a -doc subpackage. (The definition of large is left up to the packager's best judgement, but is not restricted to size. Large can refer to either size or quantity). Okay # MUST: If a package includes something as %doc, it must not affect the runtime of the application. To summarize: If it is in %doc, the program must run properly if it is not present. Okay # MUST: Header files must be in a -devel package. Okay # MUST: Static libraries must be in a -static package. Okay # MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig' (for directory ownership and usability). Okay # MUST: If a package contains library files with a suffix (e.g. libfoo.so.1.1), then library files that end in .so (without suffix) must go in a -devel package. Okay # MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: Requires: %{name} = %{version}-%{release} Okay # MUST: Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built. Okay # MUST: Packages containing GUI applications must include a %{name}.desktop file, and that file must be properly installed with desktop-file-install in the %install section. If you feel that your packaged GUI application does not need a .desktop file, you must put a comment in the spec file with your explanation. Okay # MUST: Packages must not own files or directories already owned by other packages. The rule of thumb here is that the first package to be installed should own the files or directories that other packages may rely upon. This means, for example, that no package in Fedora should ever share ownership with any of the files or directories owned by the filesystem or man package. If you feel that you have a good reason to own a file or directory that another package owns, then please present that at package review time. Okay # MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot} (or $RPM_BUILD_ROOT). Okay # MUST: All filenames in rpm packages must be valid UTF-8. Okay
Overall: LGPLv2+ (License text) ./clients/editor/LICENSE [1] ./clients/rio_de_hola/LICENSE [2] GPLv3+ (some files under) \ ./clients/rio_de_hola/objects/items/ [2] GPLv3 or CC-BY-SA ./clients/rio_de_hola/objects/clouds/ [2] GPLv2+: ./clients/editor/plugins/LayerTool.py ./clients/editor/plugins/ObjectEdit.py clients/pychan_demo/fonts/freefont/CREDITS [3] ./utils/frmconv/frmconv.c GPLv2+?? (some png files under) \ ./clients/editor/gui/icons/ [1] GPLv2 ./clients/rio_de_hola/fonts/rpgfont.png [2] ./tests/data/rpgfont.png [2] BSD ./clients/editor/scripts/events/signal.py GFDL ./tests/data/wolf_walk/gfx/LICENSE CC-BY-SA ./clients/rio_de_hola/sounds/ [2] (some files under) \ ./clients/rio_de_hola/objects/items/ [2] ./clients/rio_de_hola/objects/buildings/beach_bar/ [2] CC-BY-ND ./clients/rio_de_hola/music/ [2] http://reinerstileset.4players.de/readmeE.html#b [2] ./clients/rio_de_hola/objects/{agents,grounds,items,nature} ====================================================================== (It seems the following files are not included in the rebuilt binary rpms) NG-for-Fedora ./tests/data/LICENSE [4] ./tests/data/audiotest1.ogg [4] ./tests/data/left_right_test.ogg [4] CC-BY-NC (NG_for_Fedora) Note: According to [5] some files under ./tests/data are originally .mp3 file, which cannot be allowed in Fedora ./tests/data/MUSIC.README [5] "freeware" ./tests/data/crate/LICENSE [6]
CC-ing to spot. Spot: would you investige the following license? http://reinerstileset.4players.de/readmeE.html#b
That license seems to contradict itself (commercial use is OK with credit, but no permission to sell, etc.) but I have a hard time thinking that even a liberal interpretation could be free. It starts out good: " All the graphics and meshes are freeware. Even for commercial Games. I just want my name in the Credits in the commercial case: Reiner "Tiles" Prokein. You can modify my graphics in every needed way to fit it to your needs: size, colour, fileformat, etc., you can reuse the textures ... . " But then it contradicts itself: " Even when the Graphics and meshes are freeware, it doesn´t mean that you can upload my raw graphics and meshes to your page, sell them or do something else with it. This also includes recoloured or in other ways modified Sprites, Tilesets or meshes. The graphics and meshes itself are mine as long as you haven´t made something with it. But it becomes completely yours when you make a game or something like that with it :) . "
Wow, that license is a mess. I'm just going to say non-free.
Blocking FE-Legal.
would be okay if i drop rio_de_hola aka demo? these files are in the srpm, too.. but not in the rpms. is this a compromiss?
If it gets rid of all the files which are under that non-free license, then that should be enough to lift the legal hold.
I´m from fife upstream and i will fix that license problem with the demo.
it's easier to modify source0 to meet the license requirements!
It´s your package you can do want you want.
Thomas, we discussed about it yesterday, i will comment out the demo package and modify the source0 until you changed these files in demo. it's the easiest way. demo isn't an important package for fife, because it just do what it should. show that fife works.
you know, that I try to include unknown horizons as well? it's a better "demo" than rio de hola!
@Mamoru, there aren't mp3's in test @Thomas. there is a new problem with test and editor.. The client projects and the test direcory are patchwork-projects, because most files are foreign. These files are very bad documentated. I have same problems with UH at the moment. The bad documentation is the reason that nobody really knows a) where the files from and b) under which license these files are. This is a very very big problem. barra and christoph (from upstream) will take a look on it. I will exclude test/ and clients/ and I will include clients/editor if the license check from upstream is okay then... engine only atm. I will add a new SRPM tonight.
(In reply to comment #19) > @Mamoru, > there aren't mp3's in test You're correct in that there are no mp3 files, however ./tests/data/MUSIC.README reads that some files under ./tests/ are _created_ from mp3 file, and also the original files are licensed under CC-BY-NC, which is not allowed on Fedora anyway.
removed clients tests and ext. compressed sourcefile before = 32,8MB compressed sourcefile after = 0,6MB SPEC: http://cassmodiah.fedorapeople.org/fife-2009.0-r2951/fife.spec SRPM: http://cassmodiah.fedorapeople.org/fife-2009.0-r2951/fife-2009.0-0.9.r2951svn.fc11.src.rpm
Removing FE-Legal.
For -0.9: * License - As now all CC-BY-SA part is removed the license for main package should be "LGPLv2+". * optflags - Fedora specific compilatin flags are not honored: ------------------------------------------------------------------- 118 FIFE msvc9 project file succesfully created (/builddir/build/BUILD/fife-2009.0_r2951/build/win32/build_environments/visual_studio_9/fife.vcproj) 119 g++ -o engine/core/audio/soundclip.os -c -fPIC -Wall -ggdb -O0 -D_GNU_SOURCE=1 -D_REENTRANT -DLOG_ENABLED -DHAVE_ZIP -DHAVE_OPENGL -I/opt/include -I/usr/include/vorbis -I/usr/include/python2.6 -I/usr/include/SDL -Iext/install/include -Iengine/core -Iengine/swigwrappers engine/core/audio/soundclip.cpp 120 g++ -o engine/core/audio/soundemitter.os -c -fPIC -Wall -ggdb -O0 -D_GNU_SOURCE=1 -D_REENTRANT -DLOG_ENABLED -DHAVE_ZIP -DHAVE_OPENGL -I/opt/include -I/usr/include/vorbis -I/usr/include/python2.6 -I/usr/include/SDL -Iext/install/include -Iengine/core -Iengine/swigwrappers engine/core/audio/soundemitter.cpp 121 g++ -o engine/core/audio/soundmanager.os -c -fPIC -Wall -ggdb -O0 -D_GNU_SOURCE=1 -D_REENTRANT -DLOG_ENABLED -DHAVE_ZIP -DHAVE_OPENGL -I/opt/include -I/usr/include/vorbis -I/usr/include/python2.6 -I/usr/include/SDL -Iext/install/include -Iengine/core -Iengine/swigwrappers engine/core/audio/soundmanager.cpp ------------------------------------------------------------------- * Removing rpath - Would you try to remove rpath by modifyin SConscript or so instead of using chrpath binary? As far as I tried the following is enough for this package: ------------------------------------------------------------------- %prep %setup -q -n %{name}-%{version}_%{revision} .... .... sed -i.rpath -e "/-rpath/s|LINKFLAGS=\[.*\]|LINKFLAGS=\[''\]|" engine/SConscript ------------------------------------------------------------------- ( Currently I cannot understand why this -rpath direction is written in engine/SConscript ) * Installing binaries ------------------------------------------------------------------- install -m0644 engine/lib*.so \ %{buildroot}%{_libdir}/%{name}/engine .... chmod +x %{buildroot}%{_libdir}/%{name}/engine/lib%{name}.so ------------------------------------------------------------------- * Identical binaries ------------------------------------------------------------------- 282 extracting debug info from /builddir/build/BUILDROOT/fife-2009.0-0.9.r2951svn.fc12.i386/usr/lib/fife/engine/swigwrappers/python/_fife.so 283 extracting debug info from /builddir/build/BUILDROOT/fife-2009.0-0.9.r2951svn.fc12.i386/usr/lib/fife/engine/libfife.so 284 *** WARNING: identical binaries are copied, not linked: 285 /usr/lib/fife/engine/libfife.so 286 and /usr/lib/fife/engine/swigwrappers/python/_fife.so ------------------------------------------------------------------- - Is this correct? If so, would you consider to use symlink? * Calling ldconfig - Calling /sbin/ldconfig on %post{,un} is not needed for this package because no libraries are installed under the default libraries search path.
I still have 2 problems. first: mock doesn't work since friday. (broken mirrors or whatever) second: i haven't find the contact in upstream-team to solve the compiler flag problem. I thought CXXFlags="%{optflags}" as scons parameter would do the trick. Currently I don't know how I can use optflags with scons. Is it a fife config problem with scons? Mamoru, would you please help me again to solve this issue?
(In reply to comment #24) > I still have 2 problems. > > first: mock doesn't work since friday. (broken mirrors or whatever) > > second: i haven't find the contact in upstream-team to solve the compiler flag > problem. If you set the URLs manually, it works fine. > I thought CXXFlags="%{optflags}" as scons parameter would do the trick. > Currently I don't know how I can use optflags with scons. Is it a fife config > problem with scons? I already told you to look at SConstruct and the patch I wrote for sakura: http://cvs.fedoraproject.org/viewvc/rpms/sakura/devel/sakura-2.3.3-cflags.patch?revision=1.1 Shouldn't be to hard to do this for this package.
Well, (In reply to comment #24) > first: mock doesn't work since friday. (broken mirrors or whatever) - Instead you can try koji scratch build (if you are not using mock shell) as $ koji build --scratch <target> <srpm_you_want_to_build> where <target> can be dist-f12, dist-f11-updates-candidate, dist-f10-updates-candidate or so. If koji scratch build is successful, the rebuilt binary rpms are put (for about one weeks) under http://koji.fedoraproject.org/scratch/<your_FAS_name>/ > second: i haven't find the contact in upstream-team to solve the compiler flag > problem. > I thought CXXFlags="%{optflags}" as scons parameter would do the trick. > Currently I don't know how I can use optflags with scons. Is it a fife config > problem with scons? Mamoru, would you please help me again to solve this issue? - Well, * As I said in comment 23, build.log says: ------------------------------------------------------------------------- 119 g++ -o engine/core/audio/soundclip.os -c -fPIC -Wall -ggdb -O0 -D_GNU_SOURCE=1 -D_REENTRANT -DLOG_ENABLED -DHAVE_ZIP -DHAVE_OPENGL -I/opt/include -I/usr/include/vorbis -I/usr/include/python2.6 -I/usr/include/SDL -Iext/install/include -Iengine/core -Iengine/swigwrappers engine/core/audio/soundclip.cpp ------------------------------------------------------------------------- * You can search what the compiler flags "-O0" comes from, for example, as $ grep -r -- '-O0' . * Then you'll find it comes from ./SConstruct as: -------------------------------------------------------------------------- 134 if env['debug'] == 1: 135 env.Append(CPPFLAGS = ['-ggdb', '-O0']) 136 else: 137 if os.getenv('CXXFLAGS'): 138 env.Append(CPPFLAGS = Split(os.environ['CXXFLAGS'])) 139 else: 140 env.Append(CPPFLAGS = ['-O2']) ------------------------------------------------------------------------- Perhaps fixing around these files will make Fedora cflags honored.
Okay, I got the trick... weekend froscon, then continue vacation in france for a couple of weeks... http://cassmodiah.fedorapeople.org/fife-2009.0-r2955/fife.spec http://cassmodiah.fedorapeople.org/fife-2009.0-r2955/fife-2009.0-0.14.r2955svn.fc11.src.rpm
Mamoru can you review the package please?
Well, Fedora specific compilation flags are not corretly honored yet: --------------------------------------------------------- 329 FIFE msvc9 project file succesfully created (/builddir/build/BUILD/fife-2009.0_r2955/build/win32/build_environments/visual_studio_9/fife.vcproj) 330 g++ -o engine/core/audio/soundclip.os -c -fPIC -Wall -ggdb -O0 -D_GNU_SOURCE=1 -D_REENTRANT -DLOG_ENABLED -DHAVE_ZIP -DHAVE_OPENGL -I/opt/include -I/usr/include/vorbis -I/usr/include/python2.6 -I/usr/include/SDL -Iext/install/include -Iengine/core -Iengine/swigwrappers engine/core/audio/soundclip.cpp 331 g++ -o engine/core/audio/soundemitter.os -c -fPIC -Wall -ggdb -O0 -D_GNU_SOURCE=1 -D_REENTRANT -DLOG_ENABLED -DHAVE_ZIP -DHAVE_OPENGL -I/opt/include -I/usr/include/vorbis -I/usr/include/python2.6 -I/usr/include/SDL -Iext/install/include -Iengine/core -Iengine/swigwrappers engine/core/audio/soundemitter.cpp ---------------------------------------------------------
back from vacation. i will take care of this within this week or by next weerk at the latest. I will try to work with upstream together!
SPEC: http://cassmodiah.fedorapeople.org/fife-2009.0-r3048/fife.spec SRPM: http://cassmodiah.fedorapeople.org/fife-2009.0-r3048/fife-2009.0-0.18.r3048svn.fc11.src.rpm
mtasaka can you please review the package again? @Cassmodiah update it to the last svn rev that the newest version can be added to fedora :)
Looks good for me.
Approved package because Mamoru Tasaka have checked it.
Okay, afaik massbranch today?! New Package CVS Request ======================= Package Name: fife Short Description: Cross platform game creation framework Owners: cassmodiah Branches: !!!devel (F-13) only!!! InitialCC: why F-13 only? 1.) This is just the engine, just the framework. For it's own it's good for nothing. We need a client. In this case I'm planning to integrate Unknown Horzion, an Anno 1602 like game. And this will be a long long time coming.. 2.) There is no shedule for a stable-release. I'm in good contact with upstream. If they are release a stable in the F-12 stable time and UH is ready I can do it for F12 as well. But I don't think that it make sense for me to bring an embryonic software to a stable release.
Thank you Thomas & Mamoru for your reviews!
cvs done.
Thank you Kevin. Built in rawhide!