Bug 2271737 - Review Request: mogui - Graphical User Interface for Environment Modules
Summary: Review Request: mogui - Graphical User Interface for Environment Modules
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Benson Muite
QA Contact: Fedora Extras Quality Assurance
URL: https://github.com/cea-hpc/mogui
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-03-27 06:57 UTC by Xavier Delaruelle
Modified: 2024-05-27 04:07 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-05-27 04:07:45 UTC
Type: ---
Embargoed:
benson_muite: fedora-review+


Attachments (Terms of Use)

Description Xavier Delaruelle 2024-03-27 06:57:48 UTC
Spec URL: https://xdelaruelle.fedorapeople.org/mogui.spec
SRPM URL: https://xdelaruelle.fedorapeople.org/mogui-0.2-1.fc38.src.rpm
Description: MoGui is a Graphical User Interface (GUI) for Environment Modules. It helps users selecting modules to load and save module collections.
Fedora Account System Username: xdelaruelle

Comment 1 Fedora Review Service 2024-03-27 07:03:42 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7220752
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2271737-mogui/fedora-rawhide-x86_64/07220752-mogui/fedora-review/review.txt

Please take a look if any issues were found.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 2 Dominique Martinet 2024-03-27 11:08:59 UTC
Hello!

A few comments, first from rpmlint:

> mogui.noarch: W: python-leftover-require python3-qt5

I couldn't find any documentation about this warning as it appears to be new.. The commit that added the warning ( https://github.com/rpm-software-management/rpmlint/pull/1022/commits/76a091814a85e13a75cea16cc862911c5b9cf6c1 ) seems to say it compares requirements.txt with requires in the rpm?
given rpmbuild automatically adds the following you can drop python3 and python3-qt5 from the requires altogether:

python(abi) = 3.12
python3.12dist(pyqt5)

> mogui.noarch: W: non-conffile-in-etc /etc/profile.d/mogui.csh
> mogui.noarch: W: non-conffile-in-etc /etc/profile.d/mogui.sh

Probably safe to ignore given other providers of profile snippets do the same; I'd have expected a /lib/profile.d to pop up by now but there doesn't seem to be any alternative at this point.

> mogui.noarch: W: no-manual-page-for-binary mogui
> mogui.noarch: W: no-manual-page-for-binary mogui-cmd
> mogui.noarch: W: no-manual-page-for-binary mogui-setup-env

Given it's a gui I guess it's not too unusual not to have a man page, but I didn't make a difference between mogui-cmd and mogui so it might warrant some documentation?


mogui.noarch: W: files-duplicate /usr/bin/mogui-cmd /usr/bin/mogui

Ah, it's the same file, that's explain why I didn't make a difference.. Do we need both?
The README doesn't mention mogui-cmd, so I'd keep just the former.



for fedora-review output, skipping automatic ok checks

[ ]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.

GPL-2.0+ is ok

[ ]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. No licenses
     found. Please check the source files for licenses manually.

Not sure why it doesn't consider %license COPYING.GPLv2.. ok.


[ ]: Package requires other packages for directories it uses.
     Note: No known owner of /etc/profile.d, /usr, /usr/lib/python3.12,
     /usr/share, /usr/bin, /usr/share/licenses, /usr/lib,
     /usr/lib/python3.12/site-packages, /usr/share/doc, /etc,
     /usr/share/fish, /usr/share/fish/vendor_conf.d
[ ]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/licenses,
     /etc/profile.d, /usr/share/doc, /etc, /usr/share, /usr/share/fish,
     /usr/share/fish/vendor_conf.d, /usr, /usr/lib/python3.12, /usr/lib,
     /usr/lib/python3.12/site-packages, /usr/bin


I don't see other packages adding these directories so it's probably fine?

[ ]: Package contains no bundled libraries without FPC exception.

ok

[ ]: Changelog in prescribed format.

Looks correct to me!

[ ]: Sources contain only permissible code or content.

Not sure what wouldn't bee permissible here..

[ ]: Package contains desktop file if it is a GUI application.

There's none -- should we add one?

[ ]: Development files must be in a -devel package

None so that's ok.

[ ]: Package uses nothing in %doc for runtime.

ok.

[ ]: Package consistently uses macros (instead of hard-coded directory
     names).

ok.

[ ]: Package is named according to the Package Naming Guidelines.

https://docs.fedoraproject.org/en-US/packaging-guidelines/Naming/ - looks ok.

[ ]: Package does not generate any conflict.

installed ok on my bloated system, not sure how to check otherwise?

[ ]: Package obeys FHS, except libexecdir and /usr/target.

yese

[ ]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.

not applicable

[ ]: Requires correct, justified where necessary.

already pointed out to remove them

[ ]: Spec file is legible and written in American English.

yes

[ ]: Package contains systemd file(s) if in need.

not needed

[ ]: Package is not known to require an ExcludeArch tag.

noarch, so ok.

[ ]: Binary eggs must be removed in %prep
     Note: Cannot find any build in BUILD directory (--prebuilt option?)

no such egg

[ ]: Python eggs must not download any dependencies during the build
     process.

built in mock so without network just fine

[ ]: A package which is used by another package via an egg interface should
     provide egg info.

not used.

[ ]: Package meets the Packaging Guidelines::Python

https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/
looks ok to me at first glance

[!]: Reviewer should test that the package builds in mock.

Not sure why this is marked as fail, worked here.

[ ]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.

text is included

[ ]: Final provides and requires are sane (see attachments).

yes

[ ]: Package functions as described.

seems to work from quick test

[ ]: Latest version is packaged.

I'll assume that's a yes

[ ]: Package does not include license text files separate from upstream.

yes

[ ]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.

I assume no signature upstream ?

[ ]: Package should compile and build into binary rpms on all supported
     architectures.

noarch, so ok.

[ ]: %check is present and all tests pass.

no check, but it's hard to check a gui...

[ ]: Packages should try to preserve timestamps of original installed
     files.

not sure how that'd work for python, pass.

[ ]: Spec use %global instead of %define unless justified.
     Note: %define requiring justification: %define srcname modules-gui

I guess that one should be changed to %global.


The spec itself is small enough and I didn't see anything else obviously wrong with it

Comment 3 Xavier Delaruelle 2024-03-29 06:12:07 UTC
Hello,

Many thanks Dominique for this review. I have released a new version (0.2.1) that fix the issues you have spotted.

Spec URL: https://xdelaruelle.fedorapeople.org/mogui.spec
SRPM URL: https://xdelaruelle.fedorapeople.org/mogui-0.2.1-2.fc38.src.rpm

Details of the changes made:

(In reply to Dominique Martinet from comment #2)
> > mogui.noarch: W: python-leftover-require python3-qt5
> 
> I couldn't find any documentation about this warning as it appears to be
> new.. The commit that added the warning (
> https://github.com/rpm-software-management/rpmlint/pull/1022/commits/
> 76a091814a85e13a75cea16cc862911c5b9cf6c1 ) seems to say it compares
> requirements.txt with requires in the rpm?
> given rpmbuild automatically adds the following you can drop python3 and
> python3-qt5 from the requires altogether:
> 
> python(abi) = 3.12
> python3.12dist(pyqt5)

fixed


> Given it's a gui I guess it's not too unusual not to have a man page, but I
> didn't make a difference between mogui-cmd and mogui so it might warrant
> some documentation?
> 
> 
> mogui.noarch: W: files-duplicate /usr/bin/mogui-cmd /usr/bin/mogui
> 
> Ah, it's the same file, that's explain why I didn't make a difference.. Do
> we need both?
> The README doesn't mention mogui-cmd, so I'd keep just the former.

I have removed "mogui". The profile.d script defines a "mogui" shell function (like environment-modules does). This shell function relies on the "mogui-cmd" script (cannot call "mogui" otherwise the shell function will call itself recursively)

> [ ]: Package requires other packages for directories it uses.
>      Note: No known owner of /etc/profile.d, /usr, /usr/lib/python3.12,
>      /usr/share, /usr/bin, /usr/share/licenses, /usr/lib,
>      /usr/lib/python3.12/site-packages, /usr/share/doc, /etc,
>      /usr/share/fish, /usr/share/fish/vendor_conf.d
> [ ]: Package must own all directories that it creates.
>      Note: Directories without known owners: /usr/share/licenses,
>      /etc/profile.d, /usr/share/doc, /etc, /usr/share, /usr/share/fish,
>      /usr/share/fish/vendor_conf.d, /usr, /usr/lib/python3.12, /usr/lib,
>      /usr/lib/python3.12/site-packages, /usr/bin
> 
> 
> I don't see other packages adding these directories so it's probably fine?

yes, this package cannot own directories used by many other packages


> [ ]: Package contains desktop file if it is a GUI application.
> 
> There's none -- should we add one?

I have added one

> [ ]: Sources are verified with gpgverify first in %prep if upstream
>      publishes signatures.
>      Note: gpgverify is not used.
> 
> I assume no signature upstream ?

No signature upstream

> [ ]: %check is present and all tests pass.
> 
> no check, but it's hard to check a gui...

The basic "%pyproject_check_import" test is there

> [ ]: Spec use %global instead of %define unless justified.
>      Note: %define requiring justification: %define srcname modules-gui
> 
> I guess that one should be changed to %global.

Fixed

Best regards,
Xavier

Comment 4 Benson Muite 2024-03-29 18:01:48 UTC
Issues:
=======
- Package installs a %{name}.desktop using desktop-file-install or desktop-
  file-validate if there is such a file.
- Sources used to build the package match the upstream source, as provided
  in the spec URL.
  Note: Upstream MD5sum check error, diff is in
  /home/fedora/2271737-mogui/diff.txt
  See: https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/


===== 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: "GNU General Public License, Version 2", "Unknown or
     generated", "*No copyright* GNU General Public License v2.0 or later",
     "*No copyright* GNU General Public License, Version 2", "GNU General
     Public License v2.0 or later", "*No copyright* GNU Lesser General
     Public License". 27 files have unknown license. Detailed output of
     licensecheck in /home/fedora/2271737-mogui/licensecheck.txt
[ ]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/lib/python3.12/site-packages,
     /usr/share/fish/vendor_conf.d, /usr/lib/python3.12
[ ]: Package must own all directories that it creates.
     Note: Directories without known owners: /etc/profile.d
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: 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 48029 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]: The License field must be a valid SPDX expression.
[x]: Package does not own files or directories owned by other packages.
[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 contains desktop file if it is a GUI application.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package must not depend on deprecated() packages.
[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]: 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:
[-]: Binary eggs must be removed in %prep
     Note: Cannot find any build in BUILD directory (--prebuilt option?)
[-]: Python eggs must not download any dependencies during the build
     process.
[-]: A package which is used by another package via an egg interface should
     provide egg info.
[ ]: Package meets the Packaging Guidelines::Python
[x]: Package contains BR: python2-devel or python3-devel
[x]: Packages MUST NOT have dependencies (either build-time or runtime) on
     packages named with the unversioned python- prefix unless no properly
     versioned package exists. Dependencies on Python packages instead MUST
     use names beginning with python2- or python3- as appropriate.
[x]: Python packages must not contain %{pythonX_site(lib|arch)}/* in %files

===== 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).
[ ]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.
[ ]: 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.
[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.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[!]: Spec file according to URL is the same as in SRPM.
     Note: Bad spec filename: /home/fedora/2271737-mogui/srpm-
     unpacked/mogui.spec
     See: (this test has no URL)
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).


Rpmlint
-------
Checking: mogui-0.2.1-2.fc41.noarch.rpm
          mogui-0.2.1-2.fc41.src.rpm
============================ rpmlint session starts ============================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
rpmlintrc: [PosixPath('/tmp/tmpoysw305w')]
checks: 32, packages: 2

mogui.noarch: W: non-conffile-in-etc /etc/profile.d/mogui.csh
mogui.noarch: W: non-conffile-in-etc /etc/profile.d/mogui.sh
mogui.noarch: W: no-manual-page-for-binary mogui-cmd
mogui.noarch: W: no-manual-page-for-binary mogui-setup-env
 2 packages and 0 specfiles checked; 0 errors, 4 warnings, 8 filtered, 0 badness; has taken 0.3 s 




Rpmlint (installed packages)
----------------------------
============================ rpmlint session starts ============================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 1

mogui.noarch: W: non-conffile-in-etc /etc/profile.d/mogui.csh
mogui.noarch: W: non-conffile-in-etc /etc/profile.d/mogui.sh
mogui.noarch: W: no-manual-page-for-binary mogui-cmd
mogui.noarch: W: no-manual-page-for-binary mogui-setup-env
 1 packages and 0 specfiles checked; 0 errors, 4 warnings, 4 filtered, 0 badness; has taken 0.1 s 



Source checksums
----------------
https://files.pythonhosted.org/packages/source/m/modules-gui/modules-gui-0.2.1.tar.gz :
  CHECKSUM(SHA256) this package     : ee38ecc7acc84eecf89949cdd10ea0e8d6250d3b63d2b94dbd6256f39b9d6939
  CHECKSUM(SHA256) upstream package : 6e586a9ddf2a57873727dbb5526269fc4d3425361e8485724cd6d71f274c8b27
diff -r also reports differences


Requires
--------
mogui (rpmlib, GLIBC filtered):
    /usr/bin/python3
    environment-modules
    python(abi)
    python3.12dist(pyqt5)



Provides
--------
mogui:
    application()
    application(mogui.desktop)
    environment-modules-gui
    mogui
    python3.12dist(modules-gui)
    python3dist(modules-gui)



Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24
Command line :/usr/bin/fedora-review -b 2271737
Buildroot used: fedora-rawhide-aarch64
Active plugins: Shell-api, Python, Generic
Disabled plugins: fonts, R, Ocaml, Java, C/C++, PHP, Perl, SugarActivity, Haskell
Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH

Comments:
a) Provides section is not needed.
b) Use desktop-file-install to install the desktop file
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_desktop_file_install_usage
c) An appdata file is also needed:
https://docs.fedoraproject.org/en-US/packaging-guidelines/AppData/
d) License file and README file are duplicated, though only once license file has license
metadata associated to it.

Comment 5 Xavier Delaruelle 2024-03-31 14:53:10 UTC
Hello,

Many thanks Benson for your review. I have released a new version (0.2.2) that fix the issues you have spotted.

Spec URL: https://xdelaruelle.fedorapeople.org/mogui.spec
SRPM URL: https://xdelaruelle.fedorapeople.org/mogui-0.2.2-1.fc38.src.rpm

Changes:
- Test desktop file
- Add AppData file and test it
- Remove environment-modules-gui provides
- Clarify license used for icon files (CC-BY-SA-3.0)

Regards,
Xavier

Comment 6 Xavier Delaruelle 2024-04-08 05:00:59 UTC
Hello Benson,

Is the packaging ok now I have fixed the issues you spotted?

Regards,
Xavier

Comment 7 Benson Muite 2024-04-26 19:10:20 UTC
Package Review
==============

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


Issues:
=======
- Sources used to build the package match the upstream source, as provided
  in the spec URL.
  Note: Upstream MD5sum check error, diff is in
  /home/fedora/2271737-mogui/diff.txt
  See: https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/


===== 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: "Unknown or generated", "GNU General Public License, Version
     2", "*No copyright* GNU General Public License v2.0 or later", "*No
     copyright* GNU General Public License, Version 2", "GNU General Public
     License v2.0 or later". 29 files have unknown license. Detailed output
     of licensecheck in /home/fedora/2271737-mogui/licensecheck.txt
[x]: If the package is under multiple licenses, the licensing breakdown
     must be documented in the spec.
[ ]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/share/fish/vendor_conf.d,
     /usr/lib/python3.12/site-packages, /usr/lib/python3.12
[ ]: Package must own all directories that it creates.
     Note: Directories without known owners: /etc/profile.d
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: 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 49417 bytes in 3 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 %license.
[x]: The License field must be a valid SPDX expression.
[x]: Package does not own files or directories owned by other packages.
[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 contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or
     desktop-file-validate if there is such a file.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package must not depend on deprecated() packages.
[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]: 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:
[-]: Binary eggs must be removed in %prep
     Note: Cannot find any build in BUILD directory (--prebuilt option?)
[-]: Python eggs must not download any dependencies during the build
     process.
[-]: 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]: Packages MUST NOT have dependencies (either build-time or runtime) on
     packages named with the unversioned python- prefix unless no properly
     versioned package exists. Dependencies on Python packages instead MUST
     use names beginning with python2- or python3- as appropriate.
[x]: Python packages must not contain %{pythonX_site(lib|arch)}/* in %files

===== 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).
[ ]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.
[x]: 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]: 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.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[!]: Spec file according to URL is the same as in SRPM.
     Note: Bad spec filename: /home/fedora/2271737-mogui/srpm-
     unpacked/mogui.spec
     See: (this test has no URL)
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).


Rpmlint
-------
Checking: mogui-0.2.2-1.fc41.noarch.rpm
          mogui-0.2.2-1.fc41.src.rpm
============================ rpmlint session starts ============================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
rpmlintrc: [PosixPath('/tmp/tmpmaw04zod')]
checks: 32, packages: 2

mogui.noarch: W: non-conffile-in-etc /etc/profile.d/mogui.csh
mogui.noarch: W: non-conffile-in-etc /etc/profile.d/mogui.sh
mogui.noarch: W: no-manual-page-for-binary mogui-cmd
mogui.noarch: W: no-manual-page-for-binary mogui-setup-env
 2 packages and 0 specfiles checked; 0 errors, 4 warnings, 8 filtered, 0 badness; has taken 0.3 s 




Rpmlint (installed packages)
----------------------------
============================ rpmlint session starts ============================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 1

mogui.noarch: W: non-conffile-in-etc /etc/profile.d/mogui.csh
mogui.noarch: W: non-conffile-in-etc /etc/profile.d/mogui.sh
mogui.noarch: W: no-manual-page-for-binary mogui-cmd
mogui.noarch: W: no-manual-page-for-binary mogui-setup-env
 1 packages and 0 specfiles checked; 0 errors, 4 warnings, 4 filtered, 0 badness; has taken 0.1 s 



Source checksums
----------------
https://files.pythonhosted.org/packages/source/m/modules-gui/modules-gui-0.2.2.tar.gz :
  CHECKSUM(SHA256) this package     : 3b02cebcc455f1e0593d4116e6435065a9814c4c72201dce3b589719e3efee45
  CHECKSUM(SHA256) upstream package : 9b0b1a5aecff5db30e214d0e193cb2db6f35f89c672adf0267d00f9967512cc1
diff -r also reports differences


Requires
--------
mogui (rpmlib, GLIBC filtered):
    /usr/bin/python3
    environment-modules
    python(abi)
    python3.12dist(pyqt5)



Provides
--------
mogui:
    application()
    application(mogui.desktop)
    metainfo()
    metainfo(mogui.metainfo.xml)
    mogui
    python3.12dist(modules-gui)
    python3dist(modules-gui)



Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24
Command line :/usr/bin/fedora-review -b 2271737
Buildroot used: fedora-rawhide-aarch64
Active plugins: Python, Shell-api, Generic
Disabled plugins: Java, PHP, R, Haskell, C/C++, Perl, fonts, Ocaml, SugarActivity
Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH

Comments:
a) Please use the release available at https://pypi.org/project/modules-gui/#files
b) License files are duplicated
/usr/share/licenses/mogui/COPYING-ICONS.CCBYSA3
/usr/share/licenses/mogui/COPYING.GPLv2
and
/usr/lib/python3.12/site-packages/modules_gui-0.2.2.dist-info/COPYING-ICONS.CCBYSA3
/usr/lib/python3.12/site-packages/modules_gui-0.2.2.dist-info/COPYING.GPLv2

but only one set has metadata information:
$ rpm -qL mogui-0.2.2-1.fc41.noarch.rpm
/usr/share/licenses/mogui/COPYING-ICONS.CCBYSA3
/usr/share/licenses/mogui/COPYING.GPLv2

Changing the spec file to have:

%files -n mogui -f %{pyproject_files}
%doc ChangeLog README.md TODO.md
%{_bindir}/%{name}-cmd
%{_bindir}/%{name}-setup-env
%{_sysconfdir}/profile.d/%{name}.csh
%{_sysconfdir}/profile.d/%{name}.sh
%{_datadir}/fish/vendor_conf.d/%{name}.fish
%{_datadir}/applications/%{name}.desktop
%{_datadir}/pixmaps/%{name}.svg
%{_metainfodir}/%{name}.metainfo.xml

gives:
$ rpm -qL mogui-0.2.2-1.fc41.noarch.rpm
/usr/lib/python3.12/site-packages/modules_gui-0.2.2.dist-info/COPYING-ICONS.CCBYSA3
/usr/lib/python3.12/site-packages/modules_gui-0.2.2.dist-info/COPYING.GPLv2

c) Directory ownership problems seem to be errors with Fedora-review

Comment 8 Xavier Delaruelle 2024-05-25 15:32:25 UTC
Hello Benson,

Many thanks for your second round of review. I have updated spec file (0.2.2-2) to handle the issues you have pointed.

Spec URL: https://xdelaruelle.fedorapeople.org/mogui.spec
SRPM URL: https://xdelaruelle.fedorapeople.org/mogui-0.2.2-2.fc40.src.rpm

Changes:
- Fix duplicated license files
- Use correct source tarball archive

Please let me know if everything is ok now.

Regards,
Xavier

Comment 9 Benson Muite 2024-05-25 18:06:37 UTC
[fedora-review-service-build]

Comment 10 Fedora Review Service 2024-05-25 23:52:54 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7492443
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2271737-mogui/fedora-rawhide-x86_64/07492443-mogui/fedora-review/review.txt

Please take a look if any issues were found.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 11 Fedora Review Service 2024-05-25 23:54:25 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7492429
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2271737-mogui/fedora-rawhide-x86_64/07492429-mogui/fedora-review/review.txt

Please take a look if any issues were found.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 12 Benson Muite 2024-05-26 07:09:44 UTC
Koji build:
https://koji.fedoraproject.org/koji/taskinfo?taskID=118104903

Thanks. Seems ok. Approved.

Comment 13 Fedora Admin user for bugzilla script actions 2024-05-26 18:30:46 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/mogui


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