Bug 1084654 - Review Request: python3-iep - The interactive editor for Python
Summary: Review Request: python3-iep - The interactive editor for Python
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Julien Enselme
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-04-05 03:25 UTC by Scott K Logan
Modified: 2014-05-03 19:56 UTC (History)
2 users (show)

Fixed In Version: python3-iep-3.4-2.fc19
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-05-03 19:55:21 UTC
Type: ---
Embargoed:
jujens: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Scott K Logan 2014-04-05 03:25:25 UTC
Spec URL: http://cottsay.fedorapeople.org/python3-iep/python3-iep.spec
SRPM URL: http://cottsay.fedorapeople.org/python3-iep/python3-iep-3.4-1.fc20.src.rpm

Description: IEP (pronounced as eep) is a cross-platform Python IDE focused on interactivity and introspection, which makes it very suitable for scientific computing. Its practical design is aimed at simplicity and efficiency.

Fedora Account System Username: cottsay

Koji scratch builds:
F19: http://koji.fedoraproject.org/koji/taskinfo?taskID=6709160
F20: http://koji.fedoraproject.org/koji/taskinfo?taskID=6709165

rpmlint output:
python3-iep.src: W: spelling-error %description -l en_US eep -> pee, rep, seep
python3-iep.noarch: E: explicit-lib-dependency python3-pyzolib
python3-iep.noarch: W: spelling-error %description -l en_US eep -> pee, rep, seep
python3-iep.noarch: E: zero-length /usr/lib/python3.3/site-packages/iep/resources/style_solarizedlight.ssdf
python3-iep.noarch: E: zero-length /usr/lib/python3.3/site-packages/iep/resources/style_scintilla.ssdf
python3-iep.noarch: E: zero-length /usr/lib/python3.3/site-packages/iep/resources/style_solarizeddark.ssdf
python3-iep.noarch: W: desktopfile-without-binary /usr/share/applications/iep.desktop /usr/bin/python3
2 packages and 1 specfiles checked; 4 errors, 3 warnings.

Notes:
* This package is a followup to pyzolib: https://bugzilla.redhat.com/show_bug.cgi?id=1064661
* rpmlint: python-pyzolib is *not* a lib dependency
* rpmlint: I'm not sure if modifying the zero-length files is a good idea
* rpmlint: the desktop file runs the python3 binary with iep as a module. This is the suggested way to start IEP.

Comment 1 Julien Enselme 2014-04-17 15:37:35 UTC
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". 81 files have unknown license. Detailed output of
     licensecheck in
     /home/jenselme/Downloads/tmp/1084654-python3-iep/licensecheck.txt
[X]: Package must own all directories that it creates.
[X]: Package contains no bundled libraries without FPC exception.
[X]: Changelog in prescribed format.
[X]: Sources contain only permissible code or content.
[-]: Development files must be in a -devel package
[-]: 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]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
     contains icons.
     Note: icons in python3-iep
[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]: 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]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or desktop-
     file-validate if there is such a file.
[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:
[!]: 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).
[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]: 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: python3-iep-3.4-1.fc20.noarch.rpm
          python3-iep-3.4-1.fc20.src.rpm
python3-iep.noarch: E: explicit-lib-dependency python3-pyzolib
python3-iep.noarch: W: spelling-error %description -l en_US eep -> pee, rep, seep
python3-iep.noarch: E: zero-length /usr/lib/python3.3/site-packages/iep/resources/style_solarizedlight.ssdf
python3-iep.noarch: E: zero-length /usr/lib/python3.3/site-packages/iep/resources/style_scintilla.ssdf
python3-iep.noarch: E: zero-length /usr/lib/python3.3/site-packages/iep/resources/style_solarizeddark.ssdf
python3-iep.noarch: W: desktopfile-without-binary /usr/share/applications/iep.desktop /usr/bin/python3
python3-iep.src: W: spelling-error %description -l en_US eep -> pee, rep, seep
2 packages and 0 specfiles checked; 4 errors, 3 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint python3-iep
python3-iep.noarch: E: explicit-lib-dependency python3-pyzolib
python3-iep.noarch: W: spelling-error %description -l en_US eep -> pee, rep, seep
python3-iep.noarch: E: zero-length /usr/lib/python3.3/site-packages/iep/resources/style_solarizedlight.ssdf
python3-iep.noarch: E: zero-length /usr/lib/python3.3/site-packages/iep/resources/style_scintilla.ssdf
python3-iep.noarch: E: zero-length /usr/lib/python3.3/site-packages/iep/resources/style_solarizeddark.ssdf
1 packages and 0 specfiles checked; 4 errors, 1 warnings.
# echo 'rpmlint-done:'



Requires
--------
python3-iep (rpmlib, GLIBC filtered):
    /bin/sh
    desktop-file-utils
    python(abi)
    python3-PyQt4
    python3-pyzolib



Provides
--------
python3-iep:
    application()
    application(iep.desktop)
    python3-iep



Source checksums
----------------
https://pypi.python.org/packages/source/i/iep/iep-3.4.tar.gz :
  CHECKSUM(SHA256) this package     : b8376b28158d142ef324fe6c55e20a2108ed9108adf8137485711ed96d4ff8a3
  CHECKSUM(SHA256) upstream package : b8376b28158d142ef324fe6c55e20a2108ed9108adf8137485711ed96d4ff8a3


Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review -b 1084654
Buildroot used: fedora-20-x86_64
Active plugins: Python, Generic, Shell-api
Disabled plugins: Java, C/C++, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG


I did the manual checkings. There is one problem: bundled fonts in resources/. They are already available in the official repos. Please add them as requirements.

Fonts Guidelines:
- https://fedoraproject.org/wiki/Packaging:Guidelines#Avoid_bundling_of_fonts_in_other_packages
- https://fedoraproject.org/wiki/Packaging:FontsPolicy#Package_layout_for_fonts

As for rpmlint:
- python3-iep.noarch: E: explicit-lib-dependency python3-pyzolib: false positive, everything is fine
- zero-lenght files: I do not see the purpose of these files. I used grep to search any occurence of them in the source code and I found none. I did not find any import of *.ssdf files either. I removed them and everything looked fine. I guess that you should ask upstream what is their use.
- desktopfile-without-binary: there is an issue to change that: https://bitbucket.org/iep-project/iep/issue/288/pip-should-also-install-an-iep-startup I do not see this as blocking + should be fixed soon.

Best regards,

Comment 2 Scott K Logan 2014-04-21 22:20:10 UTC
Thanks for the very thorough review, Julien. I'm sorry it has taken me a while to respond...I was away with family.

To business:
- I've un-bundled the fonts, and added a requirement on them. I tested the UI, and it appears to use the system fonts just fine. Good call here.
- The empty ssdf files seem to be placeholders for when there are multiple styles available in IEP. They are completely unreferenced and I have removed them. For more info, open the style selection dialogue in IEP.
- Until there is an official fix, I'd like to leave the desktop file as-is. Hopefully the next version will have an official "startup" file. You seemed to indicate that this would be acceptable (correct me if I am wrong).

I see that there is a console message about the version of pyzolib that is available in Fedora when starting IEP. I own that package, and am submitting an update to it that will get rid of the console warning (and fix a bug I found).

I believe that I have now addressed all of your concerns.

Thanks again!

Spec URL: http://cottsay.fedorapeople.org/python3-iep/python3-iep.spec
SRPM URL: http://cottsay.fedorapeople.org/python3-iep/python3-iep-3.4-2.fc20.src.rpm

Koji scratch builds:
F19: http://koji.fedoraproject.org/koji/taskinfo?taskID=6762597
F20: http://koji.fedoraproject.org/koji/taskinfo?taskID=6762595

rpmlint output:
python3-iep.src: W: spelling-error %description -l en_US eep -> pee, rep, seep
python3-iep.noarch: E: explicit-lib-dependency python3-pyzolib
python3-iep.noarch: W: spelling-error %description -l en_US eep -> pee, rep, seep
python3-iep.noarch: W: desktopfile-without-binary /usr/share/applications/iep.desktop /usr/bin/python3
2 packages and 1 specfiles checked; 1 errors, 3 warnings.

Comment 3 Julien Enselme 2014-04-22 08:46:22 UTC
You have indeed addressed all my concerns. Good job. Approved!

Regards,

Comment 4 Scott K Logan 2014-04-22 14:40:24 UTC
Thanks so much, Julien!

--scott

Comment 5 Scott K Logan 2014-04-22 14:41:35 UTC
New Package SCM Request
=======================
Package Name: python3-iep
Short Description: The interactive editor for Python
Owners: cottsay
Branches: f19 f20
InitialCC:

Comment 6 Gwyn Ciesla 2014-04-22 15:48:47 UTC
Git done (by process-git-requests).

Comment 7 Fedora Update System 2014-04-22 17:11:01 UTC
python3-iep-3.4-2.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/python3-iep-3.4-2.fc20

Comment 8 Fedora Update System 2014-04-22 17:11:13 UTC
python3-iep-3.4-2.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/python3-iep-3.4-2.fc19

Comment 9 Fedora Update System 2014-04-24 07:43:15 UTC
python3-iep-3.4-2.fc20 has been pushed to the Fedora 20 testing repository.

Comment 10 Fedora Update System 2014-05-03 19:55:21 UTC
python3-iep-3.4-2.fc20 has been pushed to the Fedora 20 stable repository.

Comment 11 Fedora Update System 2014-05-03 19:56:50 UTC
python3-iep-3.4-2.fc19 has been pushed to the Fedora 19 stable repository.


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