Bug 253781

Summary: Review Request: outerspace - client for 4x on-line strategy game
Product: [Fedora] Fedora Reporter: Qark <qark>
Component: Package ReviewAssignee: Mamoru TASAKA <mtasaka>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, notting
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-10-27 10:40:36 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On:    
Bug Blocks: 201449    

Description Qark 2007-08-21 17:13:15 EDT
Spec URL: http://ospace.net/files/outerspace.spec
SRPM URL: http://ospace.net/files/outerspace-0.2.1-1.src.rpm
Description: 

Outer Space is an on-line strategy game which takes place in the dangerous
universe. You will become powerful commander of many stars, planets, and great
fleets and will struggle for survival with other commanders.

This package contains client for the game.

This is my first package in Fedora and I look for sponsor.
Comment 1 Qark 2007-08-23 10:13:38 EDT
Package fixed according to Games SIG recomendations.

Spec URL: http://www.ospace.net/files/outerspace.spec
SRPM URL: http://www.ospace.net/files/outerspace-0.2.2-1.noarch.rpm
Comment 2 Nicholas Boyle 2007-08-28 23:04:28 EDT
I'm not sponsored, so this isn't official.  Some items have been omitted either
because I'm not sure how to reliably answer them, or they just absolutely don't
apply.  Complete list is here:
http://fedoraproject.org/wiki/Packaging/ReviewGuidelines

ALSO, please note that this review is based on your original .src.rpm, since you
linked the binary package on your last update.  If anything I point out was
fixed in new package, please disregard :)

OK - MUST: rpmlint must be run on every package. The output should be posted in
the review
-->No output
OK - MUST: The package must be named according to the Package Naming Guidelines.
OK - MUST: The spec file name must match the base package %{name}, in the format
%{name}.spec unless your package has an exemption on Package Naming Guidelines.
OK - MUST: The package must be licensed with a Fedora approved license and meet
the ["Packaging/LicensingGuidelines" Licensing Guidelines].
NOT OK - MUST: The License field in the package spec file must match the actual
license.
--> COPYING says GPLv2, source files says GPLv2 or later.  AFAIK, what the
source says shows the actual "intent" of the author for licensing.  As such,
license should be GPLv2+.  Please see
http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#head-4d5634799c488896bc50697288213a0b2d9acbae
OK - 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.
OK - MUST: The spec file must be written in American English.
OK - MUST: The spec file for the package MUST be legible. If the reviewer is
unable to read the spec file, it will be impossible to perform a review. Fedora
is not the place for entries into the Obfuscated Code Contest
(http://www.ioccc.org/).
NOT OK - 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.
--> Version in src.rpm is 30ca7ba6d3b8e632f4ec611a565fb445, upstream is
3ee9e7890392acd53cd5487f33f84f48 (this may be fixed by newer package, but
obviously I can't tell)
NOT OK - MUST: The package must successfully compile and build into binary rpms
on at least one supported architecture.
--> Last errors reported by mock (i386 FC7) are:
/usr/lib/python2.5/distutils/dist.py:263: UserWarning: Unknown distribution
option: 'windows'
  warnings.warn(msg)
running install
error: invalid Python installation: unable to open
/usr/lib/python2.5/config/Makefile (No such file or directory)
OK - MUST: All build dependencies must be listed in BuildRequires, except for
any that are listed in the exceptions section of Packaging Guidelines; inclusion
of those as BuildRequires is optional. Apply common sense.
OK - MUST: The spec file MUST handle locales properly. This is done by using the
%find_lang macro. Using %{_datadir}/locale/* is strictly forbidden.
OK - 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.
OK - MUST: A package must not contain any duplicate files in the %files listing.
OK - 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.
OK - MUST: Each package must have a %clean section, which contains rm -rf
%{buildroot} (or $RPM_BUILD_ROOT).
OK? - MUST: Each package must consistently use macros, as described in the
macros section of Packaging Guidelines.
--> $RPM_BUILD_ROOT could be %{buildroot}
OK - MUST: The package must contain code, or permissable content. This is
described in detail in the code vs. content section of Packaging Guidelines.
OK - MUST: Large documentation files should 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)
? - 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.
--> Not sure what the PKG-INFO file is (something for Python?), but contents
looks suspect.  Use your judgement on that.  If it's required to run... it
shouldn't be in %doc
NOT OK - 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. This is described in detail in the
desktop files section of Packaging Guidelines. 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.
--> See
http://fedoraproject.org/wiki/Packaging/Guidelines#head-43fa82f212954e9288ab00a4f250403353c1813d
, basically, you're missing the desktop-file-install command
OK - MUST: At the beginning of %install, each package MUST run rm -rf
%{buildroot} (or $RPM_BUILD_ROOT). See Prepping BuildRoot For %install for details.
OK - MUST: All filenames in rpm packages must be valid UTF-8

Misc:  
You incremented the minor version number in your new .spec... whereas you want
to leave that number alone (since it corresponds to upstream source) and instead
increment the Release: number, which corresponds to the package version.  Don't
forget to update the package's %changelog!
Comment 3 Nicholas Boyle 2007-09-05 00:15:13 EDT
It's come to my intention (from other folks, as well as taking a look at it
again after writing it) that the above is difficult to read.  Here's a condensed
version: 

License:
========
COPYING says GPLv2, source files says GPLv2 or later.  AFAIK, what the
source says shows the actual "intent" of the author for licensing.  As such,
license should be GPLv2+.  Please see
http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#head-4d5634799c488896bc50697288213a0b2d9acbae

Source & md5sums:
=================
Version in src.rpm is 30ca7ba6d3b8e632f4ec611a565fb445, upstream is
3ee9e7890392acd53cd5487f33f84f48 (this may be fixed by newer package, but
obviously I can't tell)

Does package build?
===================
In my original post I have the error message.  The reason behind this error is
that you need a "BuildRequires: python-devel".  This can replace the BR: python,
since python-devel will automatically require python.

Macros:
=======
$RPM_BUILD_ROOT could be %{buildroot}

.desktop file:
==============
See
http://fedoraproject.org/wiki/Packaging/Guidelines#head-43fa82f212954e9288ab00a4f250403353c1813d
, basically, you're missing the desktop-file-install command

Release number vs. Version number:
==================================
You incremented the minor version number in your new .spec... whereas you want
to leave that number alone (since it corresponds to upstream source) and instead
increment the Release: number, which corresponds to the package version.  Don't
forget to update the package's %changelog!
Comment 4 Mamoru TASAKA 2007-09-07 06:28:04 EDT
ping?
Comment 5 Qark 2007-09-07 06:36:05 EDT
I'm sorry, I've been busy last few days. I'll fix issues and provide updated
package by the end of this weekend.
Comment 6 Qark 2007-09-10 16:05:38 EDT
All problems listed in comment #3 should be fixed:
- licencse is now GPLv2+
- spec files uses correct source file
- BuildRequires dependencies fixed
- using %{buildroot} macro now
- fixed content and installation of .desktop file
- release number is now 0.2.2-1 as I'm using new upstream version

Spec URL: http://ospace.net/files/0.2.2-1/outerspace.spec
SRPM URL: http://ospace.net/files/0.2.2-1/outerspace-0.2.2-1.fc7.src.rpm

Thanks for our review comments and accept apology for delay.
Comment 7 Mamoru TASAKA 2007-09-13 10:45:53 EDT
Well, much progress!!

For 0.2.2-1:

* Redundant Requires
  - "Requires: python >= 2.3" is not needed. 
    rpmbuild automatically checks python version dependency for 
    this package. You can see "rpm -q --requires outerspace"
    contains "python(abi) = 2.5".

* Desktop file vendor
--------------------------------------------
desktop-file-install \
    --vendor="ospace.net" \
--------------------------------------------
  - Please change the vendor name to "fedora".

* %files entry cleanup
  - When foo is a directory, writing
--------------------------------------------
%files
foo/
--------------------------------------------
    means the directory foo/ itself and all the files/directories/etc
    under foo/. So:

--------------------------------------------
%dir %{python_sitelib}/oslauncher
%{python_sitelib}/oslauncher/*.py*

%dir %{python_sitelib}/oslauncher/pgu
%{python_sitelib}/oslauncher/pgu/*.py*

%dir %{python_sitelib}/oslauncher/pgu/gui
%{python_sitelib}/oslauncher/pgu/gui/*.py*

%dir %{python_sitelib}/oslauncher/urlgrabber
%{python_sitelib}/oslauncher/urlgrabber/*.py*
---------------------------------------------
    can be replaced with one line:
---------------------------------------------
%{python_sitelib}/oslauncher/
---------------------------------------------

* Directory ownership issue
  - Currently /usr/share/outerspace is not owned by any package.
---------------------------------------------
%{_datadir}/%{name}/*
---------------------------------------------
    must be:
---------------------------------------------
%{_datadir}/%{name}/
---------------------------------------------

* Duplicate file
  - The file "/usr/share/outerspace/gray/Vera.ttf" (in this package)
    is actually the same as "/usr/share/fonts/bitstream-vera/Vera.ttf",
    which is in bitstream-vera-fonts.

    So, please:
    - Replace /usr/share/outerspace/gray/Vera.ttf with the symlink
      to "../../fonts/bitstream-vera/Vera.ttf" (symlink should be
      relative)
    - And add
      "BuildRequires: bitstream-vera-fonts"
      "Requires:      bitstream-vera-fonts".

Then:
-------------------------------------------------------------
NOTE: Before being sponsored:

This package will be accepted with another few work. 
But before I accept this package, someone (I am a candidate) 
must sponsor you.

Once you are sponsored, you have the right to review other 
submitters' review requests and approve the packages formally. 
For this reason, the person who want to be sponsored (like you) 
are required to "show that you have an understanding 
of the process and of the packaging guidelines" as is described
on :
http://fedoraproject.org/wiki/PackageMaintainers/HowToGetSponsored

Usually there are two ways to show this.
A. submit other review requests with enough quality.
B. Do a "pre-review" of other person's review request
   (at the time you are not sponsored, you cannot do
   a formal review)

When you have submitted a new review request or have pre-reviewed other 
person's review request, please write the bug number on this bug report 
so that I can check your comments or review request.

Fedora package collection review requests which are waiting for someone to
review can be checked on:
http://fedoraproject.org/PackageReviewStatus/NEW.html
(NOTE: please don't choose "Merge Review")


Review guidelines are described mainly on:
http://fedoraproject.org/wiki/Packaging/ReviewGuidelines
http://fedoraproject.org/wiki/Packaging/Guidelines
http://fedoraproject.org/wiki/Packaging/ScriptletSnippets
------------------------------------------------------------
Comment 8 Qark 2007-09-18 16:19:47 EDT
Problems mentioned in comment #7 should be fixed:

* Tue Sep 18 2007 Qark <qark@ospace.net> 0.2.2-2
- Removed dependency on Python
- Simplified %files section
- Replaced duplicated file with link

I don't agree with replacing file with link as it can break when upstream
changes theme for GUI (which is very likely). Whole application runs unmodified
on several operating systems and I really don't like doing any Fedora specific
fixes, because of it complicates maintenance of the application.

I wonder why spec file based on already reviewed spec file got so many comments.
Should I propagate comments to package I've derived my spec file from?

Anyway -- thanks for reviewing the package.

Spec URL: http://ospace.net/files/0.2.2-2/outerspace.spec
SRPM URL: http://ospace.net/files/0.2.2-2/outerspace-0.2.2-2.fc7.src.rpm
Comment 9 Mamoru TASAKA 2007-09-19 03:45:17 EDT
Almost okay for this package.

* Macros in %changelog
  - rpmlint shows the following complaint on -2.fc7.src.rpm
---------------------------------------------------------------
outerspace.src:70: W: macro-in-%changelog files
---------------------------------------------------------------
    When writing macros in %changelog, please use %% to prevent
    macros from being expanded, for example:
---------------------------------------------------------------
* Tue Sep 18 2007 Qark <qark@ospace.net> 0.2.2-2
- Removed dependency on Python
- Simplified %%files section
---------------------------------------------------------------

So, as sponsor process requires, please 
- pre-review other person's review request
- or submit another review request
as I wrote in comment 7.


(In reply to comment #8)

> I don't agree with replacing file with link as it can break when upstream
> changes theme for GUI (which is very likely). 
  - You can simply change when it occurs.

> I really don't like doing any Fedora specific
> fixes, 
  - Actually many srpm in Fedora have many Fedora specific
    fixes and they are actually necessary :)

> I wonder why spec file based on already reviewed spec 
> file got so many comments.
  - I just say that Nicholas's comment is just a preview.
Comment 10 Qark 2007-09-20 01:00:49 EDT
Hopefully last fix (removed macro from changelog):

Spec URL: http://ospace.net/files/0.2.2-3/outerspace.spec
SRPM URL: http://ospace.net/files/0.2.2-3/outerspace-0.2.2-3.fc7.src.rpm

(In reply to comment #9)
> > I really don't like doing any Fedora specific
> > fixes, 
>   - Actually many srpm in Fedora have many Fedora specific
>     fixes and they are actually necessary :)
If Fedora is the only distribution requiring specific fixes for simple
application (I'm not talking about kernel/core os/desktop) then something is
wrong- Gentoo/Debian, BeOS, Mac OS, and Win32 are fine with package as it is
except for specific build files.
 
> > I wonder why spec file based on already reviewed spec 
> > file got so many comments.
>   - I just say that Nicholas's comment is just a preview.
I was commenting whole review process. I'll contact maintainer of the original
package and send him review comments so he can fix his package too.

If you are fine with this package, I'll continue with sponsor process.
Comment 11 Mamoru TASAKA 2007-09-20 03:37:45 EDT
Okay for this package:
- So I will wait for that you pre-review other person's review request
  or submit another review request.

(In reply to comment #10)
> (In reply to comment #9)
> > > I really don't like doing any Fedora specific
> > > fixes, 
> >   - Actually many srpm in Fedora have many Fedora specific
> >     fixes and they are actually necessary :)
> If Fedora is the only distribution requiring specific fixes for simple
> application (I'm not talking about kernel/core os/desktop) then something is
> wrong- Gentoo/Debian, BeOS, Mac OS, and Win32 are fine with package as it is
> except for specific build files.
  I will say
  - This bug is not a place to discuss such a thing
  - But I can say that while I said "many Fedora specific",
    most of them are because Fedora's check is more strict (i.e.
    more correct)

> I was commenting whole review process. I'll contact maintainer of the original
> package and send him review comments so he can fix his package too.
  - Having a good connection with the original developers is always
    good.

Comment 12 Mamoru TASAKA 2007-09-27 07:38:20 EDT
ping?
Comment 13 Mamoru TASAKA 2007-10-04 02:52:56 EDT
ping again?
Comment 14 Mamoru TASAKA 2007-10-15 11:16:06 EDT
I will close this bug as NOTABUG if no response is received
from the reporter within ONE WEEK.
Comment 15 Mamoru TASAKA 2007-10-24 09:12:22 EDT
I will close this bug as NOTABUG if no response is received
from the reporter within TWO DAY.
Comment 16 Mamoru TASAKA 2007-10-27 10:40:36 EDT
CLOSING.

If someone wants to import this package into Fedora, please
open a new review request, thank you.