Bug 987622 - (python-behave) Review Request: python-behave - Tools for the behaviour-driven development, Python style
Review Request: python-behave - Tools for the behaviour-driven development, P...
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Björn "besser82" Esser
Fedora Extras Quality Assurance
:
Depends On: 987619 python-sphinxcontrib-cheeseshop
Blocks: 996105
  Show dependency treegraph
 
Reported: 2013-07-23 14:59 EDT by Matěj Cepl
Modified: 2013-11-10 02:14 EST (History)
6 users (show)

See Also:
Fixed In Version: python-behave-1.2.3-7.fc20
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-10-24 15:09:27 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
besser82: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)
build.log -- FTBFS on rawhide (23.18 KB, text/plain)
2013-10-21 04:06 EDT, Björn "besser82" Esser
no flags Details
fixed spec && build for el6 (4.10 KB, text/x-rpm-spec)
2013-10-23 03:38 EDT, Björn "besser82" Esser
no flags Details

  None (edit)
Description Matěj Cepl 2013-07-23 14:59:13 EDT
Spec URL: http://mcepl.fedorapeople.org/tmp/python-behave.spec
SRPM URL: http://mcepl.fedorapeople.org/tmp/python-behave-1.2.3-1.el7.src.rpm
Description:
Behavior-driven development (or BDD) is an agile software development
technique that encourages collaboration between developers, QA and non-
technical or business participants in a software project.

*behave* uses tests written in a natural language style, backed up by
Python code.

Fedora Account System Username: mcepl
Comment 1 Christopher Meng 2013-07-23 20:16:27 EDT
changelog is not good :(

Seems this module supports py3, do you know?
Comment 2 Vadim Rutkovsky 2013-07-28 04:01:56 EDT
Behave on py3 still has numerous issues, tracking bug is https://github.com/behave/behave/issues/119
Comment 3 Matěj Cepl 2013-07-28 18:05:22 EDT
New version is http://mcepl.fedorapeople.org/tmp/python-behave.spec
and
http://mcepl.fedorapeople.org/tmp/python-behave-1.2.3-2.el7.src.rpm
(of course, building of the package depends on python-parse and thus bug 987619, but I guess it shouldn't make it impossible to make a review, right?)
Comment 4 Fabian Deutsch 2013-08-28 03:49:17 EDT
Christopher,
do you find time over the next few days or can I also support this review? :)
Comment 5 Christopher Meng 2013-08-28 04:23:10 EDT
I have time but please go ahead.

Thanks.
Comment 6 Björn "besser82" Esser 2013-10-21 03:57:14 EDT
taken  ;)
Comment 7 Björn "besser82" Esser 2013-10-21 04:06:32 EDT
Created attachment 814458 [details]
build.log -- FTBFS on rawhide

FTBFS on rawhide!!!  See attached build.log  :(
Comment 8 Björn "besser82" Esser 2013-10-21 04:07:46 EDT
See comment#7
Comment 10 Björn "besser82" Esser 2013-10-22 01:45:24 EDT
Unfortunately you're links are invalid.  :(  Fixing them in this comment.

#####

SRPM: http://mcepl.fedorapeople.org/tmp/python-behave-1.2.3-3.el7.src.rpm
SPEC: http://mcepl.fedorapeople.org/tmp/python-behave.spec
Comment 11 Björn "besser82" Esser 2013-10-22 02:38:10 EDT
===== Review report for python-behave-1.2.3-3 =====

Package has issues.  :(


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:
     "Unknown or generated". 90 files have unknown license. Detailed output of
     licensecheck in /home/besser82/shared/fedora/review/987622-python-
     behave/licensecheck.txt

     ---> License-tag is fine.  :)

[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.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[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.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 10240 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: There are rpmlint messages (see attachment).
[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 requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[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.
[!]: Package meets the Packaging Guidelines::Python

     ---> Using `%{__python}` is deprecated by Python guidelines.
          Use `%{__python2}` instead, please.

     ---> Using `%{python_sitelib}` is deprecated by Python guidelines.
          Use `%{python_sitelib}` instead, please.  If you need compat
          for <= el6, you can use this on top of spec-file:

          %{?!python2_sitelib:%global python2_sitelib %{python_sitelib}}

[x]: Package contains BR: python2-devel or python3-devel
[x]: Binary eggs must be removed in %prep

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

Generic:
[-]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: 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.

     ---> testsuite is present, but doesn't run.  (uses nosetests)
          Add BR: python-nosetests and invoke `nosetests` during %check.

[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: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: python-behave-1.2.3-3.fc21.noarch.rpm
          python-behave-1.2.3-3.fc21.src.rpm
python-behave.noarch: W: spelling-error Summary(en_US) behaviour -> behavior
python-behave.src: W: spelling-error Summary(en_US) behaviour -> behavior
2 packages and 0 specfiles checked; 0 errors, 2 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint python-behave
python-behave.noarch: W: spelling-error Summary(en_US) behaviour -> behavior
1 packages and 0 specfiles checked; 0 errors, 1 warnings.
# echo 'rpmlint-done:'

---> fix that spelling error, please.


Requires
--------
python-behave (rpmlib, GLIBC filtered):
    /usr/bin/python
    python(abi)
    python-parse



Provides
--------
python-behave:
    python-behave



Source checksums
----------------
http://pypi.python.org/packages/source/b/behave/behave-1.2.3.tar.gz :
  CHECKSUM(SHA256) this package     : b17529c1c49e9e3dccae9e1684f100e28dcf988cd4809d61fcf4768b80e9e329
  CHECKSUM(SHA256) upstream package : b17529c1c49e9e3dccae9e1684f100e28dcf988cd4809d61fcf4768b80e9e329


Generated by fedora-review 0.5.0 (920221d) last change: 2013-08-30
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 987622
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Python, Shell-api
Disabled plugins: Java, C/C++, SugarActivity, Perl, R, PHP, Ruby
Disabled flags: EPEL5, EXARCH, DISTTAG


===== Additional comments =====

- install -p -m u=rw,go=r is hard to read IMHO.

  ---> install -pm 0644 is quicker to understand.


- There's some quality docs to be build from tarball's doc-subdir using
  python-sphinx && `make html`.

  ---> I'd strongly recommend to build and package them inside an
       additional -doc sub-package.


- The hashbang of the script in %{_bindir} points to `/usr/bin/python`.

  ---> I'd use some sed magic to change it to `%{__python2}`, so this
       would still be safe when system's default Python-interpreter
       changes to use Python3 somewhen nearby.


===== Solution =====

NOT APPROVED.  Fix those issues and think over my additonal comments.  I'll run another review on the updated package.
Comment 12 Matěj Cepl 2013-10-22 07:48:58 EDT
(In reply to Björn "besser82" Esser from comment #11)
> [!]: Package meets the Packaging Guidelines::Python
> 
>      ---> Using `%{__python}` is deprecated by Python guidelines.
>           Use `%{__python2}` instead, please.
> 
>      ---> Using `%{python_sitelib}` is deprecated by Python guidelines.
>           Use `%{python_sitelib}` instead, please.  If you need compat
>           for <= el6, you can use this on top of spec-file:
> 
>           %{?!python2_sitelib:%global python2_sitelib %{python_sitelib}}

Right, done

> [!]: %check is present and all tests pass.
> 
>      ---> testsuite is present, but doesn't run.  (uses nosetests)
>           Add BR: python-nosetests and invoke `nosetests` during %check.

/me wonders why there is python setup.py nosetests which does nothing, but otherwise fixed.  

And it is python-nose, BTW.

> Rpmlint (installed packages)
> ----------------------------
> # rpmlint python-behave
> python-behave.noarch: W: spelling-error Summary(en_US) behaviour -> behavior
> 1 packages and 0 specfiles checked; 0 errors, 1 warnings.
> # echo 'rpmlint-done:'
> 
> ---> fix that spelling error, please.

I am Czech, the upstream author is German, so we were taught proper English, not Americish, but anyway. Fixed.

> - install -p -m u=rw,go=r is hard to read IMHO.
> 
>   ---> install -pm 0644 is quicker to understand.

Yeah, I don't agree here. Surely, that's not a packaging error but just your opinion, right?

> - There's some quality docs to be build from tarball's doc-subdir using
>   python-sphinx && `make html`.
> 
>   ---> I'd strongly recommend to build and package them inside an
>        additional -doc sub-package.

make html depends on the sphinx.cheeseshop extension which has never been packaged for Fedora.

> - The hashbang of the script in %{_bindir} points to `/usr/bin/python`.
> 
>   ---> I'd use some sed magic to change it to `%{__python2}`, so this
>        would still be safe when system's default Python-interpreter
>        changes to use Python3 somewhen nearby.

Fixed.

http://mcepl.fedorapeople.org/tmp/python-behave-1.2.3-4.el7.src.rpm
http://mcepl.fedorapeople.org/tmp/python-behave.spec
http://koji.fedoraproject.org/koji/taskinfo?taskID=6086204
Comment 13 Björn "besser82" Esser 2013-10-22 09:04:35 EDT
(In reply to Matěj Cepl from comment #12)
> (In reply to Björn "besser82" Esser from comment #11)
> > - There's some quality docs to be build from tarball's doc-subdir using
> >   python-sphinx && `make html`.
> > 
> >   ---> I'd strongly recommend to build and package them inside an
> >        additional -doc sub-package.
> 
> make html depends on the sphinx.cheeseshop extension which has never been
> packaged for Fedora.

Now it is.  ;)  See rhbz#1021994

#####

Thanks for the update.  I'll run another review now.
Comment 14 Björn "besser82" Esser 2013-10-22 10:50:19 EDT
(In reply to Matěj Cepl from comment #12)
> (In reply to Björn "besser82" Esser from comment #11)
> > [!]: Package meets the Packaging Guidelines::Python
> > 
> >      ---> Using `%{__python}` is deprecated by Python guidelines.
> >           Use `%{__python2}` instead, please.
> > 
> >      ---> Using `%{python_sitelib}` is deprecated by Python guidelines.
> >           Use `%{python_sitelib}` instead, please.  If you need compat
> >           for <= el6, you can use this on top of spec-file:
> > 
> >           %{?!python2_sitelib:%global python2_sitelib %{python_sitelib}}
> 
> Right, done

You are still using %{python_sitelib}...

  grep -Hn '%{python_sitelib}' python-behave.spec 
  python-behave.spec:43:PYTHONPATH=%{buildroot}%{python_sitelib}/%{modname}*.egg-info \
  python-behave.spec:64:%{python_sitelib}/*


> > [!]: %check is present and all tests pass.
> > 
> >      ---> testsuite is present, but doesn't run.  (uses nosetests)
> >           Add BR: python-nosetests and invoke `nosetests` during %check.
> 
> /me wonders why there is python setup.py nosetests which does nothing, but
> otherwise fixed.  
> 
> And it is python-nose, BTW.

Sry, my bad  :(  Testsuite runs fine now.

  Ran 336 tests in 0.311s
  OK
  + exit 0


> > Rpmlint (installed packages)
> > ----------------------------
> > # rpmlint python-behave
> > python-behave.noarch: W: spelling-error Summary(en_US) behaviour -> behavior
> > 1 packages and 0 specfiles checked; 0 errors, 1 warnings.
> > # echo 'rpmlint-done:'
> > 
> > ---> fix that spelling error, please.
> 
> I am Czech, the upstream author is German, so we were taught proper English,
> not Americish, but anyway. Fixed.

So please let me co-maintain  ;)  I'm native German, too.  So if there are problems or any, discussing them on native-lang usualy helps and is more clarifying.


> > - install -p -m u=rw,go=r is hard to read IMHO.
> > 
> >   ---> install -pm 0644 is quicker to understand.
> 
> Yeah, I don't agree here. Surely, that's not a packaging error but just your
> opinion, right?

Yes, personal oppinion (and possibly the one with majority amoung other packagers).  You are free to use whatever you prefer.


> > - There's some quality docs to be build from tarball's doc-subdir using
> >   python-sphinx && `make html`.
> > 
> >   ---> I'd strongly recommend to build and package them inside an
> >        additional -doc sub-package.
> 
> make html depends on the sphinx.cheeseshop extension which has never been
> packaged for Fedora.

You can safely add `BR: python-sphinxcontrib-cheeseshop` now.  ;)  I have build && tagged overrides for el5+ && fc18+


> > - The hashbang of the script in %{_bindir} points to `/usr/bin/python`.
> > 
> >   ---> I'd use some sed magic to change it to `%{__python2}`, so this
> >        would still be safe when system's default Python-interpreter
> >        changes to use Python3 somewhen nearby.
> 
> Fixed.

Looks better now.


===== Solution =====

NOT APPROVED -- Fix that `%{python_sitelib}` --> `%{python2_sitelib}` thing and autodocs to the package and I'll approve then.
Comment 15 Matěj Cepl 2013-10-22 15:05:45 EDT
(In reply to Björn "besser82" Esser from comment #14)
> (In reply to Matěj Cepl from comment #12)
> > (In reply to Björn "besser82" Esser from comment #11)
> > > [!]: Package meets the Packaging Guidelines::Python
> > > 
> > >      ---> Using `%{__python}` is deprecated by Python guidelines.
> > >           Use `%{__python2}` instead, please.
> > > 
> > >      ---> Using `%{python_sitelib}` is deprecated by Python guidelines.
> > >           Use `%{python_sitelib}` instead, please.  If you need compat
> > >           for <= el6, you can use this on top of spec-file:
> > > 
> > >           %{?!python2_sitelib:%global python2_sitelib %{python_sitelib}}
> > 
> > Right, done
> 
> You are still using %{python_sitelib}...
> 
>   grep -Hn '%{python_sitelib}' python-behave.spec 
>  
> python-behave.spec:43:PYTHONPATH=%{buildroot}%{python_sitelib}/%{modname}*.
> egg-info \
>   python-behave.spec:64:%{python_sitelib}/*
> 
> 
> > > [!]: %check is present and all tests pass.
> > > 
> > >      ---> testsuite is present, but doesn't run.  (uses nosetests)
> > >           Add BR: python-nosetests and invoke `nosetests` during %check.
> > 
> > /me wonders why there is python setup.py nosetests which does nothing, but
> > otherwise fixed.  
> > 
> > And it is python-nose, BTW.
> 
> Sry, my bad  :(  Testsuite runs fine now.
> 
>   Ran 336 tests in 0.311s
>   OK
>   + exit 0
> 
> 
> > > Rpmlint (installed packages)
> > > ----------------------------
> > > # rpmlint python-behave
> > > python-behave.noarch: W: spelling-error Summary(en_US) behaviour -> behavior
> > > 1 packages and 0 specfiles checked; 0 errors, 1 warnings.
> > > # echo 'rpmlint-done:'
> > > 
> > > ---> fix that spelling error, please.
> > 
> > I am Czech, the upstream author is German, so we were taught proper English,
> > not Americish, but anyway. Fixed.
> 
> So please let me co-maintain  ;)  I'm native German, too.  So if there are
> problems or any, discussing them on native-lang usualy helps and is more
> clarifying.
> 
> 
> > > - install -p -m u=rw,go=r is hard to read IMHO.
> > > 
> > >   ---> install -pm 0644 is quicker to understand.
> > 
> > Yeah, I don't agree here. Surely, that's not a packaging error but just your
> > opinion, right?
> 
> Yes, personal oppinion (and possibly the one with majority amoung other
> packagers).  You are free to use whatever you prefer.
> 
> 
> > > - There's some quality docs to be build from tarball's doc-subdir using
> > >   python-sphinx && `make html`.
> > > 
> > >   ---> I'd strongly recommend to build and package them inside an
> > >        additional -doc sub-package.
> > 
> > make html depends on the sphinx.cheeseshop extension which has never been
> > packaged for Fedora.
> 
> You can safely add `BR: python-sphinxcontrib-cheeseshop` now.  ;)  I have
> build && tagged overrides for el5+ && fc18+
> 
> 
> > > - The hashbang of the script in %{_bindir} points to `/usr/bin/python`.
> > > 
> > >   ---> I'd use some sed magic to change it to `%{__python2}`, so this
> > >        would still be safe when system's default Python-interpreter
> > >        changes to use Python3 somewhen nearby.
> > 
> > Fixed.
> 
> Looks better now.
> 
> 
> ===== Solution =====
> 
> NOT APPROVED -- Fix that `%{python_sitelib}` --> `%{python2_sitelib}` thing
> and autodocs to the package and I'll approve then.

http://mcepl.fedorapeople.org/tmp/python-behave-1.2.3-5.el7.src.rpm
http://mcepl.fedorapeople.org/tmp/python-behave.spec
Comment 16 Björn "besser82" Esser 2013-10-23 03:38:45 EDT
Created attachment 815262 [details]
fixed spec && build for el6

===== Review report for python-behave-1.2.3-5 =====

This report was created with a local copy of python-sphinxcontrib-cheeseshop-0.2-1.fc21.noarch.rpm
Koji-build URL:  https://koji.fedoraproject.org/koji/buildinfo?buildID=472980


Package unfortunately now has some new issues.  :(


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:
     "Unknown or generated". 90 files have unknown license. Detailed output of
     licensecheck in /home/besser82/shared/fedora/review/987622-python-
     behave/licensecheck.txt

     ---> License-tag is fine.  :)

[!]: License file installed when any subpackage combination is installed.

     ---> -doc sub-package lacks `%doc README.rst LICENSE`.  Packaging
          duplicate files is allowed and ecouraged by guidelines in
          this case.

[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[!]: Each %files section contains %defattr if rpm < 4.4
     Note: %defattr present but not needed

     ---> remove that from -doc sub-package, please.  It's not needed.

[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[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.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[!]: Requires correct, justified where necessary.

     ---> -doc sub-package should not requires main-package, because
          one usually wants to install documentation independently
          from `binaries`.

[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.
[!]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 788480 bytes in 18 files.

     ---> Why did you include pickled sphinx-environment as %doc
          in main-package?  Binary-pickles are not really useful.

[!]: Package complies to the Packaging Guidelines

     ---> issues are present.

[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: There are rpmlint messages (see attachment).
[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 requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[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]: 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:
[-]: 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 (see attachments).

     ---> -doc sub-package should not requires main-package, because
          one usually wants to install documentation independently
          from `binaries`.  As written above, too.

[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: 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.
[x]: %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: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: python-behave-1.2.3-5.fc21.noarch.rpm
          python-behave-doc-1.2.3-5.fc21.noarch.rpm
          python-behave-1.2.3-5.fc21.src.rpm
python-behave-doc.noarch: W: spelling-error %description -l en_US reST -> rest, re ST, re-ST
3 packages and 0 specfiles checked; 0 errors, 1 warnings.

---> False positives.  You can ignore them.


Rpmlint (installed packages)
----------------------------
# rpmlint python-behave-doc python-behave
python-behave-doc.noarch: W: spelling-error %description -l en_US reST -> rest, re ST, re-ST
2 packages and 0 specfiles checked; 0 errors, 1 warnings.
# echo 'rpmlint-done:'

---> False positives.  You can ignore them.


Requires
--------
python-behave-doc (rpmlib, GLIBC filtered):
    python-behave

python-behave (rpmlib, GLIBC filtered):
    /usr/bin/python2
    python(abi)
    python-parse



Provides
--------
python-behave-doc:
    python-behave-doc

python-behave:
    python-behave



Source checksums
----------------
http://pypi.python.org/packages/source/b/behave/behave-1.2.3.tar.gz :
  CHECKSUM(SHA256) this package     : b17529c1c49e9e3dccae9e1684f100e28dcf988cd4809d61fcf4768b80e9e329
  CHECKSUM(SHA256) upstream package : b17529c1c49e9e3dccae9e1684f100e28dcf988cd4809d61fcf4768b80e9e329


Generated by fedora-review 0.5.0 (920221d) last change: 2013-08-30
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -L /home/besser82/shared/fedora/review/python-sphinxcontrib-cheeseshop/ -b 987622
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Python, Shell-api
Disabled plugins: Java, C/C++, SugarActivity, Perl, R, PHP, Ruby
Disabled flags: EPEL5, EXARCH, DISTTAG

Built with local dependencies:
    /home/besser82/shared/fedora/review/python-sphinxcontrib-cheeseshop/python-sphinxcontrib-cheeseshop-0.2-1.fc21.noarch.rpm


===== Additional comments =====

- You can safely drop those `Group:`-tags, too, since they are
  needed on <= el5, only.

- I'd recommend to have the (Build)Requires split up one a line and
  have them sorted by alphabetical order.  That would improve spec's
  readabily by far.  One might split them up by subpackages, too.

- I attached a patched spec-file which should fix all left issues
  and properly pick up the reST-files for %doc.

- I'd love to see that for el6, too.  So I added everything needed to
  build this on EPEL6 in the attached spec-file.  Builds fine on koji:
  https://koji.fedoraproject.org/koji/taskinfo?taskID=6089297


===== Solution =====

NOT APPROVED -- If you apply the attached spec-file and provide new generated srpm from that, I can safely approve.
Comment 18 Björn "besser82" Esser 2013-10-24 10:25:15 EDT
All issues have been solved, now.  Package LGTM.  :)  Don't forget to add me as comaintainer, please.

APPROVED!!!
Comment 19 Matěj Cepl 2013-10-24 10:39:23 EDT
New Package SCM Request
=======================
Package Name: python-behave
Short Description: Tools for the behaviour-driven development, Python style
Owners: mcepl besser82
Branches: f18 f19 f20 el6
InitialCC:
Comment 20 Gwyn Ciesla 2013-10-24 11:07:02 EDT
Git done (by process-git-requests).
Comment 21 Fedora Update System 2013-10-24 11:48:51 EDT
python-behave-1.2.3-7.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/python-behave-1.2.3-7.el6
Comment 22 Fedora Update System 2013-10-24 11:49:37 EDT
python-behave-1.2.3-7.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/python-behave-1.2.3-7.fc19
Comment 23 Fedora Update System 2013-10-24 11:50:06 EDT
python-behave-1.2.3-7.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/python-behave-1.2.3-7.fc20
Comment 24 Fedora Update System 2013-10-24 13:34:42 EDT
python-behave-1.2.3-7.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/python-behave-1.2.3-7.fc18
Comment 25 Fedora Update System 2013-10-24 13:45:36 EDT
python-behave-1.2.3-7.fc20 has been pushed to the Fedora 20 testing repository.
Comment 26 Fedora Update System 2013-10-24 15:09:27 EDT
python-behave-1.2.3-7.el6 has been pushed to the Fedora EPEL 6 stable repository.
Comment 27 Fedora Update System 2013-10-24 21:50:29 EDT
python-behave-1.2.3-7.fc18 has been pushed to the Fedora 18 stable repository.
Comment 28 Fedora Update System 2013-10-24 21:53:20 EDT
python-behave-1.2.3-7.fc19 has been pushed to the Fedora 19 stable repository.
Comment 29 Fedora Update System 2013-11-10 02:14:48 EST
python-behave-1.2.3-7.fc20 has been pushed to the Fedora 20 stable repository.

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