Bug 1123399 - Review Request: python-botocore - The low-level, core functionality of boto 3
Summary: Review Request: python-botocore - The low-level, core functionality of boto 3
Keywords:
Status: CLOSED NEXTRELEASE
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: 1123398 1126521
Blocks: 1123402
TreeView+ depends on / blocked
 
Reported: 2014-07-25 14:13 UTC by Lubomir Rintel
Modified: 2014-08-15 18:31 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-08-15 18:31:20 UTC
karlthered: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Lubomir Rintel 2014-07-25 14:13:44 UTC
SPEC: http://v3.sk/~lkundrak/SPECS/python-botocore.spec
SRPM: http://v3.sk/~lkundrak/SRPMS/python-botocore-0.58.0-1.el7.centos.src.rpm

Description:
A low-level interface to a growing number of Amazon Web Services. The
botocore package is the foundation for AWS-CLI.

Comment 2 Christopher Meng 2014-07-25 23:50:56 UTC
Next time please also set the status to ASSIGNED. This will save my time.

Comment 3 Haïkel Guémar 2014-07-26 03:04:29 UTC
Next time, please don't come nagging in random tickets. This will save *both* our times.

It was 10 P.M. and try using bugzilla on a mobile phone, it could wait until my night's sleep, right ? This is now almost 5 A.M. I already got awakened by a blank call and on top of that, you have to rub your rudeness on my face.

Besides, you can't review that package before its dependencies, and I have good knowledge of this one for having packaged awscli at my previous $DAYJOB.

Then, leave me alone and allow me to finish my night of sleep.


@Lubomir: my apologies, I'll move forward the awscli stuff reviews

Comment 4 Lubomir Rintel 2014-07-26 06:39:45 UTC
As much as I hate to add unrelated noise here (as there doesn't really seem to be anything to solve in this respect), I'd like to ask you to be a bit more considerate next time.

Please don't assume bad intentions when something sounds a bit too harsh or rude -- it might very easily be a language barrier. (e.g.: I've seen a person suggesting that something is "none of my business/concern" when he sincerelly meant that I just don't need to spend my time dealing with an issue :)

Christopher is a rather active contributor and reviewer and I can imagine him running a search on tickets in NEW state. It takes some time then to determine if the ticket is actually reviewable (it might not be, as Haïkel correctly points out), and if this happens a lot, the time spent might be quite considerable.

Have a nice weekend!

Comment 5 Haïkel Guémar 2014-07-26 07:47:28 UTC
I shouldn't have reacted like that but I stand that Christopher's "This will save my time." was inappropriate and rude.
I won't go further, but I don't think I have to take lessons from him.

Comment 6 Haïkel Guémar 2014-08-04 15:48:38 UTC
About patches:
* python-dateutil version fix in setup.py: as for F21+, I prefer requesting an update of python-dateutil to 2.2 making this patch useless (it brings many fixes). As for EL6+, since they were already release with an old version of dateutil, it is acceptable that to ship that patch and then ask for an update later if it proves being problematic.
* requests unbundling: ok (not something that upstream might accept)

Comment 7 Lubomir Rintel 2014-08-06 08:03:35 UTC
I'm wondering if you're expecting me to update the package at this point? I can't do that as the package is supposed to build in releases < f21; the patch can surely be removed in future though.

Comment 8 Lubomir Rintel 2014-08-11 13:21:27 UTC
Ping?

Comment 9 Haïkel Guémar 2014-08-11 13:36:54 UTC
I was at Flock and my flight just landed.

Comment 10 Haïkel Guémar 2014-08-14 12:07:20 UTC
Apparently, there was a misunderstanding, most people weren't aware that 2.1+ releases superseeded 1.5 release for python 2.x.
After some discussion with fellow packagers, I decided to grant an exception until everyone agree on the upgrade. Test passes, but I suspect that few subtle bugs might arise due to 1.5 not being maintained anymore.

You're expected to drop that patch when it'll become necessary and to report bugs to dateutil maintainers if any bugs were to happen due 1.5 release.


So I hereby approve this package into Fedora packages collection, please file a scm request. Formal review is to be find below.


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:
     "Apache (v2.0)", "MIT/X11 (BSD like)", "LGPL (v2.1 or later)", "Unknown
     or generated", "*No copyright* LGPL (v2.1 or later)". 43 files have
     unknown license. Detailed output of licensecheck in /home/haikel/1123399
     -python-botocore/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/lib/python3.4, /usr/lib/python3.4/site-
     packages
[x]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/lib/python3.4/site-packages,
     /usr/lib/python3.4
[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 20480 bytes in 4 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 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.
[x]: Final provides and requires are sane (see attachments).
[-]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
     python3-botocore
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[ ]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[-]: 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]: 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: python-botocore-0.58.0-2.fc21.noarch.rpm
          python3-botocore-0.58.0-2.fc21.noarch.rpm
          python-botocore-0.58.0-2.fc21.src.rpm
python-botocore.noarch: E: explicit-lib-dependency python-urllib3
python-botocore.noarch: W: spelling-error Summary(en_US) boto -> boot, bot, boo
python3-botocore.noarch: E: explicit-lib-dependency python3-urllib3
python3-botocore.noarch: W: spelling-error Summary(en_US) boto -> boot, bot, boo
python-botocore.src: W: spelling-error Summary(en_US) boto -> boot, bot, boo
3 packages and 0 specfiles checked; 2 errors, 3 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint python3-botocore python-botocore
python3-botocore.noarch: E: explicit-lib-dependency python3-urllib3
python3-botocore.noarch: W: spelling-error Summary(en_US) boto -> boot, bot, boo
python-botocore.noarch: E: explicit-lib-dependency python-urllib3
python-botocore.noarch: W: spelling-error Summary(en_US) boto -> boot, bot, boo
2 packages and 0 specfiles checked; 2 errors, 2 warnings.
# echo 'rpmlint-done:'



Requires
--------
python3-botocore (rpmlib, GLIBC filtered):
    python(abi)
    python3-dateutil
    python3-jmespath
    python3-requests
    python3-six
    python3-urllib3

python-botocore (rpmlib, GLIBC filtered):
    python(abi)
    python-dateutil
    python-jmespath
    python-requests
    python-six
    python-urllib3



Provides
--------
python3-botocore:
    python3-botocore

python-botocore:
    python-botocore



Source checksums
----------------
https://pypi.python.org/packages/source/b/botocore/botocore-0.58.0.tar.gz :
  CHECKSUM(SHA256) this package     : f50eee93bcf6c39d5ca916470438143b14586e0fe14dd7c0426187bd21bbe074
  CHECKSUM(SHA256) upstream package : f50eee93bcf6c39d5ca916470438143b14586e0fe14dd7c0426187bd21bbe074

Comment 11 Lubomir Rintel 2014-08-14 14:09:30 UTC
New Package SCM Request
=======================
Package Name: python-botocore
Short Description: The low-level, core functionality of boto 3
Upstream URL: https://github.com/boto/botocore
Owners: lkundrak jtaylor
Branches: f19 f20 f21 el6 epel7

Comment 12 Gwyn Ciesla 2014-08-14 18:35:29 UTC
Git done (by process-git-requests).

Comment 13 Lubomir Rintel 2014-08-15 18:31:20 UTC
Imported and built.
Thank you!


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