Bug 740

Summary: Review request: meka - Multi machine emulator for MS-DOS, MS-Windows and GNU/Linux
Product: Package Reviews Reporter: Andrea Musuruane <musuruan>
Component: Review RequestAssignee: Göran Uddeborg <goeran>
Status: RESOLVED FIXED    
Severity: normal CC: rpmfusion-package-review, solarflow99
Priority: P5    
Version: Current   
Hardware: All   
OS: GNU/Linux   
namespace:
Bug Depends on:    
Bug Blocks: 4    

Description Andrea Musuruane 2009-07-30 19:39:17 CEST
http://www.webalice.it/musuruan/RPMS/reviews/meka.spec
http://www.webalice.it/musuruan/RPMS/reviews/meka-0.73-0.1.20080619.fc10.src.rpm

* Description:
MEKA is a multi machine emulator, originally started as a Sega Master System
emulator, and generally very oriented toward Z80-based Sega 8-bit systems.
MEKA officially emulates the following systems:

 - Sega Game 1000        / SG-1000  / Japan, Oceania
 - Sega Computer 3000    / SC-3000  / Japan, Oceania, Europe
 - Super Control Station / SF-7000  / Japan, Oceania, Europe
 - Sega Mark III         / MK3      / Japan
    + FM Unit Extension  / MK3+FM   / Japan
 - Sega Master System    / SMS      / World Wide
 - Sega Game Gear        / GG       / World Wide
 - ColecoVision          / COLECO   / America, Europe
 - Othello Multivision   / OMV      / Japan

You can play other systems on it only if you are smart enough to figure how.
And if you are, I doubt you will want to play Nintendo games. So forget it.

* Why this package is not eligible to be included in Fedora:
It requires ROMs (or image files in any format) of copyrighted material to be useful and the owners of those copyrights and patents have not given their express written permission.

* Rpmlint output:
meka.i386: W: invalid-license Distributable
meka.src: W: invalid-license Distributable
Comment 1 Andrea Musuruane 2010-06-20 11:19:46 CEST
http://www.webalice.it/musuruan/RPMS/reviews/meka.spec
http://www.webalice.it/musuruan/RPMS/reviews/meka-0.73-1.fc12.src.rpm

Changelog:
* Sun Jun 13 2010 Andrea Musuruane <musuruan@gmail.com> 0.73-1
- New upstream release

If someone would like to perform this review request after almost an year after submission, I'll be glad to review another package in RPM Fusion or Fedora.
Comment 2 Andrea Musuruane 2010-11-20 16:39:31 CET
http://www.webalice.it/musuruan/RPMS/reviews/meka.spec
http://www.webalice.it/musuruan/RPMS/reviews/meka-0.73-2.fc14.src.rpm

Changelog:
- Added a patch to compile with gcc4.5

Comment 3 Andrea Musuruane 2010-11-20 16:42:20 CET
Please note that rpmlint now reports:
meka.i686: W: executable-stack /usr/libexec/meka/meka

But I patched meka not to require an exec stack. I don't know why now on F14 rpmlint trigger this.
Comment 4 solarflow99 2010-11-22 05:37:11 CET
(In reply to comment #3)
> Please note that rpmlint now reports:
> meka.i686: W: executable-stack /usr/libexec/meka/meka
> 
> But I patched meka not to require an exec stack. I don't know why now on F14
> rpmlint trigger this.
> 

I can confirm this error is not reported in F-13, I just saw 4 insignificant warnings.  You know a lot about package development already, so I can't see a lot I can comment on, just wanted to help review it for you.  I see you also used ExclusiveArch like my package does, I also used ExclusiveOS.

Comment 5 Andrea Musuruane 2010-11-22 09:52:10 CET
(In reply to comment #4)
> I can confirm this error is not reported in F-13, I just saw 4 insignificant
> warnings.  You know a lot about package development already, so I can't see a
> lot I can comment on, just wanted to help review it for you.  I see you also
> used ExclusiveArch like my package does, I also used ExclusiveOS.

ExclusiveArch is required because meka contains i386 asm code. Therefore you cannot compile it under x86_64. I don't see any need to use ExclusiveOS. 

If you want to preform the review, I'm going to return the favour reviewing one of your packages.
Comment 6 solarflow99 2010-11-22 11:06:20 CET
(In reply to comment #5)
> (In reply to comment #4)
> > I can confirm this error is not reported in F-13, I just saw 4 insignificant
> > warnings.  You know a lot about package development already, so I can't see a
> > lot I can comment on, just wanted to help review it for you.  I see you also
> > used ExclusiveArch like my package does, I also used ExclusiveOS.
> 
> ExclusiveArch is required because meka contains i386 asm code. Therefore you
> cannot compile it under x86_64. I don't see any need to use ExclusiveOS. 
> 
> If you want to preform the review, I'm going to return the favour reviewing one
> of your packages.
 

I'm glad if I can do something to help, the spec file looks good, whats holding it back from doing a build?
Comment 7 Andrea Musuruane 2010-11-22 11:16:20 CET
(In reply to comment #6)
> I'm glad if I can do something to help, the spec file looks good, whats holding
> it back from doing a build?

I'm not sure I understand your question. Every package needs a formal review by a sposored packager to be integrated in RPM Fusion. Therefore I'm looking for a sponsored packager to review meka.

Comment 8 solarflow99 2010-11-24 10:25:28 CET
(In reply to comment #7)
> (In reply to comment #6)
> > I'm glad if I can do something to help, the spec file looks good, whats holding
> > it back from doing a build?
> 
> I'm not sure I understand your question. Every package needs a formal review by
> a sposored packager to be integrated in RPM Fusion. Therefore I'm looking for a
> sponsored packager to review meka.

ok, I guess even experienced packagers need someone else to review their own package right?   I looked it over the best I could, I can't find anything wrong on F-13, it built and ran with any problems, I don't have a F-14 host to test on yet.  One thing I noticed misleading to me was the summary, perhaps it should mention that its a game emulator, and take out the ms-dos, windows, and linux.
Everything else I checked and compared to my package looks good (dosemu, which is similar).

I hope this helps...

Comment 9 Andrea Musuruane 2010-11-24 12:16:45 CET
(In reply to comment #8)

> ok, I guess even experienced packagers need someone else to review their own
> package right?   I looked it over the best I could, I can't find anything wrong
> on F-13, it built and ran with any problems, I don't have a F-14 host to test
> on yet.  One thing I noticed misleading to me was the summary, perhaps it
> should mention that its a game emulator, and take out the ms-dos, windows, and
> linux.
> Everything else I checked and compared to my package looks good (dosemu, which
> is similar).

Good catch for the summary. I'm gonna change it.

The package review process is described here:
http://rpmfusion.org/Contributors
https://fedoraproject.org/wiki/Package_Review_Process

Among other things, a formal review through a check list is needed to approve a package in RPM Fusion (or Fedora).
Comment 10 solarflow99 2010-11-25 09:10:42 CET
ok, I don't see a special group for reviewers, so i'll assume I can do it.  Taking this package for review.  

rpmlint output is OK, I just see this one warning (W):


meka.src: W: invalid-license Distributable
The value of the License tag was not recognized.


I assume this license is OK right?  Just a few minor ideas to consider for the spec file, perhaps the blank line between Summary and Group can be moved and put after URL instead, double spaces between macros such as %description, %build, etc.  tabs can align the values instead of a space to look something like this:


Source2:	%{name}.desktop
Source3:	freedos-source.tar.gz
Group:		Applications/Emulators
Buildroot:	%{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires:	bison 
BuildRequires:	desktop-file-utils
BuildRequires:	xorg-x11-font-utils
Requires:	hicolor-icon-theme

  
All this looks good after this, I can set block to: approved, and this package will be available.
Comment 11 Andrea Musuruane 2010-11-25 10:50:50 CET
(In reply to comment #10)
> ok, I don't see a special group for reviewers, so i'll assume I can do it. 
> Taking this package for review.  

Justin, you are not a Fedora sponsored packager:
https://admin.fedoraproject.org/accounts/user/view/jzygmon

In this case you cannot perform a review and moreover, you cannot maintain any package even here in RPM Fusion. Therefore I don't understand how the review you submitted for dosemu has been approved. I'm sorry but I have to raise this issue in the devel mailing list.

Resetting review status.

Comment 12 solarflow99 2010-11-25 11:02:59 CET
ok ok, you can calm down.  If you asked me, I could tell you how my package got approved.  Its got nothing to even do with this!  
I'm only doing this because I wanted to help you out.

Why, why do you say something like this if you wanted someone to review your package for you?
Comment 13 Andrea Musuruane 2010-11-25 11:19:06 CET
(In reply to comment #12)
> ok ok, you can calm down.  If you asked me, I could tell you how my package got
> approved.  Its got nothing to even do with this!  
> I'm only doing this because I wanted to help you out.
> Why, why do you say something like this if you wanted someone to review your
> package for you?

I am calm :-) And I know you want to help.

I just saw you have been sponsored by Lubomir Rintel during DOSEMU review for RPM Fusion only. Your sponsor should have verified that you have the required understanding of Fedora guidelines before sponsoring you.
https://fedoraproject.org/wiki/How_to_sponsor_a_new_contributor

It is your sponsor's duty to help you through the process and verify you have a good understanding of Fedora (and RPM Fusion) packaging processes:
https://fedoraproject.org/wiki/Packager_sponsor_responsibilities

But it does seem to me that you don't have the basic understanding of Fedora packaging guidelines. Therefore I am bound to raise this issue, at least with your sponsor. I think you have been sponsored too fast without doing any informal review.

I'm not happy to do this at all and I have nothing personally against you. The real problem here is that the overall quality of our packages. We (in Fedora or RPM Fusion) can have good quality packages only if our guidelines are well understood and followed.

Comment 14 solarflow99 2010-11-25 11:33:51 CET
Well, you can find someone else to help you.  I know enough for the 1 package I have to maintain, and where ever else I can help out too.  You can help yourself. You always have...

  
Comment 15 Göran Uddeborg 2010-11-30 20:03:56 CET
Package Review
==============

Key:
- = N/A
+ = Checked, ok
N = Se note N below


=== MUST ITEMS ===
[1-4] rpmlint must be run on the source rpm and all binary rpms the build produces. The output should be posted in the review.
[+] The package must be named according to the Package Naming Guidelines .
[+] The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption.
[5-6] The package must meet the Packaging Guidelines.
[+] The package must be licensed with a Fedora approved license and meet the Licensing Guidelines.
[1] The License field in the package spec file must match the actual license.
[+] 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.
[+] The spec file must be written in American English.
[+] The spec file for the package MUST be legible.
[+] The sources used to build the package must match the upstream source, as provided in the spec URL.
[+] The package MUST successfully compile and build into binary rpms on at least one primary architecture.
[7] 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.
[+] 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.
[-] The spec file MUST handle locales properly. This is done by using the %find_lang macro. Using %{_datadir}/locale/* is strictly forbidden.
[-] 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.
[+] Packages must NOT bundle copies of system libraries.
[-] 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.
[+] 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.
[+] A Fedora package must not list a file more than once in the spec file's %files listings.
[+] Permissions on files must be set properly. Executables should be set with executable permissions, for example. Every %files section must include a %defattr(...) line.
[8] Each package must consistently use macros.
[6] The package must contain code, or permissable content.
[-] Large documentation files must go in a -doc subpackage.
[+] 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.
[-] Header files must be in a -devel package.
[-] Static libraries must be in a -static package.
[-] 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.
[-] In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: Requires: %{name} = %{version}-%{release}
[-] Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built.
[+] 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.
[+] 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.
[+] All filenames in rpm packages must be valid UTF-8.


=== SHOULD ITEMS ===
[-] If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it.
[9] The description and summary sections in the package spec file should contain translations for supported Non-English languages, if available.
[+] The reviewer should test that the package builds in mock.
[+] The package should compile and build into binary rpms on all supported architectures.
[10-11] The reviewer should test that the package functions as described. A package should not segfault instead of running, for example.
[+] If scriptlets are used, those scriptlets must be sane. This is vague, and left up to the reviewers judgement to determine sanity.
[-] Usually, subpackages other than devel should require the base package using a fully versioned dependency.
[-] The placement of pkgconfig(.pc) files depends on their usecase, and this is usually for development purposes, so should be placed in a -devel pkg. A reasonable exception is that the main pkg itself is a devel tool not installed in a user runtime, e.g. gcc or gdb.
[-] If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which provides the file instead of the file itself.
[3] your package should contain man pages for binaries/scripts. If it doesn't, work with upstream to add them where they make sense.

=== Issues ===
1. meka.i686: W: invalid-license Distributable
Fedora doesn't accept "Distributable" as a license any more.  In this case there are several different licenses in effect, and this should be noted by enumerating them with "and" in between.  (https://fedoraproject.org/wiki/Packaging/LicensingGuidelines#Multiple_Licensing_Scenarios)  Most code is covered by the license of sources.txt, but I also found LGPLv2+ (libs/seal/include/audio.h), zlib/libpng license (libs/libpng/* and srcs/libaddon/zip/*), and a non-commercial use license (srcs/z8marat and srcs/m6502/*).  Even if it gets a bit long, it is probably best to enumerate them.

2. meka.i686: W: executable-stack /usr/libexec/meka/meka
I believe the problem here is that nasm sets __OUTPUT_FORMAT__ "elf32" rather than "elf".  Thus, the %ifidn test gets false, and your patch has no effect.  I haven't tried it all the way through, though; leave that to you! :-)

3. meka.i686: W: no-manual-page-for-binary meka
It's a "should", but I guess it could be hard to convince upstream to make one, given that meka is in maintenance mode.  But it can't hurt to suggest it, I guess. :-)

4. meka.src:28: W: macro-in-comment %{ix86}
Maybe not a big deal, but could you explain why you have commented out the use of the %ix86 macro, and hardcoded i686?

5. The package needs external bits, but that is why it is in rpmfusion, so ok.

6. There are a couple of binary libraries in the source package, like libs/seal/lib/Win32/audw32vc_s.lib and libs/libpng/lib/libpng.lib for example.  As far as I can tell they are not used, but to make sure they should be removed in %prep according to https://fedoraproject.org/wiki/Packaging/Guidelines#No_inclusion_of_pre-built_binaries_or_libraries

7. I think it would be a good idea to have a comment in the spec file explaining that the REASON you only want to build on i686 is that the package contains assembly code.

8. You use %buildroot as an RPM macro but $RPM_OPT_FLAGS as a shell variable.  The packaging guidelines prefers if you choose one or the other.

9. If you want Swedish translations of summary and descriptions, you can use these: :-)

Summary(sv): Emulator av olika maskiner för MS-DOS, MS-Windows och GNU/Linux

%description -l sv
MEKA är en emulator av flera maskiner, ursprungligen startad som en emulator av  Sega Master System, och generellt mycket inriktat mot Z80-baserade Sega 8-bitarssystem.  MEKA emulerar officiellt följande system:

 - Sega Game 1000        / SG-1000  / Japan, Oceanien
 - Sega Computer 3000    / SC-3000  / Japan, Oceanien, Europa
 - Super Control Station / SF-7000  / Japan, Oceanien, Europa
 - Sega Mark III         / MK3      / Japan
    + FM Unit Extension  / MK3+FM   / Japan
 - Sega Master System    / SMS      / Hela världen
 - Sega Game Gear        / GG       / Hela Världen
 - ColecoVision          / COLECO   / Amerika, Europa
 - Othello Multivision   / OMV      / Japan

Du kan spela andra system bara om du är smart nog att lista ut hur.  Och om du är det betvivlar jag att du kommer vilja spela Nintendospel.  Så glöm det.

10. The start script does a "cd" to begin with, does some setup, and then executes the real binary with the same arguments.  The first argument is the ROM image.  But if this was given with a relative path, that path will no longer be valid.  Maybe you could check if $1 begins with a slash, and if not, prepend $PWD?

11. There is some kind of character encoding issue that maybe should be reported upstreams.  My home directory is "/home/göran", UTF-8 encoded.  When starting, meka doesn't find meka.dat.  Strace:ing I found it is trying to open it under the wrong path:

write(1, "Loading MEKA.DAT (resources)...", 31) = 31
open("/home/g\303\203\302\266ran/.meka//meka.dat", O_RDONLY) = -1 ENOENT (No such file or directory)
chdir("/home/g\303\266ran/.meka")             = 0
write(1, "Failed!\n", 8)                = 8
chdir("/home/g\303\266ran/.meka")             = 0

\303\266 is the UTF-8 encoding of "ö".  \303\203\302\266 is the UTF-8 encoding of "ö", which also is what you see if you display an UTF-8 "ö" in a Latin-1 locale.  So it appears the game tries to to convert the path from Latin-1 to UTF-8, although it already is in UTF-8 from the start.

Only the meka.dat file had this problem.  The other meka.* files were correctly found.

I suppose this isn't really a packaging issue, but a bug in the program, so we could handle this in a separate bugzilla when the packaging is ready.  Most people does have ASCII home directories anyway.

Finally, with a strategical soft link in /home I could work around this, and managed to run some game called "H.E.R.O.".  So I've checked the program works.  As far as I could tell, at least.  I've never been very good in these games. :-)
Comment 16 Andrea Musuruane 2010-12-04 19:25:38 CET
(In reply to comment #15)

> === Issues ===
> 1. meka.i686: W: invalid-license Distributable
> Fedora doesn't accept "Distributable" as a license any more.  In this case
> there are several different licenses in effect, and this should be noted by
> enumerating them with "and" in between. 
> (https://fedoraproject.org/wiki/Packaging/LicensingGuidelines#Multiple_Licensing_Scenarios)
>  Most code is covered by the license of sources.txt, but I also found LGPLv2+
> (libs/seal/include/audio.h), zlib/libpng license (libs/libpng/* and
> srcs/libaddon/zip/*), and a non-commercial use license (srcs/z8marat and
> srcs/m6502/*).  Even if it gets a bit long, it is probably best to enumerate
> them.

Seal is not used. Zlib and libpng are external system libraries. Even if their sources are inside meka, the system libraries are used and AFAIK you don't have to list the license of the package you BR in the License tag.

The License: field refers to the licenses of the contents of the *binary* RPM:
https://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License:_field

Meka is licensed under the "MEKA License 1.1" (stated in the README file), a customized BSD like license. Other parts, as you noted, are for non commercial use. Therefore Distributable seems fine to me. We are in RPM Fusion and not in Fedora. Anyway this implies that meka will go in the nonfree repo.
 
> 2. meka.i686: W: executable-stack /usr/libexec/meka/meka
> I believe the problem here is that nasm sets __OUTPUT_FORMAT__ "elf32" rather
> than "elf".  Thus, the %ifidn test gets false, and your patch has no effect.  I
> haven't tried it all the way through, though; leave that to you! :-)

Good catch. It worked :)

> 3. meka.i686: W: no-manual-page-for-binary meka
> It's a "should", but I guess it could be hard to convince upstream to make one,
> given that meka is in maintenance mode.  But it can't hurt to suggest it, I
> guess. :-)

I won't provide a man page unless I find one ready on the net. Too much work for an emulator that has a nice GUI :)

> 4. meka.src:28: W: macro-in-comment %{ix86}
> Maybe not a big deal, but could you explain why you have commented out the use
> of the %ix86 macro, and hardcoded i686?

I removed that comment but I'll explain the meaning of it. I had to hardcode i686 otherwise plague on RPM Fusion will build packages for i386, i486, i585 and i686 if you use the %ix86 macro.
 
> 6. There are a couple of binary libraries in the source package, like
> libs/seal/lib/Win32/audw32vc_s.lib and libs/libpng/lib/libpng.lib for example. 
> As far as I can tell they are not used, but to make sure they should be removed
> in %prep according to
> https://fedoraproject.org/wiki/Packaging/Guidelines#No_inclusion_of_pre-built_binaries_or_libraries

Done.
 
> 7. I think it would be a good idea to have a comment in the spec file
> explaining that the REASON you only want to build on i686 is that the package
> contains assembly code.

Done.

> 8. You use %buildroot as an RPM macro but $RPM_OPT_FLAGS as a shell variable. 
> The packaging guidelines prefers if you choose one or the other.

Done.

> 9. If you want Swedish translations of summary and descriptions, you can use
> these: :-)

I changed the summary. I hope now it is more meaningful now. 

Anyway, I won't use your translations because I won't be able to maintain them. I'm sorry but I don't speak Swedish.

> 10. The start script does a "cd" to begin with, does some setup, and then
> executes the real binary with the same arguments.  The first argument is the
> ROM image.  But if this was given with a relative path, that path will no
> longer be valid.  Maybe you could check if $1 begins with a slash, and if not,
> prepend $PWD?

It would be not so simple. The first parameter can be something that is not a path (e.g. a parameter). Anyway this script is just slightly adapted form the Games SIG Guidelines:
https://fedoraproject.org/wiki/SIGs/Games/Packaging

Therefore I think all game wrappers in Fedora have this issue.

> 11. There is some kind of character encoding issue that maybe should be
> reported upstreams.  My home directory is "/home/göran", UTF-8 encoded.  When
> starting, meka doesn't find meka.dat.  Strace:ing I found it is trying to open
> it under the wrong path:

I'll report this issue upstream.


http://www.webalice.it/musuruan/RPMS/reviews/meka.spec
http://www.webalice.it/musuruan/RPMS/reviews/meka-0.73-3.fc14.src.rpm

Changelog:
- Changed summary
- Removed pre-built lib files
- Fixed execstack patch
- Fixed consistent use of macros
- Minor changes


Comment 17 Andrea Musuruane 2010-12-05 15:09:49 CET
(In reply to comment #16)

> > 11. There is some kind of character encoding issue that maybe should be
> > reported upstreams.  My home directory is "/home/göran", UTF-8 encoded.  When
> > starting, meka doesn't find meka.dat.  Strace:ing I found it is trying to open
> > it under the wrong path:

Upstream has responded:
http://www.smspower.org/forums/viewtopic.php?p=63839#63839

It seems to be an allegro bug.
Comment 18 Göran Uddeborg 2010-12-06 18:53:24 CET
> > 1. meka.i686: W: invalid-license Distributable
> > Fedora doesn't accept "Distributable" as a license any more.

> The License: field refers to the licenses of the contents of the *binary* RPM:

True.  The unused parts of the source package should not be included in the license field.

But as I have understood it, one problem with "distributable" is that it is too vague.  Maybe I have read in more than there is.  But for me a license description like "Meka and non-commercial" or "BSD-like and non-commercial" would give me much more information than simply "distributable".

> I had to hardcode
> i686 otherwise plague on RPM Fusion will build packages for i386, i486, i585
> and i686 if you use the %ix86 macro.

Aha!  Yes, that would not be such a good idea!

> Anyway, I won't use your translations because I won't be able to maintain them.

A package (RPM package or original upstreams source package) can't have too many translations if the package maintainer is to maintain them himself! :-)  But you do as you wish!

> Anyway this script is just slightly adapted form the
> Games SIG Guidelines:
> https://fedoraproject.org/wiki/SIGs/Games/Packaging
> 
> Therefore I think all game wrappers in Fedora have this issue.

Yes, it seems to be so.

> Upstream has responded:
> http://www.smspower.org/forums/viewtopic.php?p=63839#63839
> 
> It seems to be an allegro bug.

Ok.  I'll put on my to-do-list to make a test case based on the code snippet in the reply, and send to the allegro team.

I would like to hear your view on my comments on the license text, otherwise I'm happy with this version.
Comment 19 Andrea Musuruane 2010-12-08 08:54:25 CET
(In reply to comment #18)
> > > 1. meka.i686: W: invalid-license Distributable
> > > Fedora doesn't accept "Distributable" as a license any more.
> 
> > The License: field refers to the licenses of the contents of the *binary* RPM:
> 
> True.  The unused parts of the source package should not be included in the
> license field.
> 
> But as I have understood it, one problem with "distributable" is that it is too
> vague.  Maybe I have read in more than there is.  But for me a license
> description like "Meka and non-commercial" or "BSD-like and non-commercial"
> would give me much more information than simply "distributable".

I can't see any advantage in labelling the License as "Meka" or "BSD-like" (even though I prefer the former) over Distributable because it is a custom license anyway and the user will have to read the sources.txt file to understand the terms. 

I agree with you for adding the "and non-commercial" part. 

Anyway, this is really up to you. You are the reviewer and I have to follow your suggestions to pass the review. So please choose what you think it's the best and I'll do it.

Comment 20 Göran Uddeborg 2010-12-11 12:18:56 CET
> I can't see any advantage in labelling the License as "Meka" or "BSD-like"
> (even though I prefer the former) over Distributable

The problem I see with "distributable" is that it doesn't say anything.  All packages in the repo are distributable, whether it is closed source and no modifications allowed nvidia drivers, or a very free package like the core bits of meka.

> Anyway, this is really up to you. You are the reviewer and I have to follow
> your suggestions

I am trying to CONVINCE you, but I won't ENFORCE my view.  Especially since the rules for the license part is slightly fuzzy, since it is one area where RPMfusion differs from Fedora.  If you add "and non-commercial" to the license, I will accept this package, even though I personally think "Meka" or "BSD-like" would be better than "distributable".

By the way, I see the relation between packager and reviewer more as a cooperation than as one person judging the other.  (And I am not saying this just because we have the roles reversed for m2vmp2cut! :-)
Comment 21 Andrea Musuruane 2010-12-11 14:27:59 CET
(In reply to comment #20)
> I am trying to CONVINCE you, but I won't ENFORCE my view.  Especially since the
> rules for the license part is slightly fuzzy, since it is one area where
> RPMfusion differs from Fedora.  If you add "and non-commercial" to the license,
> I will accept this package, even though I personally think "Meka" or "BSD-like"
> would be better than "distributable".

I followed your advice and changed the tag to "MEKA and non-commercial".

Updates:
http://www.webalice.it/musuruan/RPMS/reviews/meka.spec
http://www.webalice.it/musuruan/RPMS/reviews/meka-0.73-4.fc14.src.rpm

Changelog:
- Fixed license
Comment 22 Göran Uddeborg 2010-12-11 18:00:21 CET
Excellent.  And a final mock build to verify worked fine.

This package is APPROVED!
Comment 23 Andrea Musuruane 2010-12-11 18:04:14 CET
Thank you very much for your review!

Package CVS request
======================
Package Name: meka
Short Description: Sega 8-bit machine emulator
Owners: musuruan
Branches: F-14 F-13
InitialCC:
----------------------
License tag: nonfree
Comment 24 Andrea Musuruane 2010-12-24 14:31:39 CET
It seems I'm not yet in ACL for meka.
Comment 25 Andrea Musuruane 2010-12-31 19:55:21 CET
Imported and built. Closing.