Bug 1070946
| Summary: | Review Request: python-SimpleCV - Open source framework for building computer vision applications | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Julien Enselme <jujens> |
| Component: | Package Review | Assignee: | Luis Bazan <bazanluis20> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | bazanluis20, jujens, mrunge, package-review, panemade, samuel-rhbugs |
| Target Milestone: | --- | Flags: | bazanluis20:
fedora-review+
gwync: fedora-cvs+ |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | python-SimpleCV-1.3-3.fc21 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2014-10-29 11:01:51 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | 1070941, 1081782, 1089002, 1089041, 1137018, 1137021, 1138321, 1138330, 1138338, 1142422, 1142430, 1142437, 1142445 | ||
| Bug Blocks: | |||
|
Description
Julien Enselme
2014-02-27 19:23:39 UTC
rpmlint:
Checking: python-SimpleCV-1.3-1.fc20.noarch.rpm
python-SimpleCV-1.3-1.fc20.src.rpm
python-SimpleCV.noarch: W: no-manual-page-for-binary simplecv
2 packages and 0 specfiles checked; 0 errors, 1 warnings.
This is a review *template*. Besides handling the [ ]-marked tests you are
also supposed to fix the template before pasting into bugzilla:
- Add issues you find to the list of issues on top. If there isn't such
a list, create one.
- Add your own remarks to the template checks.
- Add new lines marked [!] or [?] when you discover new things not
listed by fedora-review.
- Change or remove any text in the template which is plain wrong. In this
case you could also file a bug against fedora-review
- Remove the "[ ] Manual check required", you will not have any such lines
in what you paste.
- Remove attachments which you deem not really useful (the rpmlint
ones are mandatory, though)
- Remove this text
Package Review
==============
Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed
Issues:
=======
- Package installs properly.
Note: Installation errors (see attachment)
See: https://fedoraproject.org/wiki/Packaging:Guidelines
- Package contains BR: python2-devel or python3-devel
===== MUST items =====
Generic:
[ ]: Package is licensed with an open-source compatible license and meets
other legal requirements as defined in the legal section of Packaging
Guidelines.
[ ]: License field in the package spec file matches the actual license.
Note: Checking patched sources after %prep for licenses. Licenses found:
"Unknown or generated". 114 files have unknown license. Detailed output
of licensecheck in /home/lbazan/rpmbuild/SPECS/1070946-python-
SimpleCV/licensecheck.txt
[ ]: Package contains no bundled libraries without FPC exception.
[ ]: Changelog in prescribed format.
[ ]: 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
[ ]: Package uses nothing in %doc for runtime.
[ ]: Package consistently uses macros (instead of hard-coded directory names).
[ ]: Package is named according to the Package Naming Guidelines.
[ ]: Package does not generate any conflict.
[ ]: 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.
[ ]: Spec file is legible and written in American English.
[ ]: Package contains systemd file(s) if in need.
[ ]: 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 256000 bytes in 25 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]: 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:
[ ]: 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.
[ ]: Package meets the Packaging Guidelines::Python
[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).
[ ]: Package functions as described.
[ ]: Latest version is packaged.
[ ]: 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.
[ ]: 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]: 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:
[!]: Rpmlint is run on all installed packages.
Note: Mock build failed
See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint
[!]: Spec file according to URL is the same as in SRPM.
Note: Spec file as given by url is not the same as in SRPM (see attached
diff).
See: (this test has no URL)
Installation errors
-------------------
INFO: mock.py version 1.1.35 starting...
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: run
Mock Version: 1.1.35
INFO: Mock Version: 1.1.35
Start: lock buildroot
INFO: installing package(s): /home/lbazan/rpmbuild/SPECS/1070946-python-SimpleCV/results/python-SimpleCV-1.3-1.fc20.noarch.rpm
ERROR: Command failed:
# ['/usr/bin/yum', '--installroot', '/var/lib/mock/fedora-20-i386/root/', 'install', '/home/lbazan/rpmbuild/SPECS/1070946-python-SimpleCV/results/python-SimpleCV-1.3-1.fc20.noarch.rpm', '--setopt=tsflags=nocontexts']
Error: Paquete: python-SimpleCV-1.3-1.fc20.noarch (/python-SimpleCV-1.3-1.fc20.noarch)
Necesita: python-svgwrite
Podría intentar utilizar el comando --skip-broken para sortear el problema
Podría intentar ejecutar: rpm- Va --nofiles --nodigest
Rpmlint
-------
Checking: python-SimpleCV-1.3-1.fc20.noarch.rpm
python-SimpleCV-1.3-1.fc20.src.rpm
python-SimpleCV.noarch: W: no-manual-page-for-binary simplecv
2 packages and 0 specfiles checked; 0 errors, 1 warnings.
Diff spec file in url and in SRPM
---------------------------------
--- /home/lbazan/rpmbuild/SPECS/1070946-python-SimpleCV/srpm/python-SimpleCV.spec 2014-03-10 11:30:00.775301971 -0500
+++ /home/lbazan/rpmbuild/SPECS/1070946-python-SimpleCV/srpm-unpacked/python-SimpleCV.spec 2014-02-27 05:45:03.000000000 -0500
@@ -23,12 +23,12 @@
%build
-%{__python2} setup.py build
+%{__python} setup.py build
%install
-%{__python2} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
+%{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
# Remove shebang
-for lib in $RPM_BUILD_ROOT%{python2_sitelib}/SimpleCV/{,*/,*/*}/*.py; do
+for lib in %{buildroot}%{python_sitelib}/SimpleCV/{,*/,*/*}/*.py; do
sed '1{\@^#!/usr/bin/env python@d}' $lib > $lib.new &&
touch -r $lib $lib.new &&
@@ -36,5 +36,5 @@
done
-for lib in $RPM_BUILD_ROOT%{python2_sitelib}/SimpleCV/{,*/,*/*}/*.py; do
+for lib in %{buildroot}%{python_sitelib}/SimpleCV/{,*/,*/*}/*.py; do
sed '1{\@^#!/usr/bin/python@d}' $lib > $lib.new &&
touch -r $lib $lib.new &&
@@ -46,9 +46,9 @@
%doc CHANGELOG.txt LICENSE README.markdown requirements.txt doc/*
%{_bindir}/simplecv
-%{python2_sitelib}/SimpleCV-%{version}-py%{python2_version}.egg-info/
-%{python2_sitelib}/SimpleCV/
+%{python_sitelib}/SimpleCV-1.3-py2.7.egg-info/
+%{python_sitelib}/SimpleCV/
%changelog
-* Sun Feb 09 2014 Julien Enselme <jujens> - 1.3-1
+* Sun Feb 09 2014 Julien Enselme <jenselme> - 1.3-1
- Initial packaging
Requires
--------
python-SimpleCV (rpmlib, GLIBC filtered):
/usr/bin/python
numpy
opencv-python
pygame
python(abi)
python-ipython
python-pip
python-setuptools
python-svgwrite
scipy
Provides
--------
python-SimpleCV:
python-SimpleCV
Source checksums
----------------
http://sourceforge.net/projects/simplecv/files/1.3/SimpleCV-1.3.tar.gz :
CHECKSUM(SHA256) this package : 7a0aaf61f357a78429ff4409f75d4ac67b9924f06013245706a3ccfcff8c92b0
CHECKSUM(SHA256) upstream package : 7a0aaf61f357a78429ff4409f75d4ac67b9924f06013245706a3ccfcff8c92b0
Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review -b 1070946
Buildroot used: fedora-20-i386
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 have just re-uploaded the spec and the srpm. Now the two specs are the same. SimpleCV provides tests. I tried to add a %check macro. But some tests are performed on non-free functionalities of OpenCV that are not packaged in Fedora. So the tests are compelled to fail. So I won't add the %check macro. Hi, I've checked and all seems to be ok by what I give my approval. Best Regards. Luis, you're supposed to do a manual review on all the form fields intentionally left blank in #c1 ! Esp. if you had done it, you had catched the bundled lib! E.g. https://github.com/sightmachine/SimpleCV/blob/master/SimpleCV/MachineLearning/query_imgs/flickrapi2.py # Copyright 2005 Brian "Beej Jorgensen" Hall <beej> # # This work is licensed under the Creative Commons # Attribution License. To view a copy of this license, # visit http://creativecommons.org/licenses/by/2.5/ or send # a letter to Creative Commons, 543 Howard Street, 5th # Floor, San Francisco, California, 94105, USA. # # This license says that I must be credited for any derivative works. # You do not need to credit me to simply use the FlickrAPI classes in # your Python scripts--you only need to credit me if you're taking this # FlickrAPI class and modifying it or redistributing it. So, copyright is wrong, too. And I didn't spoke about fonts yet. https://github.com/sightmachine/SimpleCV/tree/master/SimpleCV/fonts Please remove the bundled lib, thanks Matthias by this correction of my mistake. Regards! Fonts meet licensing guidelines. - https://fedoraproject.org/wiki/Licensing:Fonts 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 Best Regards. I removed the bundled lib. I reuploaded the spec: http://jenselme.perso.centrale-marseille.fr/visible/SPECS/python-SimpleCV.spec and SRPMS: http://jenselme.perso.centrale-marseille.fr/visible/SRPMS/python-SimpleCV-1.3-2.fc20.src.rpm I have some questions regarding the packaging of the fonts. I also checked the license and I confirm that they meet the licensing guideline. I read the font guidelines pages. If I understand them correctly, I will have to make a package per fonts. However, I search for fonts on my system with locate .ttf. I found out that matplotlib also have fonts but they all are in a python-matplotlib-data-fonts package. The fonts themselves are in /usr/share/matplotlib/mpl-data/fonts instead of /usr/share/fonts. Should I do something like this that instead? Regards, Julien, no matter what matplotlib does, please follow the fonts policy. https://fedoraproject.org/wiki/Packaging:FontsPolicy As a side note: that package seems to need some love: https://admin.fedoraproject.org/pkgdb/acls/bugs/python-matplotlib and esp. that font issue is https://bugzilla.redhat.com/show_bug.cgi?id=477445 The issue is now more than 5 years old. OK, thanks Matthias for your answer. I will fellow the fonts policy. Before that, I have a question: Where am I supposed to fetch the fonts? I wanted to package astloch. According to the Font.py file, they (all the fonts) were downloaded from http://www.google.com/webfonts but it doesn't seem to provide a download link that is easy to use. I search the web and there are lots of ways to get it but I was unable to find an "official" website where I could download the font and use this url as Source for the RPM. Should I just pick one? I didn't find any particular recommendation in the guidelines. Regards, (In reply to Julien Enselme from comment #10) > OK, thanks Matthias for your answer. I will fellow the fonts policy. > > Before that, I have a question: Where am I supposed to fetch the fonts? I > wanted to package astloch. According to the Font.py file, they (all the > fonts) were downloaded from http://www.google.com/webfonts but it doesn't > seem to provide a download link that is easy to use. I search the web and > there are lots of ways to get it but I was unable to find an "official" > website where I could download the font and use this url as Source for the > RPM. Should I just pick one? I didn't find any particular recommendation in > the guidelines. Sadly, this is a quite regular situation. In that case, I'm trying to find the most *official* or *stable* URL (whatever that means) Currently, the URL is used for trying to provide more information about your package. It's parsed by a human. Does http://code.google.com/p/googlefontdirectory/ help you a bit? It seems you could get the fonts from the checkout. If in doubt, please ask upstream, where they got the font from. It should be scary to distribute something, where the copyright et. is not 100% clear. (In reply to Matthias Runge from comment #11) > (In reply to Julien Enselme from comment #10) > > OK, thanks Matthias for your answer. I will fellow the fonts policy. > > > > Before that, I have a question: Where am I supposed to fetch the fonts? I > > wanted to package astloch. According to the Font.py file, they (all the > > fonts) were downloaded from http://www.google.com/webfonts but it doesn't > > seem to provide a download link that is easy to use. I search the web and > > there are lots of ways to get it but I was unable to find an "official" > > website where I could download the font and use this url as Source for the > > RPM. Should I just pick one? I didn't find any particular recommendation in > > the guidelines. > > Sadly, this is a quite regular situation. In that case, I'm trying to find > the most *official* or *stable* URL (whatever that means) > > Currently, the URL is used for trying to provide more information about your > package. It's parsed by a human. > > Does http://code.google.com/p/googlefontdirectory/ help you a bit? It seems > you could get the fonts from the checkout. It does help, thanks for your answer. I am starting to package the fonts. Julien, looking at the requirements: (on github) numpy scipy PIL ipython svgwrite pygame==1.9.1release I can not find pil in your spec file, but instead pip. I suspect a typo? It depends on Ubuntu fonts? Ooops, you may need to wait for years... It's considered as non-free in Fedora. > I can not find pil in your spec file, but instead pip. I suspect a typo? I think yes. I should correct it to python-pillow. > It depends on Ubuntu fonts? The ubuntu fonts are bundled but if we are lucky the package can work correctly without, you just won't be able to use them. I will have to do some tests on that. Hi We could create a patch to not include the font? While we wait for that ticket #961642 is resolved? Regards! I have just updated the SPEC file: - I corrected the wrong dependency (python-pip -> python-pillow) - I removed the bundled fonts and added them as dependencies - I added the %check directive and some patches - to remove tests that rely on unfree algorithms of OpenCV and on an actual camera (cannot pass on mock) - to correct some path of test images - to remove all reference the font ubuntu in Font.py and be sure that the packaged fonts are correctly used. All the tests pass without the ubuntu fonts and I manually checked that the packaged fonts are correctly used. I think we can remove the dependence to the ubuntu-fonts package (I am in the CCs of the bug, if/when the package gets approved I will add it to the dependency list). I guess the package is good now. SRPM: http://jenselme.perso.centrale-marseille.fr/visible/SRPMS/python-SimpleCV-1.3-3.fc20.src.rpm SPECS: http://jenselme.perso.centrale-marseille.fr/visible/SPECS/python-SimpleCV.spec Hi Julien Install and works properly without the ubuntu fonts. I think this package is ready! Approved! Note: When ubuntu-fonts ready add as dependency not meanwhile. https://bugzilla.redhat.com/show_bug.cgi?id=961642 Best Regards! New Package SCM Request ======================= Package Name: python-SimpleCV Short Description: Open source framework for building computer vision applications Upstream URL: http://simplecv.org/ Owners: jujens Branches: f20 f21 Git done (by process-git-requests). python-SimpleCV-1.3-3.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/python-SimpleCV-1.3-3.fc21 python-SimpleCV-1.3-3.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/python-SimpleCV-1.3-3.fc20 python-SimpleCV-1.3-3.fc20 has been pushed to the Fedora 20 testing repository. python-SimpleCV-1.3-3.fc20 has been pushed to the Fedora 20 stable repository. python-SimpleCV-1.3-3.fc21 has been pushed to the Fedora 21 stable repository. |