Bug 1728

Summary: Review request: xmris - Maze digging and cherry eating game
Product: Package Reviews Reporter: Hans de Goede <hans>
Component: Review RequestAssignee: RPM Fusion Package Review <rpmfusion-package-review>
Status: RESOLVED FIXED    
Severity: normal CC: hobbes1069, rpmfusion-package-review
Priority: P5    
Version: Current   
Hardware: All   
OS: GNU/Linux   
namespace:
Bug Depends on:    
Bug Blocks: 4    
Attachments: /etc/X11/fontpath.d/xorg-x11-fonts-Type1/fonts.dir
Xorg log

Description Hans de Goede 2011-05-03 20:27:00 CEST
Spec: http://jwrdegoede.danny.cz/xmris.spec
SRPM: http://jwrdegoede.danny.cz/xmris-4.0.5-1.fc14.src.rpm

Description:
You control a gnome, who can walk around a garden, along paths  already
marked,  or  create  new paths wherever you wish. You also have a ball,
which can be thrown in the direction you're facing, towards the gnome's
feet.  Points  are scored for collecting cherries (if you collect eight
cherries without stopping or  pushing  an  apple,  you  get  a  bonus),
killing monsters (by squashing them, or throwing the ball at them), and
collecting the prize left when all the monsters have come out of  their 
den.

Why not Fedora:
Because the grahpics are too close to the game this is inspired on, which makes it unacceptable for Fedora, this is the same case as we have for example also with smc.

rpmlint:
[hans@shalem devel]$ rpmlint *.src.rpm x86_64/*
xmris.src:86: E: hardcoded-library-path in $RPM_BUILD_ROOT/usr/lib/X11/app-defaults
xmris.x86_64: W: manual-page-warning /usr/share/man/man6/xmris.6.gz 1: warning: macro `Copyright' not defined
xmris.x86_64: W: manual-page-warning /usr/share/man/man6/xmris.6.gz 2: warning: macro `RCS' not defined
xmris.x86_64: W: manual-page-warning /usr/share/man/man6/xmris.6.gz 925: warning: macro `grey'' not defined
xmris.x86_64: E: non-standard-executable-perm /usr/bin/xmris 02755L
xmris.x86_64: E: incorrect-fsf-address /usr/share/doc/xmris-4.0.5/COPYING-2.0
xmris.x86_64: E: zero-length /var/games/xmris.score
xmris-editor.x86_64: W: manual-page-warning /usr/share/man/man6/xmred.6.gz 1: warning: macro `Copyright' not defined
xmris-editor.x86_64: W: manual-page-warning /usr/share/man/man6/xmred.6.gz 2: warning: macro `RCS' not defined
xmris-editor.x86_64: W: manual-page-warning /usr/share/man/man6/xmred.6.gz 73: warning: macro `EXTRA'' not defined (possibly missing space after `EX')
4 packages and 0 specfiles checked; 4 errors, 6 warnings.

These can all be ignored, the non standard permissions and the 0 length are for global highscore table support, the rest is just rpmlint being pedantic.
Comment 1 Richard 2011-05-03 21:22:35 CEST
I did a quick rpmbuild check and I had to add "libXaw-devel" as a BR for it to build.
Comment 2 Richard 2011-05-03 21:36:57 CEST
Tried again under mock. Needs "BR: groff" as well.

A couple of questions:
1. I assume the number of patches is due to the game no longer being maintained? I noticed there's been no activity on the sf page since 2009.

2. The patch file names do not have %{name} on the front. Although not a requirement I have several source rpms installed and that could make it difficult to know which patches are for what program.
Comment 3 Hans de Goede 2011-05-04 09:21:29 CEST
(In reply to comment #2)
> Tried again under mock. Needs "BR: groff" as well.

Thanks, I must admit I did not give it a spin in mock, I'll do a new version with libXaw-devel and groff added to the BR-s. But before I do that I was wondering if you had any other comments?

> A couple of questions:
> 1. I assume the number of patches is due to the game no longer being
> maintained? I noticed there's been no activity on the sf page since 2009.
> 

Yes I plan to file a project take over procedure with sourceforge and do a
new upstream release incorporating them all.

> 2. The patch file names do not have %{name} on the front. Although not a
> requirement I have several source rpms installed and that could make it
> difficult to know which patches are for what program.

Given the amount of patches I'm using a git tree to maintain them, this is how git-format-patch names them :)  Once a package is imported into CVS this becomes a non issue since all the files then live in their own dir.

Comment 4 Richard 2011-05-04 16:07:24 CEST
(In reply to comment #3)
> (In reply to comment #2)
> > Tried again under mock. Needs "BR: groff" as well.
> 
> Thanks, I must admit I did not give it a spin in mock, I'll do a new version
> with libXaw-devel and groff added to the BR-s. But before I do that I was
> wondering if you had any other comments?

I didn't get a chance to actually run it last night after work. I'll try tonight.
I'll go through the review checklist too.

 
> > 2. The patch file names do not have %{name} on the front. Although not a
> > requirement I have several source rpms installed and that could make it
> > difficult to know which patches are for what program.
> 
> Given the amount of patches I'm using a git tree to maintain them, this is how
> git-format-patch names them :)  Once a package is imported into CVS this
> becomes a non issue since all the files then live in their own dir.

Yeah, not a big deal unless you manage multiple git packages and built with rpmbuild...  

Comment 5 Richard 2011-05-04 17:51:25 CEST
Had a second at work, I reviewed as much as I could the Review guidelines.

I think the License in the spec file should be updated:
License: GPLv2 
Found in ./COPYING-2.0

rm $RPM_BUILD_ROOT/usr/lib/X11/app-defaults
If the files that go in this folder are not needed (they are in the resulting package) I think this needs -rf since it puts files in the directory and rm will not remove a directory by default.

No %{buildroot} or %clean. So I assume this package is intended for F13+ (no EPEL)

I know common practice for subpackages is to require the main package 
i.e.: Requires: %{name} = %{version}-%{release}
But the packaging guidelines recommend arch specific as well:
i.e.: Requires: %{name}%{?_isa} = %{version}-%{release}
In this case since it's just an editor I would expect it to work fine but is it still more approprite to include the arch?

Verified it builds in mock for both x86_64 and i686.
Comment 6 Richard 2011-05-05 03:43:39 CEST
Ok, I'm getting the following error trying to run:

$ xmris
X Error of failed request:  BadName (named color or font does not exist)
  Major opcode of failed request:  45 (X_OpenFont)
  Serial number of failed request:  14
  Current serial number in output stream:  15

$ xmred 
X Error: BadName (named color or font does not exist)
  Major opcode: 45
  Minor opcode: 0
  Resource id: 0x4000001
  Serial number: 14
Aborted (core dumped)

This looks to be a font issue but starting the xfs server didn't help. I'm still trying to figure out what the problem is.

Also, shouldn't this be blocking bug #2?

Comment 7 Hans de Goede 2011-05-05 14:56:32 CEST
(In reply to comment #5)
> Had a second at work, I reviewed as much as I could the Review guidelines.
> 
> I think the License in the spec file should be updated:
> License: GPLv2 
> Found in ./COPYING-2.0
> 

I can understand your reasoning, but this is not how the GPL version which actual applies gets determined. The rule is first source code headers, then readme, the version of the COPYING file is irrelevant from a legal pov.

Since the README only specifies GPL without mentioning a header any GPL version will do (the person distributing can choose which version he wants to distribute under), so the correct license tag is 

> rm $RPM_BUILD_ROOT/usr/lib/X11/app-defaults
> If the files that go in this folder are not needed (they are in the resulting
> package) I think this needs -rf since it puts files in the directory and rm
> will not remove a directory by default.

This rm command is removing a symlink for compatibility with older libX* versions which imake insists on installing.

> No %{buildroot} or %clean. So I assume this package is intended for F13+ (no
> EPEL)

Correct.

> I know common practice for subpackages is to require the main package 
> i.e.: Requires: %{name} = %{version}-%{release}
> But the packaging guidelines recommend arch specific as well:
> i.e.: Requires: %{name}%{?_isa} = %{version}-%{release}
> In this case since it's just an editor I would expect it to work fine but is it
> still more approprite to include the arch?

isa requires are only relevant for packages with are multilib, iow both the i386 and x86_64 versions of them get included into 64 bit composes. This only happens for libraries (well the diagnostic used by the compose tool is packages with a -devel subpackage, either wat this package won't get multilib-ed, so npo need for isa requires.


(In reply to comment #6)
> Ok, I'm getting the following error trying to run:
> 
> $ xmris
> X Error of failed request:  BadName (named color or font does not exist)
>   Major opcode of failed request:  45 (X_OpenFont)
>   Serial number of failed request:  14
>   Current serial number in output stream:  15
> 
> $ xmred 
> X Error: BadName (named color or font does not exist)
>   Major opcode: 45
>   Minor opcode: 0
>   Resource id: 0x4000001
>   Serial number: 14
> Aborted (core dumped)
> 
> This looks to be a font issue but starting the xfs server didn't help. I'm
> still trying to figure out what the problem is.
> 

Hmm, that should not happen :)  Can you attach your
/etc/X11/fontpath.d/xorg-x11-fonts-Type1/fonts.dir

File here please? As well as Xorg.0.log? 

> Also, shouldn't this be blocking bug #2?

Ah, right, well bug #3 now since review has begun more or less.
Comment 8 Richard 2011-05-05 15:36:45 CEST
(In reply to comment #7)
> (In reply to comment #5)
> > Had a second at work, I reviewed as much as I could the Review guidelines.
> > 
> > I think the License in the spec file should be updated:
> > License: GPLv2 
> > Found in ./COPYING-2.0
> > 
> 
> I can understand your reasoning, but this is not how the GPL version which
> actual applies gets determined. The rule is first source code headers, then
> readme, the version of the COPYING file is irrelevant from a legal pov.
> 
> Since the README only specifies GPL without mentioning a header any GPL version
> will do (the person distributing can choose which version he wants to
> distribute under), so the correct license tag is 

Wow, welcome to the convoluted world of GPL... :)

 
> > rm $RPM_BUILD_ROOT/usr/lib/X11/app-defaults
> > If the files that go in this folder are not needed (they are in the resulting
> > package) I think this needs -rf since it puts files in the directory and rm
> > will not remove a directory by default.
> 
> This rm command is removing a symlink for compatibility with older libX*
> versions which imake insists on installing.

Since it's not obvious (atleast to me) what's going on there it may be helpful to add a comment to better meet the "spec files must be legible" requirement.


> > I know common practice for subpackages is to require the main package 
> > i.e.: Requires: %{name} = %{version}-%{release}
> > But the packaging guidelines recommend arch specific as well:
> > i.e.: Requires: %{name}%{?_isa} = %{version}-%{release}
> > In this case since it's just an editor I would expect it to work fine but is it
> > still more approprite to include the arch?
> 
> isa requires are only relevant for packages with are multilib, iow both the
> i386 and x86_64 versions of them get included into 64 bit composes. This only
> happens for libraries (well the diagnostic used by the compose tool is packages
> with a -devel subpackage, either wat this package won't get multilib-ed, so npo
> need for isa requires.

Hmm... maybe the wiki needs to be updated then to be more clear as it doesn't even mention the non-arch version.


> (In reply to comment #6)
> > Ok, I'm getting the following error trying to run:
> > 
> > $ xmris
> > X Error of failed request:  BadName (named color or font does not exist)
> >   Major opcode of failed request:  45 (X_OpenFont)
> >   Serial number of failed request:  14
> >   Current serial number in output stream:  15
> > 
> > $ xmred 
> > X Error: BadName (named color or font does not exist)
> >   Major opcode: 45
> >   Minor opcode: 0
> >   Resource id: 0x4000001
> >   Serial number: 14
> > Aborted (core dumped)
> > 
> > This looks to be a font issue but starting the xfs server didn't help. I'm
> > still trying to figure out what the problem is.
> > 
> 
> Hmm, that should not happen :)  Can you attach your
> /etc/X11/fontpath.d/xorg-x11-fonts-Type1/fonts.dir

Never mind, it was my fault. I had changed the before mentioned 'rm' to 'rm -rf' which was the culprit.

Richard
Comment 9 Hans de Goede 2011-05-05 16:11:52 CEST
Ok, so summarizing, as needs works items I now have:
1) Add BR's for libXaw-devel and groff
2) add a comment documenting the removal of the app-defaults compat symlink

Anything else you would like to see me fix when I spin a new version?
Comment 10 Richard 2011-05-05 16:17:51 CEST
(In reply to comment #9)
> Ok, so summarizing, as needs works items I now have:
> 1) Add BR's for libXaw-devel and groff
> 2) add a comment documenting the removal of the app-defaults compat symlink
> 
> Anything else you would like to see me fix when I spin a new version?

Nope! I think that's it. I went ahead and grep'ed through the mock build log for warning and errors on only found this:

Warning: Swap color 'COLOR_BLACK' has no pixels
Warning: Swap color 'COLOR_BLACK' has no pixels
Warning: Swap color 'COLOR_BLACK' has no pixels
Warning: Noswap color 'COLOR_BACKGROUND' has no pixels
Warning: Noswap color 'COLOR_BACKGROUND' has no pixels
Warning: Swap color 'COLOR_BACKGROUND' has no pixels
Warning: Swap color 'COLOR_BACKGROUND' has no pixels
Warning: Noswap color 'COLOR_BACKGROUND' has no pixels
Warning: Swap color 'COLOR_BACKGROUND' has no pixels
Warning: Noswap color 'COLOR_BACKGROUND' has no pixels
Warning: Noswap color 'COLOR_BACKGROUND' has no pixels
Warning: Noswap color 'COLOR_BACKGROUND' has no pixels
Warning: Noswap color 'COLOR_BACKGROUND' has no pixels
Warning: Noswap color 'COLOR_BACKGROUND' has no pixels
Warning: Noswap color 'COLOR_BACKGROUND' has no pixels
Warning: Noswap color 'COLOR_WHITE' has no pixels
Warning: Swap color 'COLOR_WHITE' has no pixels
Warning: Noswap color 'COLOR_FOREGROUND' has no pixels
Warning: Swap color 'COLOR_FOREGROUND' has no pixels

I'm assuming these can be ignored. 

Richard 

Comment 11 Richard 2011-05-06 05:49:43 CEST
Hans,

I think there's still something wrong. I'm getting the X_OpenFont error again. I was testing it from work over X11 Forwarding to a Cygwin host when I got it to run properly. Now that I'm home I'm getting the error again.

Richard
Comment 12 Hans de Goede 2011-05-06 10:35:44 CEST
(In reply to comment #10)
> (In reply to comment #9)

<snip>

> Warning: Noswap color 'COLOR_FOREGROUND' has no pixels
> Warning: Swap color 'COLOR_FOREGROUND' has no pixels
> 
> I'm assuming these can be ignored. 

Yes, that is just noise from the tool which parses the bitmaps into header files which get included into the binary.

(In reply to comment #11)
> I think there's still something wrong. I'm getting the X_OpenFont error again.
> I was testing it from work over X11 Forwarding to a Cygwin host when I got it
> to run properly. Now that I'm home I'm getting the error again.

So quoting myself from comment #7:
"Hmm, that should not happen :)  Can you attach your
/etc/X11/fontpath.d/xorg-x11-fonts-Type1/fonts.dir

File here please? As well as Xorg.0.log?"

And also can you do a "printenv LANG" and copy paste the output here?

Thanks,

Hans
Comment 13 Richard 2011-05-08 14:18:36 CEST
# printenv LANG
en_US.UTF-8
Comment 14 Richard 2011-05-08 14:19:16 CEST
Created attachment 625 [details]
/etc/X11/fontpath.d/xorg-x11-fonts-Type1/fonts.dir
Comment 15 Richard 2011-05-08 14:19:57 CEST
Created attachment 626 [details]
Xorg log
Comment 16 Hans de Goede 2011-05-08 14:40:37 CEST
Thanks,

I believe I know what I've done wrong now, I added a requires for
xorg-x11-fonts-Type1, but that provides "courier 10 pitch" rather then "courier", my bad.

Can you install xorg-x11-fonts-100dpi, and then try again, I think I need to change the requires to xorg-x11-fonts-100dpi.

Regards,

Hans
Comment 17 Richard 2011-05-08 15:04:59 CEST
Almost! I had to install xorg-x11-fonts-75dpi before it would work.
Comment 18 Hans de Goede 2011-05-08 15:25:37 CEST
(In reply to comment #17)
> Almost! I had to install xorg-x11-fonts-75dpi before it would work.
> 

Hmm, did you log out and back in again after installing the 100dpi fonts, and what about the 75 dpi fonts? It should work fine with the 100 dpi fonts. Can you try removing the 75 dpi fonts again and then after log out + back in give xmris another try?
Comment 19 Richard 2011-05-08 16:27:10 CEST
(In reply to comment #18)
> (In reply to comment #17)
> > Almost! I had to install xorg-x11-fonts-75dpi before it would work.
> > 
> 
> Hmm, did you log out and back in again after installing the 100dpi fonts, and
> what about the 75 dpi fonts? It should work fine with the 100 dpi fonts. Can
> you try removing the 75 dpi fonts again and then after log out + back in give
> xmris another try?

No, but I didn't logout after installing the 75dpi fonts either when it worked.

I uninstalled the 75dpi fonts logged out and back in and it still failed with the same error. Installing the 75dpi fonts without logging out still allowed xmris to run.
Comment 20 Hans de Goede 2011-05-21 22:38:23 CEST
Hi,

I'm back, sorry for the long silence (long story). I've looked at how other
packages handle the 75 versus 100dpi font thingie and they simply require both, so I've followed their example. Here is a new version which should fix all issues you've found:

Spec: http://jwrdegoede.danny.cz/xmris.spec
SRPM: http://jwrdegoede.danny.cz/xmris-4.0.5-2.fc14.src.rpm

Regards,

Hans
Comment 21 Richard 2011-05-22 14:43:10 CEST
Ok, everything looks good, the only new rpmlint output is:

/home/build/rpmbuild/SPECS/xmris.spec:88: E: hardcoded-library-path in $RPM_BUILD_ROOT/usr/lib/X11/app-defaults

But it's the 'rm' line so not an issue.

Based on that you package is approved! (Feels weird saying that!)
Comment 22 Hans de Goede 2011-05-23 09:36:32 CEST
Package CVS request
======================
Package Name: xmris
Short Description: Maze digging and cherry eating game
Owners: jwrdegoede
Branches: F-14 F-15
InitialCC:
----------------------
License tag: free
Comment 23 Hans de Goede 2011-06-24 13:54:12 CEST
Thanks for the CVS admin work, and the pushing too :)

Imported, build and pushed to the repo, closing.