Spec URL: http://guaix.fis.ucm.es/~spr/python-kapteyn.spec SRPM URL: http://guaix.fis.ucm.es/~spr/python-kapteyn-2.2-1.fc19.src.rpm Description: The Kapteyn Package is a collection of Python modules and applications developed by the computer group of the Kapteyn Astronomical Institute, University of Groningen, The Netherlands. The purpose of the package is to provide tools for the development of astronomical applications with Python. Fedora Account System Username: sergiopr
I will make a review (my sponsor will approve the package once it's OK)
1. Package builds correctly with mock. 2. rpmlint output: Rpmlint ------- Checking: python-kapteyn-2.2-1.fc19.x86_64.rpm python-kapteyn-doc-2.2-1.fc19.noarch.rpm python-kapteyn.x86_64: W: spelling-error %description -l en_US Groningen -> Ironing, Grounding, Contingent python-kapteyn.x86_64: W: non-standard-group Unspecified 2 packages and 0 specfiles checked; 0 errors, 2 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint python-kapteyn-doc python-kapteyn 2 packages and 0 specfiles checked; 0 errors, 0 warnings. - The 'spelling-error' warrning is a false positive. - please add a Group: tag 3. you could add some comments about what the patch is doing 4. the package name is not the same as the upstream tarball but it is reasonable so I think it is OK 5. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable MUST [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. [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]: %build honours 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. [x]: 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 is not known to require ExcludeArch. [-]: Fully versioned dependency in subpackages, if present. [x]: Package complies to the Packaging Guidelines [x]: License field in the package spec file matches the actual license. [x]: License file installed when any subpackage combination is installed. [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. [x]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory. [x]: Package does not own files or directories owned by other packages. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [x]: Useful -debuginfo package or justification otherwise. [x]: Large documentation must go in a -doc subpackage. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [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]: 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 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 [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. 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 Generic: [x]: 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. [ ]: Patches link to upstream bugs/comments/lists or are otherwise justified. [x]: Package should compile and build into binary rpms on all supported architectures. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [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. Generic: [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Rpmlint is run on all installed packages. [x]: Spec file according to URL is the same as in SRPM.
Thanks for the review! Group tag is optional, for EPEL compatibility https://fedoraproject.org/wiki/Packaging:Guidelines#Group_tag Addon packages should preappend the "parent" (python in this case), name https://fedoraproject.org/wiki/Packaging:NamingGuidelines?rd=Packaging/NamingGuidelines#Addon_Packages_.28General.29
Fedora never asks packagers to include a group tag, and because group tag is becoming more and more useless, you can safely drop it.
I was wrong, you're absolutely right the Group: tag is optional for Fedora
Thanks for the initial review, Michał. Some comments from me below: Is the package not compatible with python3? If it is, please build the python3 version as well. I noticed this in the build log: /usr/lib64/python2.7/site-packages/numpy/core/include/numpy/npy_deprecated_api.h:11:2: warning: #warning "Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp] #warning "Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" This warning appears a number of times, please report this upstream. It looks like the following MINPACK-derived code (mpfit.[ch]) is bundled: http://cow.physics.wisc.edu/~craigm/idl/fitting.html It appears to come originally from: http://www.netlib.org/minpack/ and http://people.sc.fsu.edu/~jburkardt/f_src/minpack/minpack.html Please unbundle and package separately if possible or request a bundling exception from FPC. Another bundled code is ndimage from scipy (src/ndimg), which is available in Fedora. Please remove src/ndimg in %prep as well and build against system library.
Looks like kapteyn/_ni_support.py is taken from scipy as well.
Hi, regarding mpfit, the original code is here: http://cow.physics.wisc.edu/~craigm/idl/cmpfit.html The code has been modified to interface with Python. The number and types of the arguments is different in the included mpfit.c and in the upstream mpfit.c Even if cmpfit gets packaged, kapteyn will need it's own version. Is this still considered bundling?
You might have to raise an exception at FPC if needed.
A lot is documented in the guidelines. In particular, these two apply: https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Forking https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Exceptions The second one asks many questions. Try to get some answers.
I've unbundled the scipy bits and request an exception for cmpfit. No more work until I come back from my vacation period... https://fedorahosted.org/fpc/ticket/326
I'm not interested in this package anymore, so I'm going to close the ticket