Spec URL: https://copr-be.cloud.fedoraproject.org/results/ansasaki/python-symver-smap/fedora-rawhide-x86_64/00768283-python-symver-smap/python-symver-smap.spec SRPM URL: https://copr-be.cloud.fedoraproject.org/results/ansasaki/python-symver-smap/fedora-rawhide-x86_64/00768283-python-symver-smap/python-symver-smap-0.2.4-1.fc29.src.rpm Description: This script allows to generate and update symbol version linker scripts which adds version information to the exported symbols. The script is intended to be integrated as part of a shared library build to check for changes in the set of exported symbols and update the symbol version linker script accordingly. Copr build: https://copr.fedorainfracloud.org/coprs/ansasaki/python-symver-smap/build/768283/ Koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=27699000 Fedora Account System Username: ansasaki
Note that I am not a packager yet and this is an informal review. Some issues that are worth considering: 1) This package conflicts with slurm-gui package. (/usr/bin/smap) 2) %{python3_sitelib}/* is not nice, you might end up owning %{python3_sitelib}/__pycache__ for example. Since you do not install any top-level cache, this is not the case, but you never know what future versions will bring. You could do something like %{python3_sitelib}/smap/*, which is more acceptable. 3) %check, perhaps you could package the test dependency first or skip the failing part of tests? (this will probably will not be required to accept the package, but it would be nice to have working tests) 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: "MIT/X11 (BSD like)", "Unknown or generated". 210 files have unknown license. Detailed output of licensecheck in /home/mplch/reviews/1592254-python-symver-smap/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [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. [!]: 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. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 20480 bytes in 3 files. [!]: 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 %license. [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]: Dist tag is present. [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 does not use a name that already exists. [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: [x]: 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). [-]: 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. [x]: 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. [!]: Spec use %global instead of %define unless justified. Note: %define requiring justification: %define module_name symver-smap [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]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. ===== 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-symver-smap-0.2.4-1.fc29.noarch.rpm python-symver-smap-doc-0.2.4-1.fc29.noarch.rpm python-symver-smap-0.2.4-1.fc29.src.rpm python3-symver-smap.noarch: W: spelling-error Summary(en_US) versioning -> versifying, version, overseeing python3-symver-smap.noarch: W: no-manual-page-for-binary smap python-symver-smap-doc.noarch: W: summary-not-capitalized C python-symver-smap documentation python-symver-smap-doc.noarch: W: file-not-utf8 /usr/share/doc/python-symver-smap-doc/html/objects.inv python-symver-smap.src: W: spelling-error Summary(en_US) versioning -> versifying, version, overseeing python-symver-smap.src:21: W: macro-in-comment %{py3_dist python-symver-smap.src:62: W: macro-in-comment %check python-symver-smap.src:63: W: macro-in-comment %{__python3} python-symver-smap.src: E: specfile-error warning: Macro expanded in comment on line 21: %{py3_dist pytest-console-scripts} 3 packages and 0 specfiles checked; 1 errors, 8 warnings. Rpmlint (installed packages) ---------------------------- sh: /usr/bin/python: No such file or directory python-symver-smap-doc.noarch: W: summary-not-capitalized C python-symver-smap documentation python-symver-smap-doc.noarch: W: file-not-utf8 /usr/share/doc/python-symver-smap-doc/html/objects.inv python3-symver-smap.noarch: W: spelling-error Summary(en_US) versioning -> versifying, version, overseeing python3-symver-smap.noarch: W: no-manual-page-for-binary smap 2 packages and 0 specfiles checked; 0 errors, 4 warnings.
> Some issues that are worth considering: > 1) This package conflicts with slurm-gui package. (/usr/bin/smap) Ouch! I was not aware of this package. I will find a solution soon (probably renaming the executable) 2) %{python3_sitelib}/* is not nice, you might end up owning %{python3_sitelib}/__pycache__ for example. Since you do not install any top-level cache, this is not the case, but you never know what future versions will bring. You could do something like %{python3_sitelib}/smap/*, which is more acceptable. Agreed. I missed that on the Fedora Python Packaging Guidelines, more specifically https://fedoraproject.org/wiki/Packaging:Python#Byte_compiling. It says explicitly that you should not do that. I'll fix it. 3) %check, perhaps you could package the test dependency first or skip the failing part of tests? (this will probably will not be required to accept the package, but it would be nice to have working tests) Agreed. I am working with the upstream developer to package the test dependency. So this will probably be blocked until I finish packaging it.
(In reply to Anderson Sasaki from comment #2) > > Some issues that are worth considering: > > 1) This package conflicts with slurm-gui package. (/usr/bin/smap) > > Ouch! I was not aware of this package. I will find a solution soon (probably > renaming the executable) The upstream was changed to generate 2 copy binaries in the new 0.2.5 release: smap and symver-smap. smap is now deleted in the install process, leaving only symver-smap ins /usr/bin/ > > 2) %{python3_sitelib}/* is not nice, you might end up owning > %{python3_sitelib}/__pycache__ for example. Since you do not install any > top-level cache, this is not the case, but you never know what future > versions will bring. You could do something like %{python3_sitelib}/smap/*, > which is more acceptable. > > Agreed. I missed that on the Fedora Python Packaging Guidelines, more > specifically https://fedoraproject.org/wiki/Packaging:Python#Byte_compiling. > It says explicitly that you should not do that. I'll fix it. Fixed this to include only the content of the smap subdirectory and the egg-info directory. > > 3) %check, perhaps you could package the test dependency first or skip the > failing part of tests? (this will probably will not be required to accept > the package, but it would be nice to have working tests) > > Agreed. I am working with the upstream developer to package the test > dependency. So this will probably be blocked until I finish packaging it. Since the pytest-console-scripts upstream developer is taking too long to change its testing, I've added a patch to disable the tests depending on pytest-console-scripts. The rest of the test suite is run on %check. When pytest-console-scripts is available in Fedora, this patch can be dropped. Summary of changes: * Changed version to symver-smap-0.2.5 * Disabled tests depending on pytest-console-scripts by a downstream patch * Included only %{python3_sitelib}/smap and %{python3_sitelib}/symver_smap-%{version}-py%{python3_version}.egg-info * Fixed PYTHONPATH when generating documentation with sphinx (previously the generated documentation were incomplete) New URLs: Spec URL: https://copr-be.cloud.fedoraproject.org/results/ansasaki/python-symver-smap/fedora-rawhide-x86_64/00781057-python-symver-smap/python-symver-smap.spec SRPM URL: https://copr-be.cloud.fedoraproject.org/results/ansasaki/python-symver-smap/fedora-rawhide-x86_64/00781057-python-symver-smap/python-symver-smap-0.2.5-1.fc29.src.rpm Copr build: https://copr.fedorainfracloud.org/coprs/ansasaki/python-symver-smap/build/781057/ Koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=28618195 Fedora Account System Username: ansasaki
This was replaced by https://bugzilla.redhat.com/show_bug.cgi?id=1612551 This request is no longer valid. *** This bug has been marked as a duplicate of bug 1612551 ***