Bug 1218127 - Review Request: pagure - A git-centered forge
Summary: Review Request: pagure - A git-centered forge
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Haïkel Guémar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-05-04 09:03 UTC by Pierre-YvesChibon
Modified: 2015-06-06 23:56 UTC (History)
4 users (show)

Fixed In Version: pagure-0.1.6-1.el7
Clone Of:
Environment:
Last Closed: 2015-06-06 00:01:34 UTC
Type: ---
Embargoed:
karlthered: fedora-review+


Attachments (Terms of Use)

Description Pierre-YvesChibon 2015-05-04 09:03:14 UTC
Spec URL: http://pingou.fedorapeople.org/RPMs//pagure.spec
SRPM URL: http://pingou.fedorapeople.org/RPMs//pagure-0.1-1.fc21.src.rpm

Description:
Pagure is a light-weight git-centered forge based on pygit2.

Currently, Pagure offers a web-interface for git repositories, a ticket
system and possibilities to create new projects, fork existing ones and
create/merge pull-requests across or within projects.

Comment 1 Pierre-YvesChibon 2015-05-04 09:04:07 UTC
Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=9650564

Comment 2 Pierre-YvesChibon 2015-05-06 09:29:44 UTC
Update to 0.1.1:

Spec URL: http://pingou.fedorapeople.org/RPMs/pagure.spec
SRPM URL: https://pingou.fedorapeople.org/RPMs/pagure-0.1.1-1.fc21.src.rpm

Comment 3 Zbigniew Jędrzejewski-Szmek 2015-05-07 17:55:05 UTC
Build fails with syntax error:

$ python ./pagure-0.1.1/pagure/hooks/files/fedmsg_hook.py
  File "./pagure-0.1.1/pagure/hooks/files/fedmsg_hook.py", line 66
    return
SyntaxError: 'return' outside function

Comment 4 Pierre-YvesChibon 2015-05-07 18:35:18 UTC
Thanks Zbigniew Jędrzejewski-Szmek for finding it.
Fixed and here is the new release:

Update to 0.1.2:

Spec URL: http://pingou.fedorapeople.org/RPMs/pagure.spec
SRPM URL: https://pingou.fedorapeople.org/RPMs/pagure-0.1.2-1.fc21.src.rpm

Builds:
epel7: http://koji.fedoraproject.org/koji/taskinfo?taskID=9680440
f22:   http://koji.fedoraproject.org/koji/taskinfo?taskID=9680449

Comment 5 Haïkel Guémar 2015-05-08 15:54:59 UTC
Small changes!
* using python versionaed macros
* Fixing systemd BR/R for pagure-milters subpackage to:
https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
And adding %post %postun %preun scriptlets too
* License is not installed when you just install pagure-miltes, since I can understand you may install it on a different machine than pagure, then add it.
* I suggest using %license macro ;)
* cleaning out buildroot not required

Comment 6 Pierre-YvesChibon 2015-05-09 09:51:05 UTC
Thanks for the advice:

Spec URL: http://pingou.fedorapeople.org/RPMs/pagure.spec
SRPM URL: https://pingou.fedorapeople.org/RPMs/pagure-0.1.2-2.fc21.src.rpm

Changelog:
* Sat May 09 2015 Pierre-Yves Chibon <pingou> - 0.1.2-2
- Fix the Requires on the milter subpackage (adding: post, preun and postun)
- Add systemd scriptlet to restart the service gracefully
- Use versioned python macro (py2)
- Ship the license in the milter subpackage as well
- Use the %%license macro

Comment 7 Zbigniew Jędrzejewski-Szmek 2015-05-09 13:55:51 UTC
s/per say/per se/

Don't see anything else wrong ;)

Comment 8 Pierre-YvesChibon 2015-05-09 17:16:23 UTC
I'll fix that before import or at the next revision, thanks ;-)

Comment 9 Haïkel Guémar 2015-05-09 18:02:37 UTC
+1 trivial things like that could be fixed at import time.

Since this package complies with Fedora Packaging guidelines, I hereby approve it into
Fedora Packages Collection. Please submit a SCM request.


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

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


===== 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:
     "LGPL (v2.1 or later)", "*No copyright* GPL (v2 or later)", "Unknown or
     generated". 73 files have unknown license. Detailed output of
     licensecheck in /home/haikel/1218127-pagure/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package must own all directories that it creates.
     Note: Directories without known owners: /etc/httpd, /etc/httpd/conf.d
[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.
[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 10240 bytes in 1 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]: Package requires other packages for directories it uses.
[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]: %config files are marked noreplace or the reason is justified.
[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]: No %config files under /usr.
[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.
[x]: Final provides and requires are sane (see attachments).
[-]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in pagure-
     milters
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Scriptlets must be sane, if used.
[-]: 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]: Files in /run, var/run and /var/lock uses tmpfiles.d when appropriate
[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]: 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]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: pagure-0.1.2-2.fc23.noarch.rpm
          pagure-milters-0.1.2-2.fc23.noarch.rpm
          pagure-0.1.2-2.fc23.src.rpm
pagure.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/pagure/hooks/files/post-receive 0644L /bin/bash
pagure.noarch: E: non-executable-script /usr/share/pagure/pagure_createdb.py 0644L /usr/bin/env
pagure.noarch: E: script-without-shebang /usr/lib/python2.7/site-packages/pagure/static/emoji/emojione.sprites.css
pagure.noarch: W: python-bytecode-without-source /usr/lib/python2.7/site-packages/pagure/hooks/debug.pyc
pagure-milters.noarch: W: spelling-error Summary(en_US) Milter -> Mister, Miller, Filter
pagure-milters.noarch: W: no-documentation
pagure-milters.noarch: E: dir-or-file-in-var-run /var/run/pagure
3 packages and 0 specfiles checked; 4 errors, 3 warnings.




Rpmlint (installed packages)
----------------------------
Cannot parse rpmlint output:


Requires
--------
pagure (rpmlib, GLIBC filtered):
    /usr/bin/env
    config(pagure)
    gitolite
    mod_wsgi
    python(abi)
    python-alembic
    python-arrow
    python-blinker
    python-chardet
    python-docutils
    python-fedora
    python-flask
    python-flask-wtf
    python-markdown
    python-munch
    python-openid
    python-openid-cla
    python-openid-teams
    python-psutil
    python-pygit2
    python-pygments
    python-sqlalchemy
    python-straight-plugin
    python-wtforms

pagure-milters (rpmlib, GLIBC filtered):
    /bin/sh
    postfix
    python-pymilter
    systemd



Provides
--------
pagure:
    config(pagure)
    pagure

pagure-milters:
    pagure-milters



Source checksums
----------------
https://fedorahosted.org/releases/p/a/pagure/pagure-0.1.2.tar.gz :
  CHECKSUM(SHA256) this package     : 487eedb5b1b4b4fe9c613421478137edff3a24fe6f5eae276e74d948cf0ef96c
  CHECKSUM(SHA256) upstream package : 487eedb5b1b4b4fe9c613421478137edff3a24fe6f5eae276e74d948cf0ef96c

Comment 10 Fedora Update System 2015-05-20 10:15:24 UTC
pagure-0.1.6-1.el7 has been submitted as an update for Fedora EPEL 7.
https://admin.fedoraproject.org/updates/pagure-0.1.6-1.el7

Comment 11 Fedora Update System 2015-05-20 10:15:32 UTC
pagure-0.1.6-1.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/pagure-0.1.6-1.fc22

Comment 12 Fedora Update System 2015-05-21 00:16:29 UTC
pagure-0.1.6-1.fc22 has been pushed to the Fedora 22 testing repository.

Comment 13 Fedora Update System 2015-06-06 00:01:34 UTC
pagure-0.1.6-1.fc22 has been pushed to the Fedora 22 stable repository.

Comment 14 Fedora Update System 2015-06-06 23:56:33 UTC
pagure-0.1.6-1.el7 has been pushed to the Fedora EPEL 7 stable repository.


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