[Bug 1641203] Review Request: freecell-solver - a library for solving some solitaire variants

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=1641203



--- Comment #17 from Neal Gompa <ngompa13@xxxxxxxxx> ---
(In reply to Neal Gompa from comment #16)
> Package Review
> ==============
> 
> Legend:
> [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
> 
> 
> ===== MUST items =====
> 
> C/C++:
> [x]: Package does not contain kernel modules.
> [x]: Package contains no static executables.
> [!]: Rpath absent or only used for internal libs.
>      Note: See rpmlint output

Rpath usage is generally forbidden in Fedora.

Cf. https://fedoraproject.org/wiki/Packaging:Guidelines#Beware_of_Rpath

> [x]: Package does not contain any libtool archives (.la)
> [x]: Development (unversioned) .so files in -devel subpackage, if present.
> 
> 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.
> [!]: 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.

The license files "COPYING.*" should be installed with the library package and
the main binaries.

Cf. https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#License_Text

> [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)", "ISC", "LGPL (v3 or later)", "Unknown or
>      generated", "BSD (2 clause)". 461 files have unknown license. Detailed
>      output of licensecheck in /home/makerpm/1641203-freecell-
>      solver/licensecheck.txt
> [!]: License file installed when any subpackage combination is installed.

The license files "COPYING.*" should be installed with the library package and
the main binaries.

Cf. https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#License_Text

> [!]: Package requires other packages for directories it uses.
>      Note: No known owner of /usr/include/freecell-solver
> [!]: Package must own all directories that it creates.
>      Note: Directories without known owners: /usr/include/freecell-solver

This directory needs to be owned by the devel subpackage.

> [x]: Package does not own files or directories owned by other packages.
> [x]: %build honors applicable compiler flags or justifies otherwise.
> [x]: Package contains no bundled libraries without FPC exception.
> [!]: Changelog in prescribed format.

The version referenced in the changelog entry is wrong, but easily fixable.

> [x]: Sources contain only permissible code or content.
> [-]: Package contains desktop file if it is a GUI application.
> [x]: 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]: 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.
>      Note: Documentation size is 10240 bytes in 1 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]: 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]: 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).
> [x]: 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.
> [x]: 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.
> [!]: Spec use %global instead of %define unless justified.
>      Note: %define requiring justification: %define major 0

%global is preferred over %define for various reasons, please evaluate and
adjust.

Cf.
https://fedoraproject.org/wiki/Packaging:Guidelines#.25global_preferred_over_.25define

> [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]: The placement of pkgconfig(.pc) files are correct.
> [x]: Sources can be downloaded from URI in Source: tag
> [x]: SourceX is a working URL.
> 
> ===== EXTRA items =====
> 
> Generic:
> [x]: Rpmlint is run on debuginfo package(s).
>      Note: No rpmlint messages.
> [x]: Rpmlint is run on all installed packages.
>      Note: There are rpmlint messages (see attachment).
> [x]: Large data in /usr/share should live in a noarch subpackage if package
>      is arched.
> [x]: Spec file according to URL is the same as in SRPM.
> 
> 
> 
> Rpmlint (installed packages)
> ----------------------------
> sh: /usr/bin/python: No such file or directory
> libfreecell-solver.x86_64: E: binary-or-shlib-defines-rpath
> /usr/lib64/libfreecell-solver.so.0.6.0 ['/usr/lib64']

Please get rid of the mandatory RPATH in your binaries and libraries:
https://fedoraproject.org/wiki/Packaging:Guidelines#Beware_of_Rpath

> libfreecell-solver.x86_64: W: no-documentation
> libfreecell-solver-devel.x86_64: W: spelling-error %description -l en_US
> Freecell -> Free cell, Free-cell, Freelance
> libfreecell-solver-devel.x86_64: W: no-documentation
> freecell-solver.x86_64: W: spelling-error %description -l en_US fc -> cf,
> dc, f
> freecell-solver.x86_64: W: incoherent-version-in-changelog 4.20.0-1
> ['5.0.0-1.fc30', '5.0.0-1']

This is a simple oversight that I think you can easily fix.

> freecell-solver.x86_64: E: binary-or-shlib-defines-rpath /usr/bin/fc-solve
> ['/usr/lib64']
> freecell-solver.x86_64: E: binary-or-shlib-defines-rpath
> /usr/bin/freecell-solver-fc-pro-range-solve ['/usr/lib64']
> freecell-solver.x86_64: E: binary-or-shlib-defines-rpath
> /usr/bin/freecell-solver-multi-thread-solve ['/usr/lib64']
> freecell-solver.x86_64: E: binary-or-shlib-defines-rpath
> /usr/bin/freecell-solver-range-parallel-solve ['/usr/lib64']
> freecell-solver.x86_64: E: binary-or-shlib-defines-rpath
> /usr/bin/pi-make-microsoft-freecell-board ['/usr/lib64']

Please get rid of the mandatory RPATH in your binaries and libraries:
https://fedoraproject.org/wiki/Packaging:Guidelines#Beware_of_Rpath

> freecell-solver.x86_64: W: no-manual-page-for-binary
> find-freecell-deal-index.py
> freecell-solver.x86_64: W: no-manual-page-for-binary
> freecell-solver-fc-pro-range-solve
> freecell-solver.x86_64: W: no-manual-page-for-binary
> freecell-solver-multi-thread-solve
> freecell-solver-data.noarch: W: no-documentation
> freecell-solver-data.noarch: E: wrong-script-interpreter
> /usr/lib/python3.7/site-packages/fc_solve_find_index_s2ints.py /usr/bin/env
> python3
> freecell-solver-data.noarch: E: non-executable-script
> /usr/lib/python3.7/site-packages/fc_solve_find_index_s2ints.py 644
> /usr/bin/env python3

This needs to be fixed. Please make sure that any scripts on install have their
shebangs set to the system interpreter.

> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/abra-kadabra.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/amateur-star.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/blue-yonder.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/children-playing-ball.sh 644 /bin/bash 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/conspiracy-theory.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/cookie-monster.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/cool-jives.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/crooked-nose.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/enlightened-ostrich.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/fools-gold.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/foss-nessy.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/gooey-unknown-thing.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/hello-world.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/john_galt_line-500.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/looking-glass.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/maliciously-obscure.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/micro-finance-improved.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/micro-finance.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/one-big-family.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/qualified-seed.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/rin-tin-tin.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/sand-stone.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/sentient-pearls.sh 644 /bin/bash 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/tea-for-two.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/the-iglu-cabal.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/three-eighty.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/toons-for-twenty-somethings.sh 644
> /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/video-editing.sh 644 /bin/sh 
> freecell-solver-data.noarch: E: non-executable-script
> /usr/share/freecell-solver/presets/yellow-brick-road.sh 644 /bin/sh 

This is fine to ignore.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux