Bug 1228942

Summary: Review Request: python-frappe - Meta data driven web framework
Product: [Fedora] Fedora Reporter: William Moreno <williamjmorenor>
Component: Package ReviewAssignee: Eduardo Mayorga <e>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: e, package-review
Target Milestone: ---Flags: e: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-07-27 21:40:16 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1228941, 1246720, 1246721, 1246724, 1249010    
Bug Blocks:    

Description William Moreno 2015-06-06 22:16:51 UTC
Spec URL: http://rmsconsultoresnicaragua.com/rpmdev/python-frappe.spec
SRPM URL: http://rmsconsultoresnicaragua.com/rpmdev/python-frappe-5.0.7-1.fc22.2.src.rpm
Description: Meta data driven web framework
Fedora Account System Username:

Comment 1 Eduardo Mayorga 2015-06-18 05:39:13 UTC
python-jinja2 requires python-babel and python-markupsafe.
python-geoip-geolite2 requires python-GeoIP.
python-dateutil requires python-six.
python-rauth requires python-requests, and this requires python-chardet.
python-celery and python-babel require pytz.
babel requires python-babel.
python-ipython requires ipython.

You can drop all those redundant dependencies.

Comment 2 William Moreno 2015-07-19 04:23:00 UTC
Spec URL: https://williamjmorenor.fedorapeople.org/rpmdev/python-frappe.spec
SRPM URL: https://williamjmorenor.fedorapeople.org/rpmdev/python-frappe-5.0.7-2.fc22.src.rpm

- 5.0.7-2
- Move from /usr/share to /var
- Remove redundant dependencies
- Fix rpmlint errors

Comment 4 William Moreno 2015-07-22 01:57:11 UTC
Rawhide Build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=10430922

Comment 5 Eduardo Mayorga 2015-07-24 05:23:13 UTC
Package Review
==============

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


Issues:
=======
- Package installs properly.
  Note: Installation errors (see attachment)
  See: https://fedoraproject.org/wiki/Packaging:Guidelines
  This is because python-frappe-bench has not been imported yet, so we can ignore this one.
- There are bundled libraries.
nodejs-prism:     frappe-5.1.3/frappe/public/js/lib/prism.js
nodejs-flot:      frappe-5.1.3/frappe/public/js/lib/flot/excanvas.js
nodejs-beautify: frappe-5.1.3/frappe/public/js/lib/beautify-html.js
python-minify:    frappe-5.1.3/frappe/utils/minify.py

===== 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)", "Apache (v2.0)", "*No copyright* MIT/X11
     (BSD like)", "Unknown or generated". 558 files have unknown license.
     Detailed output of licensecheck in /home/mayorga/1228942-python-frappe/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package does not own files or directories owned by other packages.
[!]: 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.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 10240 bytes in 3 files.
[!]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[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 must own all directories that it creates.
[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]: Dist tag is present.
[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 does not use a name that already exists.
[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.
[-]: 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]: Avoid bundling fonts in non-fonts packages.
     Note: Package contains font files
[-]: 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 python-
     frappe-filesystem
[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.
[-]: 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]: 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:
[!]: Rpmlint is run on all installed packages.
     Note: Mock build failed
     See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint
[x]: Spec file according to URL is the same as in SRPM.


Installation errors
-------------------
INFO: mock.py version 1.2.10 starting (python version = 3.4.2)...
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: run
Start: chroot init
INFO: calling preinit hooks
INFO: enabled root cache
INFO: enabled dnf cache
Start: cleaning dnf metadata
Finish: cleaning dnf metadata
INFO: enabled ccache
Mock Version: 1.2.10
INFO: Mock Version: 1.2.10
Finish: chroot init
INFO: installing package(s): /home/mayorga/1228942-python-frappe/results/python-frappe-5.1.3-1.fc24.noarch.rpm /home/mayorga/1228942-python-frappe/results/python-frappe-filesystem-5.1.3-1.fc24.noarch.rpm
ERROR: Command failed. See logs for output.
 # /usr/bin/dnf --installroot /var/lib/mock/fedora-rawhide-x86_64/root/ --releasever 23 install /home/mayorga/1228942-python-frappe/results/python-frappe-5.1.3-1.fc24.noarch.rpm /home/mayorga/1228942-python-frappe/results/python-frappe-filesystem-5.1.3-1.fc24.noarch.rpm --setopt=tsflags=nocontexts


Rpmlint
-------
Checking: python-frappe-5.1.3-1.fc24.noarch.rpm
          python-frappe-filesystem-5.1.3-1.fc24.noarch.rpm
          python-frappe-5.1.3-1.fc24.src.rpm
python-frappe.noarch: W: non-standard-dir-in-var frappe-bench
python-frappe-filesystem.noarch: W: no-documentation
python-frappe-filesystem.noarch: W: non-standard-dir-in-var frappe-bench
3 packages and 0 specfiles checked; 0 errors, 3 warnings.




Requires
--------
python-frappe (rpmlib, GLIBC filtered):
    /bin/sh
    babel
    ipython
    open-sans-fonts
    python(abi)
    python-click
    python-cssmin
    python-dateutil
    python-dropbox
    python-email_reply_parser
    python-frappe-bench
    python-frappe-filesystem
    python-geoip-geolite2
    python-gunicorn
    python-html2text
    python-markdown2
    python-mysql
    python-num2words
    python-pdfkit
    python-redis
    python-selenium
    python-semantic_version
    python-slugify
    python-termcolor
    python-werkzeug
    python-xhtml2pdf
    shadow-utils
    systemd

python-frappe-filesystem (rpmlib, GLIBC filtered):



Provides
--------
python-frappe:
    python-frappe

python-frappe-filesystem:
    python-frappe-filesystem



Source checksums
----------------
https://github.com/frappe/frappe/archive/v5.1.3.tar.gz :
  CHECKSUM(SHA256) this package     : de67880def2ba025aecf88a00f75344448592d5ddbb01166f6a25ebce04630a0
  CHECKSUM(SHA256) upstream package : de67880def2ba025aecf88a00f75344448592d5ddbb01166f6a25ebce04630a0

Comment 6 Eduardo Mayorga 2015-07-27 00:35:09 UTC
Also, please remove all the bundles in %prep.

Comment 8 Eduardo Mayorga 2015-07-27 15:51:01 UTC
- Fix the rpmlint hardcoded-library-path errors. Use %{_libdir} instead of /usr/lib.

- Please consider moving /var/frappe-bench /var/lib/frappe-bench.

Comment 9 William Moreno 2015-07-27 15:54:49 UTC
Spec URL: https://williamjmorenor.fedorapeople.org/rpmdev/python-frappe.spec
SRPM URL: https://williamjmorenor.fedorapeople.org/rpmdev/python-frappe-5.1.3-3.fc22.src.rpm

========
- 5.1.3-3
- Add BR: nodejs-packaging y use nodejs macros

Comment 10 Eduardo Mayorga 2015-07-27 17:29:31 UTC
Now it looks fine.

PACKAGE APPROVED

Comment 11 William Moreno 2015-07-27 17:32:39 UTC
New Package SCM Request
=======================
Package Name: python-frappe
Short Description: Meta data driven web framework
Upstream URL: http://frappe.io/
Owners: williamjmorenor mayorga
Branches: f23 master
InitialCC: williamjmorenor mayorga

Comment 12 Gwyn Ciesla 2015-07-27 19:14:18 UTC
Git done (by process-git-requests).