Bug 1138892 - Review Request: python-gmpy2 - Python 2 interface to GMP, MPFR, and MPC
Summary: Review Request: python-gmpy2 - Python 2 interface to GMP, MPFR, and MPC
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Sergio Pascual
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-09-06 02:37 UTC by Jerry James
Modified: 2015-05-26 19:20 UTC (History)
3 users (show)

Fixed In Version: python-gmpy2-2.0.3-2.fc21
Clone Of:
Environment:
Last Closed: 2014-09-23 04:41:15 UTC
Type: ---
Embargoed:
sergio.pasra: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Jerry James 2014-09-06 02:37:54 UTC
Spec URL: https://jjames.fedorapeople.org/python-gmpy2/python-gmpy2.spec
SRPM URL: https://jjames.fedorapeople.org/python-gmpy2/python-gmpy2-2.0.3-1.fc22.src.rpm
Fedora Account System Username: jjames
Description: This package contains a C-coded Python extension module that supports multiple-precision arithmetic.  It is the successor to the original gmpy module.  The gmpy module only supported the GMP multiple-precision library.  Gmpy2 adds support for the MPFR (correctly rounded real floating-point arithmetic) and MPC (correctly rounded complex floating-point arithmetic) libraries.  It also updates the API and naming conventions to be more consistent and support the additional functionality.

Comment 1 Sergio Pascual 2014-09-12 09:47:55 UTC
Just two things,

* the BuildRequires for python2 is python2-devel instead of python-devel (to ease the future transition to python3)

http://fedoraproject.org/wiki/Packaging:Python#BuildRequires

* The sphinx documentation bundles a copy of jquery. There is a global exception for bundling jquery, but you are required to add

Provides: bundled(jquery)

so that the package can be tracked in the future if (when) jquery is unbundled

https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_temporary_exceptions

Apart of this, the package is fine

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

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


===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[-]: Development (unversioned) .so files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

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.
[-]: License file installed when any subpackage combination is installed.
[x]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: %build honors applicable compiler flags or justifies otherwise.
[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.
[-]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[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.
[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.
[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
[!]: Package contains BR: python2-devel or python3-devel
[x]: Binary eggs must be removed in %prep

===== SHOULD items =====

Generic:
[x]: Uses parallel make %{?_smp_mflags} macro.
[-]: 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.
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: 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.
[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:
[-]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[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-gmpy2-2.0.3-1.fc22.x86_64.rpm
          python3-gmpy2-2.0.3-1.fc22.x86_64.rpm
          python-gmpy2-2.0.3-1.fc22.src.rpm
python-gmpy2.x86_64: W: spelling-error %description -l en_US gmpy -> gimpy, pygmy, Pygmy
python-gmpy2.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/python-gmpy2/_static/jquery.js
python3-gmpy2.x86_64: W: spelling-error %description -l en_US gmpy -> gimpy, pygmy, Pygmy
python3-gmpy2.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/python3-gmpy2/_static/jquery.js
python-gmpy2.src: W: spelling-error %description -l en_US gmpy -> gimpy, pygmy, Pygmy
3 packages and 0 specfiles checked; 0 errors, 5 warnings.

Rpmlint (installed packages)
----------------------------
# rpmlint python-gmpy2 python3-gmpy2
python-gmpy2.x86_64: W: spelling-error %description -l en_US gmpy -> gimpy, pygmy, Pygmy
python-gmpy2.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/python-gmpy2/_static/jquery.js
python3-gmpy2.x86_64: W: spelling-error %description -l en_US gmpy -> gimpy, pygmy, Pygmy
python3-gmpy2.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/python3-gmpy2/_static/jquery.js
2 packages and 0 specfiles checked; 0 errors, 4 warnings.
# echo 'rpmlint-done:'

Requires
--------
python-gmpy2 (rpmlib, GLIBC filtered):
    libc.so.6()(64bit)
    libgmp.so.10()(64bit)
    libmpc.so.3()(64bit)
    libmpfr.so.4()(64bit)
    libpthread.so.0()(64bit)
    libpython2.7.so.1.0()(64bit)
    python(abi)
    rtld(GNU_HASH)

python3-gmpy2 (rpmlib, GLIBC filtered):
    libc.so.6()(64bit)
    libgmp.so.10()(64bit)
    libmpc.so.3()(64bit)
    libmpfr.so.4()(64bit)
    libpthread.so.0()(64bit)
    libpython3.4m.so.1.0()(64bit)
    python(abi)
    rtld(GNU_HASH)

Provides
--------
python-gmpy2:
    python-gmpy2
    python-gmpy2(x86-64)

python3-gmpy2:
    python3-gmpy2
    python3-gmpy2(x86-64)

Unversioned so-files
--------------------
python-gmpy2: /usr/lib64/python2.7/site-packages/gmpy2.so
python3-gmpy2: /usr/lib64/python3.4/site-packages/gmpy2.cpython-34m.so

Source checksums
----------------
https://pypi.python.org/packages/source/g/gmpy2/gmpy2-2.0.3.zip :
  CHECKSUM(SHA256) this package     : d2eab2d4024f13e9ab77e57636e51714b8a37fb9804024c92b48585701aa6b1a
  CHECKSUM(SHA256) upstream package : d2eab2d4024f13e9ab77e57636e51714b8a37fb9804024c92b48585701aa6b1a

Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14
Command line :/usr/bin/fedora-review -b 1138892 -m fedora-rawhide-x86_64
Buildroot used: fedora-rawhide-x86_64
Active plugins: Python, Generic, Shell-api, C/C++
Disabled plugins: Java, SugarActivity, fonts, Haskell, Ocaml, Perl, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

Comment 2 Jerry James 2014-09-12 15:02:47 UTC
Thanks for the review, Sergio.  I have changed python-devel to python2-devel, and added "Provides: bundled(jquery)" to both packages.  New URLs:

Spec URL: https://jjames.fedorapeople.org/python-gmpy2/python-gmpy2.spec
SRPM URL: https://jjames.fedorapeople.org/python-gmpy2/python-gmpy2-2.0.3-2.fc22.src.rpm

Comment 3 Sergio Pascual 2014-09-12 15:21:57 UTC
Fine! APPROVED

Comment 4 Jerry James 2014-09-12 15:52:13 UTC
New Package SCM Request
=======================
Package Name: python-gmpy2
Short Description: Python 2 interface to GMP, MPFR, and MPC
Upstream URL: https://pypi.python.org/pypi/gmpy2
Owners: jjames
Branches: f21
InitialCC:

Comment 5 Gwyn Ciesla 2014-09-12 16:50:32 UTC
Git done (by process-git-requests).

Comment 6 Fedora Update System 2014-09-12 18:25:43 UTC
python-gmpy2-2.0.3-2.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/python-gmpy2-2.0.3-2.fc21

Comment 7 Fedora Update System 2014-09-13 16:35:20 UTC
python-gmpy2-2.0.3-2.fc21 has been pushed to the Fedora 21 testing repository.

Comment 8 Fedora Update System 2014-09-23 04:41:15 UTC
python-gmpy2-2.0.3-2.fc21 has been pushed to the Fedora 21 stable repository.

Comment 9 Orion Poplawski 2015-05-21 18:29:15 UTC
Jerry - would you mind maintaining this in EPEL7?

Comment 10 Jerry James 2015-05-26 03:19:56 UTC
Same answer as for python-fastcache: I'm not really interested in maintaining epel packages, but I am totally okay with somebody branching off packages I maintain for Fedora.

Comment 11 Orion Poplawski 2015-05-26 14:42:21 UTC
Thanks for the response.

Package Change Request
======================
Package Name: python-gmpy2
New Branches: epel7
Owners: orion
InitialCC:

Comment 12 Gwyn Ciesla 2015-05-26 19:20:13 UTC
Git done (by process-git-requests).


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