Bug 970896 - Review Request: sugar-paths - A sliding tile game to create closed paths [NEEDINFO]
Review Request: sugar-paths - A sliding tile game to create closed paths
Status: ASSIGNED
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Christopher Meng
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-06-05 03:37 EDT by Danishka Navin
Modified: 2015-05-27 08:31 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
i: fedora‑review+
i: needinfo? (danishka)
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Danishka Navin 2013-06-05 03:37:31 EDT
Spec URL: http://snavin.fedorapeople.org/packages/sugar-paths/sugar-paths.spec
SRPM URL: http://snavin.fedorapeople.org/packages/sugar-paths/sugar-paths-18-1.fc18.src.rpm
Description: Paths is a sliding tile game where the goal is to create closed paths
Fedora Account System Username: snavin
Comment 1 Danishka Navin 2013-06-05 04:10:13 EDT
well I need to patch this as FSF address is incorrect.

Please do not review this package till I submit the reverted srpm and spec.
Comment 2 Danishka Navin 2013-06-05 04:30:08 EDT
the remaining (there are two rpmlint errors for rpm, in uploaded srpm. i fixed one in local copy) issue is the incorrect fsf address in the constants.py

Please advice me how to do this. 
Do I need to patch the constants.py within the .spec file itself?
if yes, can I have an example?
Comment 3 Danishka Navin 2013-06-05 04:35:13 EDT
I will inform to the upstream developer while i fix this in downstream.
Comment 4 Mario Blättermann 2013-06-05 13:20:54 EDT
(In reply to Danishka Navin from comment #2)
> the remaining (there are two rpmlint errors for rpm, in uploaded srpm. i
> fixed one in local copy) issue is the incorrect fsf address in the
> constants.py
> 
> Please advice me how to do this. 
> Do I need to patch the constants.py within the .spec file itself?
> if yes, can I have an example?

Don't bother with it.

(In reply to Danishka Navin from comment #3)
> I will inform to the upstream developer...

That's all you have to do. A wrong FSF address is not that critical that you have to create a patch. Just wait for the next upstream version with the fixed file. For the time being, go ahead with the current one.
Comment 5 Danishka Navin 2013-06-05 21:15:59 EDT
ok then
Comment 6 Mario Blättermann 2013-06-08 08:29:40 EDT
A license check says:

$ licensecheck -r *
constants.py: GPL (v3 or later) (with incorrect FSF address)
deck.py: GPL (v3 or later)
game.py: GPL (v3 or later)
genpieces.py: GPL (v3 or later)
grid.py: GPL (v3 or later)
hand.py: GPL (v3 or later)
path.py: GPL (v3 or later)
PathsActivity.py: GPL (v3 or later)
setup.py: GPL (v2 or later)
sprites.py: MIT/X11 (BSD like)
tile.py: GPL (v3 or later)
toolbar_utils.py: GPL (v3 or later)
utils.py: GPL (v3 or later)

Your license tag has to be "GPLv3+ and MIT".
Comment 7 Danishka Navin 2013-08-13 04:07:36 EDT
Fixed the license and the upgraded to latest version which fixed the FSF address.

SPEC URL: http://snavin.fedorapeople.org/packages/sugar-paths/sugar-paths.spec

SRPM URL: http://snavin.fedorapeople.org/packages/sugar-paths/sugar-paths-19-1.fc18.src.rpm
Comment 8 Parag AN(पराग) 2013-11-23 02:42:36 EST
1)package failed to build as correct BR: sugar-toolkit not sugar-toolkit-gtk3

2) another thing I will suggest to remove packaging the duplicate docs files by adding following line at end of %install section

rm %{buildroot}/%{_datadir}/sugar/activities/Paths.activity/{COPYING,NEWS}
Comment 10 Christopher Meng 2013-11-23 23:51:36 EST
Why not use sugar-Paths to substitute the current one? I think this package is named sugar-Paths according to the tarball name.

---------


%{__python} ./setup.py

-->

%{__python2} setup.py
Comment 11 Christopher Meng 2013-11-23 23:54:48 EST
Also summary is not good:

Summary:	Paths is a sliding tile game where the goal is to create closed paths

-->

Summary:	A sliding tile to create closed paths
Comment 12 Christopher Meng 2013-11-23 23:55:34 EST
Sorry, should be:

A sliding tile game to create closed paths
Comment 13 Danishka Navin 2013-11-24 00:02:41 EST
btw, all the sugar packages use simple caps instead of exact tarball name.

https://admin.fedoraproject.org/pkgdb/acls/list/?searchwords=sugar-*
Comment 14 Parag AN(पराग) 2013-11-24 02:09:40 EST
Christopher,
  Many other reviewers who did sugar-* package reviews in the past have accepted small letters in package name. I am too following the same. See https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Case_Sensitivity

Danishka,
   As Christopher has taken this for review, he will guide you further on 
this review :)
Comment 15 Christopher Meng 2013-11-24 02:48:09 EST
Fine!

Thank you Parag!

Remaining issues so far in the SPEC:

1. Summary:	Paths is a sliding tile game where the goal is to create closed paths

-->

Summary:	A sliding tile to create closed paths

2. %{__python} ./setup.py

-->

%{__python2} setup.py


==============
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated


===== MUST items =====

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "MIT/X11 (BSD like)", "GPL (v2 or later)", "GPL (v3 or later)". Detailed
     output of licensecheck in /home/rpmaker/Desktop/sugar-
     paths/licensecheck.txt
[x]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[?]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/share/locale/ayc/LC_MESSAGES,
     /usr/share/locale/tzo, /usr/share/locale/tzm,
     /usr/share/locale/fa_AF/LC_MESSAGES, /usr/share/locale/mvo/LC_MESSAGES,
     /usr/share/locale/tzm/LC_MESSAGES, /usr/share/locale/fa_AF,
     /usr/share/locale/ayc, /usr/share/locale/quz, /usr/share/locale/hus,
     /usr/share/locale/mvo, /usr/share/locale/hus/LC_MESSAGES,
     /usr/share/locale/tzo/LC_MESSAGES, /usr/share/locale/quz/LC_MESSAGES
[?]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/locale/quz,
     /usr/share/locale/mvo/LC_MESSAGES, /usr/share/locale/tzm/LC_MESSAGES,
     /usr/share/locale/ayc/LC_MESSAGES, /usr/share/locale/fa_AF,
     /usr/share/locale/hus, /usr/share/locale/quz/LC_MESSAGES,
     /usr/share/locale/tzo, /usr/share/locale/tzm,
     /usr/share/locale/fa_AF/LC_MESSAGES, /usr/share/locale/hus/LC_MESSAGES,
     /usr/share/locale/ayc, /usr/share/locale/tzo/LC_MESSAGES,
     /usr/share/locale/mvo

I think you need to file a bug against filesystem package. I'm using Fedora Rawhide with filesystem-3.2-21.fc21.i686 installed.


[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: The spec file handles locales properly.
[x]: Package consistently uses macros (instead of hard-coded directory names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[!]: Requires correct, justified where necessary.

See below.


[x]: Spec file is legible and written in American English.
[x]: Package contains systemd file(s) if in need.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 40960 bytes in 2 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: No rpmlint messages.
[x]: 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 is included in %doc.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

Python:
[x]: Python eggs must not download any dependencies during the build process.
[x]: A package which is used by another package via an egg interface should
     provide egg info.
[x]: Package meets the Packaging Guidelines::Python
[x]: Package contains BR: python2-devel or python3-devel
[x]: Binary eggs must be removed in %prep

===== SHOULD items =====

Generic:
[x]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[!]: Final provides and requires are sane.

[rpmaker@fab Paths-19]$ grep env * -R
genpieces.py:#!/usr/bin/env python
path.py:#!/usr/bin/env python

Please patch them to %{__python2}.

[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Fully versioned dependency in subpackages if applicable.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: No rpmlint messages.
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.


Rpmlint
-------
Checking: sugar-paths-19-2.fc21.noarch.rpm
          sugar-paths-19-2.fc21.src.rpm
2 packages and 0 specfiles checked; 0 errors, 0 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint sugar-paths
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
# echo 'rpmlint-done:'



Requires
--------
sugar-paths (rpmlib, GLIBC filtered):
    /usr/bin/env
    /usr/bin/python
    sugar



Provides
--------
sugar-paths:
    sugar-paths



Source checksums
----------------
http://mirrors.rit.edu/sugarlabs/sources/honey/Paths/Paths-19.tar.bz2 :
  CHECKSUM(SHA256) this package     : fb6f879997cf4b93702d7e64348186de42a4bcaea6ceb1b78a285a25509fe361
  CHECKSUM(SHA256) upstream package : fb6f879997cf4b93702d7e64348186de42a4bcaea6ceb1b78a285a25509fe361


Generated by fedora-review 0.5.0 (920221d) last change: 2013-08-30
Command line :/usr/bin/fedora-review -rvn sugar-paths-19-2.fc18.src.rpm
Buildroot used: fedora-rawhide-i386
Active plugins: Generic, Python, Shell-api
Disabled plugins: Java, C/C++, SugarActivity, Perl, R, PHP, Ruby
Disabled flags: EPEL5, EXARCH, DISTTAG
Comment 17 Christopher Meng 2013-11-24 09:52:06 EST
[!]: Final provides and requires are sane.

[rpmaker@fab Paths-19]$ grep env * -R
genpieces.py:#!/usr/bin/env python
path.py:#!/usr/bin/env python


[?]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/locale/quz,
     /usr/share/locale/mvo/LC_MESSAGES, /usr/share/locale/tzm/LC_MESSAGES,
     /usr/share/locale/ayc/LC_MESSAGES, /usr/share/locale/fa_AF,
     /usr/share/locale/hus, /usr/share/locale/quz/LC_MESSAGES,
     /usr/share/locale/tzo, /usr/share/locale/tzm,
     /usr/share/locale/fa_AF/LC_MESSAGES, /usr/share/locale/hus/LC_MESSAGES,
     /usr/share/locale/ayc, /usr/share/locale/tzo/LC_MESSAGES,
     /usr/share/locale/mvo
Comment 18 Parag AN(पराग) 2013-12-14 11:36:20 EST
Danishka,
1) With the introduction of python3 in Fedora and updated guidelines to have a way to have difference for python2 and python3 code, we now need to make sure while including code for which python version it runs. so, you can do the same for this package in %prep as
find . -name '*.py' | xargs sed -i '1s|^#!/usr/bin/env python|#!%{__python2}|'
find . -name '*.py' | xargs sed -i '1s|^#!/usr/bin/python|#!%{__python2}|'


2) I have seen sugar packages adding translation for languages which not even supported on Fedora and therefore no locale translation directories exists already. Its better not to package such translations as any way they will not be working/usable.

rm po/{ayc,aym,fa_AF,hus,mvo,quz,tzm,tzo}.po


so your %prep should look like
%prep
%setup -q -n Paths-%{version}
rm po/{aym,fa_AF,hus,mvo,quz,tzm,tzo}.po
find . -name '*.py' | xargs sed -i '1s|^#!/usr/bin/env python|#!%{__python2}|'
find . -name '*.py' | xargs sed -i '1s|^#!/usr/bin/python|#!%{__python2}|'
Comment 20 Danishka Navin 2013-12-19 05:30:05 EST
Hi Christopher,

Let me know if there is any else I should fix.

Thanks
Comment 21 Christopher Meng 2013-12-19 05:35:04 EST
./setup.py can be setup.py if you want.

PACKAGE APPROVED.
Comment 22 Danishka Navin 2013-12-19 05:51:19 EST
New Package SCM Request
=======================
Package Name: sugar-paths
Short Description: A sliding tile game to create closed paths
Owners: snavin
Branches: f18 f19 f20
InitialCC:
Comment 23 Gwyn Ciesla 2013-12-19 08:01:45 EST
Git done (by process-git-requests).

No new f18 branches are being created.
Comment 24 Christopher Meng 2014-04-20 06:26:34 EDT
Where are the builds of rawhide/f20/f19?

WTH?
Comment 25 Peter Robinson 2014-04-20 06:54:53 EDT
(In reply to Christopher Meng from comment #24)
> Where are the builds of rawhide/f20/f19?
> 
> WTH?

Christopher: there is absolutely no need for this in bug reportss where a simple "any updates" suffices. Please DO NOT be rude as there is no nee for it!

Note You need to log in before you can comment on or make changes to this bug.