Bug 1187030 - Review Request: giza - scientific plotting library for C/Fortran
Summary: Review Request: giza - scientific plotting library for C/Fortran
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Benson Muite
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: FE-NEEDSPONSOR FE-SCITECH
TreeView+ depends on / blocked
 
Reported: 2015-01-29 08:35 UTC by Joachim Frieben
Modified: 2024-02-26 17:29 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-06-27 16:29:28 UTC
Type: ---
Embargoed:
benson_muite: fedora-review?


Attachments (Terms of Use)
Sample spec file from https://build.opensuse.org/package/show/home:zhonghuaren/giza (1.18 KB, text/plain)
2015-01-29 08:38 UTC, Joachim Frieben
no flags Details
Sample SRPM from https://build.opensuse.org/package/show/home:zhonghuaren/giza (140.74 KB, application/octet-stream)
2015-01-29 08:39 UTC, Joachim Frieben
no flags Details

Description Joachim Frieben 2015-01-29 08:35:40 UTC
Giza is an open, lightweight scientific plotting library built on top of cairo that provides uniform output to multiple devices. Provides uniform output to PDF, PS, PNG and X-Windows. Written in C with no dependencies (other than cairo) as a direct replacement for PGPLOT.

Comment 1 Joachim Frieben 2015-01-29 08:38:28 UTC
Created attachment 985455 [details]
Sample spec file from https://build.opensuse.org/package/show/home:zhonghuaren/giza

Spec file for release 0.7.6 of giza. Current version is 0.9.2.

Comment 2 Joachim Frieben 2015-01-29 08:39:17 UTC
Created attachment 985456 [details]
Sample SRPM from https://build.opensuse.org/package/show/home:zhonghuaren/giza

Comment 3 Florian "der-flo" Lehner 2015-01-30 18:01:33 UTC
Hi Joachim!

Do you want to become a packager for Fedora?
Then please take a look at https://fedoraproject.org/wiki/Join_the_package_collection_maintainers

In addition, I recommend to read https://fedoraproject.org/wiki/Package_Review_Process

Cheers,
 Flo

Comment 4 Joachim Frieben 2015-01-31 06:07:55 UTC
(In reply to Florian "der-flo" Lehner from comment #3)
> Do you want to become a packager for Fedora?
Thanks, I can take care of the giza package. I just need to unlock my user account at fedoraproject.org :o/

Comment 5 Björn 'besser82' Esser 2015-02-02 08:49:36 UTC
(In reply to Joachim Frieben from comment #4)
> (In reply to Florian "der-flo" Lehner from comment #3)
> > Do you want to become a packager for Fedora?
> Thanks, I can take care of the giza package. I just need to unlock my user
> account at fedoraproject.org :o/

Is your FAS-Account `jfrieben`?  If so, please let me know.  It seems - since you are not in the packager-group - you would need some privileges to access webspace on fedorapeople.org to host the spec-file / srpm.  You can request them here [1] and select `initial package hosting request` from the drop-down mneu on the right.

Assigning this review to me.  Please let me know, when you are ready.  =)


[1]  https://fedorahosted.org/packager-sponsors/newticket

Comment 6 Joachim Frieben 2015-10-24 20:23:45 UTC
(In reply to Björn "besser82" Esser from comment #5)
I have not been able to recover the FAS user account jfrieben. I was therefore forced to create a new one for user name frieben. I have opened a ticket at https://fedorahosted.org/packager-sponsors/ticket/234.
I have built an SRPM on my Fedora box for the current upstream release giza v0.9.3 which allows me to build functional binary RPMs giza and giza-devel.

Comment 7 Christopher Meng 2015-10-26 09:47:50 UTC
Are you just copying something entirely from somewhere else as an initial submission and trying to become a Fedora packager?

Björn, I'm afraid this was too hasty, I'm gonna close this one and submit this.

Comments/feedbacks welcome.

Comment 8 Christopher Meng 2015-10-26 09:48:41 UTC

*** This bug has been marked as a duplicate of bug 1275216 ***

Comment 9 Joachim Frieben 2015-10-26 14:42:20 UTC
(In reply to Christopher Meng from comment #7)
No, I am not "copying something entirely from somewhere else as an initial submission". I had attached the publicly available and free SRPM as a first *sample* - that is how I had labeled the attachments - as an inspiration in order to accelerate things for some potentially interested and already active packager from the Fedora Project. Moreover, submssion to Fedora is not done by uploading spec file and SRPM to Bugzilla. I have proceeded later on to creating my own SRPM after Björn's invitation to take care of this package which I wanted to upload to the Fedora infrastructure.
From the technical point of view, the package by "zhonghuaren" does not comply with Fedora packaging guide lines in several respects, and second, current upstream release is 0.9.3. In the meantime, I had prepared an SRPM from scratch based on release 0.9.3 that I was about to upload. Moreover, I am working together with upstream and have already repackaged giza-0.9.3 using GNU autotools. Thus, you are not only hasty yourself, you are even rude and offensive by interfering with a pending review request which had already been sponsored by another Fedora packager, namely Björn "besser82" Esser and without contacting Björn or me in advance.

Comment 10 Joachim Frieben 2015-12-11 18:27:04 UTC
Spec URL: http://1drv.ms/1ReBiIo
SRPM URL: http://1drv.ms/1jToMQ3
Description: Scientific plotting library built on cairo that provides uniform output to multiple devices. It is written in standard ANSI C and has bindings for Fortran 90/95/2003. Devices currently supported are: the X Window system, PDF, PostScript, EPS, PNG and SVG. It also provides a drop-in replacement for the PGPLOT graphics library.
Fedora Account System Username: frieben

Comment 11 Michael Schwendt 2015-12-11 19:52:51 UTC
Hello guys,

this one is a head-scratcher. :-/

1) Björn had assigned the ticket to himself already and apparently was willing to sponsor Joachim.

2) Christopher deleted the "fedora-review?" flag. Rude indeed. Btw, if deleting that flag, don't forget to restore the "Assigned To" field and readd the FE-NEEDSPONSOR to the "Blocks" field, or else the ticket does not appear on the needsponsor queue tracker page: http://fedoraproject.org/PackageReviewStatus/

3) A second review ticket bug 1275216 for a completely different package is very bad style.

Both packages differ a lot. Not just the src.rpm, also the build results. Do you think it's possible to agree on the packaging of "giza"?

[...]

> Spec URL: http://1drv.ms/1ReBiIo
> SRPM URL: http://1drv.ms/1jToMQ3

Microsoft OneDrive is not compatible with fedora-review, as no direct download from such URLs is possible.

Consider following comment 5 to acquire fedorapeople.org webspace.

Then point the fedora-review tool at this ticket: fedora-review -b 1187030


> Name:           giza
> Group:          Development/Libraries

The base Group tag for runtime library packages has been "System Environment/Libraries" for many years dating back to Red Hat Linux. Nowadays, the Group tag is optional:
  https://fedoraproject.org/wiki/Packaging:Guidelines#Group_tag

On the contrary, "Development/Libraries" is the Group for library -devel packages.


> Patch0:         makefile.patch
> Patch1:         marker.patch

https://fedoraproject.org/wiki/Packaging:Guidelines#Patch_Guidelines


> %build
> %configure --disable-static
> make

https://fedoraproject.org/wiki/Packaging:Guidelines#Parallel_make
https://fedoraproject.org/wiki/Packaging:Guidelines#Compiler_flags

Build output is non-verbose. One cannot verify the compiler/linker options that are used during building. 

Try passing "V=1" to Make. If that doesn't work, it may be necessary need to search for ways to disable silent build rules.


> %install
> rm -rf $RPM_BUILD_ROOT

https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag


> %doc AUTHORS ChangeLog COPYING INSTALL NEWS README

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

Plus, the INSTALL file does not contain anything worthwhile to RPM package users.

Comment 12 Joachim Frieben 2015-12-11 20:47:55 UTC
(In reply to Michael Schwendt from comment #11)
> Both packages differ a lot. Not just the src.rpm, also the build results. Do
> you think it's possible to agree on the packaging of "giza"?

The SRPMs look different because for upstream release 0.9.4, I had replaced the homebrewn make system by standard GNU Autools, and this new package has been adopted by upstream. As a matter of fact, the main developer D. Price has granted me commit rights for the upstream code repository which is also beneficial for supporting a future Fedora package.

The alternate package by C. Meng is based on the obsolete release 0.9.3 which requires a lot of dirty hacks in the spec file. Moreover, it completely lacks support for (c)pgplot which most users are more interested in than in using giza itself; it actually packages the giza backend alone and not the (c)pgplot wrapper libraries.

> %install
> rm -rf $RPM_BUILD_ROOT

Ok, I can change that. I am unpleasantly surprised, however, that the spec file, and in particular the parts incriminated by you have been provided by the very official eclipse-fedorapackager plugin (!) after precisely choosing a Fedora library project.

Comment 13 Michael Schwendt 2015-12-11 21:17:05 UTC
> I am unpleasantly surprised

Stay calm. It's very hard to please everyone.

1) Also some spec files in the Fedora package collection predate some of the changes in the packaging guidelines. Since no post-approval re-reviews are done for packages in the collection, this means that old or wrong things may remain in spec files for a very long time.

2) Some packagers insist on keeping a single spec file for multiple dist targets, such as EPEL 5 where it is still necessary to set up Buildroot and clean it, too. EL 5, however, also requires a %clean section, which is not in your spec file.

3) Some spec file template setup tools, such as rpmdev-newspec, still generate a spec file which cleans up the Buildroot at beginning of %install, because if it didn't, other people would complain about that. rpmdev-newspec doesn't output a %clean section, which is puzzling. But it tries to cover installations where e redhat-rpm-config is not installed: https://fedorahosted.org/rpmdevtools/ticket/25

And finally:

4) It's no major packaging mistake, no big issue. Really. It's just in the guidelines and worth knowing. Reviewers, who miss such things, sometimes get attacked/criticized.


> eclipse-fedorapackager plugin 

Well, that sounds as if some of its output doesn't adhere to the packaging guidelines then. ;-p

Comment 14 Michael Schwendt 2015-12-14 22:31:17 UTC
Let's complete the reassignment from comment 8 onwards for the reason mentioned in comment 11.

Comment 15 Joachim Frieben 2015-12-15 19:45:55 UTC
(In reply to Michael Schwendt from comment #14)
Since you have already reviewed my initial package and I have addressed your comments in a new release, why not simply assign it to yourself?

Comment 17 Joachim Frieben 2015-12-17 13:48:45 UTC
The new release should resolve the issues raised in comment 11. 
Spec URL: http://frieben.fedorapeople.org/giza.spec
SRPM URL: http://frieben.fedorapeople.org/giza-0.9.4-2.fc23.src.rpm

Comment 18 Joachim Frieben 2019-03-11 14:46:24 UTC
Updated packages for the current release giza-1.1.0 are now available at COPR via 'dnf copr enable frieben/giza'.

Comment 19 Robert-André Mauchin 🐧 2019-03-12 00:02:32 UTC
Assuming:

Spec URL: https://copr-be.cloud.fedoraproject.org/results/frieben/giza/fedora-rawhide-x86_64/00866796-giza/giza.spec
SRPM URL: https://copr-be.cloud.fedoraproject.org/results/frieben/giza/fedora-rawhide-x86_64/00866796-giza/giza-1.1.0-1.fc31.src.rpm

 - No need for the non useful macros like this

%{__rm} → rm

 - In order to avoid unintentional SONAME bump, please do not glob the major soname version:

%{_libdir}/*.so.0*

 - This is not needed anymore:

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

  See https://fedoraproject.org/wiki/Changes/Removing_ldconfig_scriptlets#Upgrade.2Fcompatibility_impact

 - add gcc as a BR

 - add docs to %doc 

 - make setup quiet with "%setup -qn %{name}-%{version}" or just "%autosetup"

 - I didn't get any issue with parallel building, did you deactivate it because of race conditions? If not remove:

%global _smp_mflags -j1




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

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


Issues:
=======
- If your application is a C or C++ application you must list a
  BuildRequires against gcc, gcc-c++ or clang.
  Note: No gcc, gcc-c++ or clang found in BuildRequires
  See: https://docs.fedoraproject.org/en-US/packaging-guidelines/C_and_C++/
- ldconfig not called in %post and %postun for Fedora 28 and later.
  Note: /sbin/ldconfig called in giza
  See: https://fedoraproject.org/wiki/Changes/Removing_ldconfig_scriptlets


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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Header 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]: 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.
[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", "GPL (v2 or later)", "Expat License",
     "FSF Unlimited License (with Retention) GNU General Public License",
     "FSF Unlimited License (with Retention)", "GNU General Public
     License". 71 files have unknown license. Detailed output of
     licensecheck in /home/bob/packaging/review/giza/review-
     giza/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[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.
[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.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 194560 bytes in 4 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]: Package requires other packages for directories it uses.
[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]: 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

===== 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.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in giza ,
     giza-debuginfo , giza-debugsource
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Scriptlets must be sane, if used.
[-]: 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.
[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]: The placement of pkgconfig(.pc) files are correct.
[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:
[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
-------
Checking: giza-1.1.0-1.fc31.x86_64.rpm
          giza-devel-1.1.0-1.fc31.x86_64.rpm
          giza-debuginfo-1.1.0-1.fc31.x86_64.rpm
          giza-debugsource-1.1.0-1.fc31.x86_64.rpm
          giza-1.1.0-1.fc31.src.rpm
giza.x86_64: W: shared-lib-calls-exit /usr/lib64/libgiza.so.0.1.0 exit.5
giza-devel.x86_64: W: no-documentation
giza.src:31: W: setup-not-quiet
5 packages and 0 specfiles checked; 0 errors, 3 warnings.

Comment 20 Joachim Frieben 2019-03-17 10:31:45 UTC
(In reply to Robert-André Mauchin from comment #19)
Hi Robert-André, first of all thanks a lot for reviewing the latest build! Regarding your comments, let me reply as follows:

1. Macros like "%{__rm} → rm" are official definitions provided by /usr/lib/rpm/macros which is part of redhat-rpm-config. I do agree that using such macros may be not very useful. However, this is a matter of taste, and I would actually rather keep them.

2. Globbing the major version has indeed been recently deprecated by Fedora. Your point is therefore absolutely valid, and I have changed

     %{_libdir}/*.so.* to %{_libdir}/*.so.0*

as you have suggested.

3. Even though dropping ldconfig is rather a recommendation than a requirement, I have removed %post and %postun sections according to your suggestion.

4. Adding gcc as a BR is superfluous since gcc-gfortran is already a build requirement and already requires gcc itself.

5. I have silenced setup adopting "%setup -qn %{name}-%{version}" as you have suggested.

6. The build option "%global _smp_mflags -j1" is necessary because one Fortran source file depends on the presence of a Fortran module provided by some other Fortran source file. This dependency requires serial compilation. In the past, the corresponding race condition occasionally led to abortion of the build process when the necessary Fortran module could not be found by the compiler. Interestingly, during the few trials I have made with a parallel build of the current package, no problem was observed. Nevertheless, the root cause has not changed. I therefore prefer to disable parallel build for this package which only has a small size anyway.

7. I have added the content of docs/ to the newly created doc directory of giza-devel according to your request.

An updated build giza-1.1.0-2.fc31 is available at:

    https://copr-be.cloud.fedoraproject.org/results/frieben/giza/fedora-rawhide-x86_64/00869543-giza/giza.spec
    https://copr-be.cloud.fedoraproject.org/results/frieben/giza/fedora-rawhide-x86_64/00869543-giza/giza-1.1.0-2.fc31.src.rpm

Comment 21 Robert-André Mauchin 🐧 2019-03-17 14:35:02 UTC
LGTM, package approved.

You still need to find a sponsor.

Comment 22 Mattia Verga 2021-06-26 12:47:09 UTC
review stalled

Comment 23 Joachim Frieben 2021-06-27 14:44:10 UTC
(In reply to Mattia Verga from comment #22)
I am currently providing a package via the COPR repository which I do keep up-to-date with respect to upstream. Thus, Fedora users interested in using giza can just download it from that place.

Comment 24 Mattia Verga 2021-06-27 16:29:28 UTC
Very well, so I'm going to close this ticket.

Comment 25 Joachim Frieben 2021-07-03 06:42:15 UTC
(In reply to Mattia Verga from comment #24)
This was not the meaning of comment 23.

Comment 26 Robert-André Mauchin 🐧 2021-07-10 14:42:33 UTC
(In reply to Joachim Frieben from comment #23)
> (In reply to Mattia Verga from comment #22)
> I am currently providing a package via the COPR repository which I do keep
> up-to-date with respect to upstream. Thus, Fedora users interested in using
> giza can just download it from that place.

Do you need help to find a sponsor to get this package into the distro?

Comment 27 Joachim Frieben 2021-07-10 18:51:34 UTC
(In reply to Robert-André Mauchin 🐧 from comment #26)
I do need a sponsor in the first place, but getting help to find one is still better than nothing. :o/

Comment 28 Mattia Verga 2021-07-11 09:46:25 UTC
(In reply to Joachim Frieben from comment #25)
> (In reply to Mattia Verga from comment #24)
> This was not the meaning of comment 23.

Sorry, I misunderstood.

If you need to find a sponsor, you can open a ticket on https://pagure.io/packager-sponsors/issues
This review will also need to have a fresh positive review flag for the repository to be created. I suggest to start posting an updated spec and srpm.

Comment 29 Mark E. Fuller 2022-01-11 16:51:32 UTC
@jfrieben I don't believe I can do a formal review, but I would be interested in taking a look.
Are these the latest versions?

Spec URL: https://download.copr.fedorainfracloud.org/results/frieben/giza/fedora-rawhide-x86_64/02506790-giza/giza.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/frieben/giza/fedora-rawhide-x86_64/02506790-giza/giza-1.2.1-1.fc35.src.rpm

Comment 30 Joachim Frieben 2022-01-15 07:47:41 UTC
(In reply to Mark E. Fuller from comment #29)
This is correct, please go ahead. The upstream project is a low activity one, the drop-in compatibility with the original PGPLOT package is rather limited, and no noticeable progress has been made lately by upstream in improving this situation. For this reason, providing a COPR package which follows upstream closely is currently fine with me. For any comment or criticism regarding the functionality of the GIZA library itself please do not hesitate to contact upstream.

Comment 31 Joachim Frieben 2022-01-15 07:50:43 UTC
(In reply to Mark E. Fuller from comment #29)
Btw, please avoid posting plain e-mail addresses in your comments, thanks.

Comment 33 Benson Muite 2022-06-14 15:15:18 UTC
 Maybe this is of interest to the scientific computing SIG https://fedoraproject.org/wiki/Category:SciTech_SIG?rd=SIGs/SciTech

Comment 34 Benson Muite 2022-06-14 16:15:26 UTC
Unofficial review:

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

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


Issues:
=======
- If your application is a C or C++ application you must list a
  BuildRequires against gcc, gcc-c++ or clang.
  Note: No gcc, gcc-c++ or clang found in BuildRequires
  See: https://docs.fedoraproject.org/en-US/packaging-guidelines/C_and_C++/
- Large documentation must go in a -doc subpackage. Large could be size
  (~1MB) or number of files.
  Note: Documentation size is 1075200 bytes in 46 files.
  See: https://docs.fedoraproject.org/en-US/packaging-
  guidelines/#_documentation


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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig not called in %post and %postun for Fedora 28 and later.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.
[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.
[?]: 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", "[generated file]", "FSF Unlimited License (with License
     Retention) GNU General Public License v2.0 or later [generated file]",
     "FSF Unlimited License [generated file]", "GNU General Public License
     v2.0 or later [generated file]", "GNU General Public License v3.0 or
     later", "X11 License [generated file]", "GNU General Public License
     v2.0 or later", "FSF Unlimited License (with License Retention) GNU
     General Public License, Version 2", "FSF Unlimited License (with
     License Retention)", "GNU General Public License". 73 files have
     unknown license. Detailed output of licensecheck in
     /home/FedoraPackaging/giza/1187030-giza/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[?]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/lib64/gfortran
[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.
[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.
[?]: 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.
[?]: Package is not known to require an ExcludeArch tag.
[?]: 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 must own all directories that it creates.
[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]: 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]: 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

===== 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.
[?]: 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.
[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]: Fully versioned dependency in subpackages if applicable.
[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.
[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.
     Note: Arch-ed rpms have a total of 1095680 bytes in /usr/share
[x]: Rpmlint is run on debuginfo package(s).
     Note: There are rpmlint messages (see attachment).
[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
-------
Cannot parse rpmlint output:


Rpmlint (debuginfo)
-------------------
Cannot parse rpmlint output:



Rpmlint (installed packages)
----------------------------
Cannot parse rpmlint output:


Source checksums
----------------
https://github.com/danieljprice/giza/releases/download/v1.3.2/giza-v1.3.2.tar.gz :
  CHECKSUM(SHA256) this package     : 87f14679923ba729a13bc18026178be684d7620aaf0a5eb4172a4a1c9c87c033
  CHECKSUM(SHA256) upstream package : 87f14679923ba729a13bc18026178be684d7620aaf0a5eb4172a4a1c9c87c033


Requires
--------
giza (rpmlib, GLIBC filtered):
    libX11.so.6()(64bit)
    libc.so.6()(64bit)
    libcairo.so.2()(64bit)
    libfontconfig.so.1()(64bit)
    libfreetype.so.6()(64bit)
    libgfortran.so.5()(64bit)
    libgfortran.so.5(GFORTRAN_10)(64bit)
    libgfortran.so.5(GFORTRAN_8)(64bit)
    libgiza.so.0()(64bit)
    libm.so.6()(64bit)
    rtld(GNU_HASH)

giza-devel (rpmlib, GLIBC filtered):
    /usr/bin/pkg-config
    gcc-gfortran(x86-64)
    giza(x86-64)
    libcpgplot.so.0()(64bit)
    libgiza.so.0()(64bit)
    libpgplot.so.0()(64bit)

giza-debuginfo (rpmlib, GLIBC filtered):

giza-debugsource (rpmlib, GLIBC filtered):



Provides
--------
giza:
    giza
    giza(x86-64)
    libcpgplot.so.0()(64bit)
    libgiza.so.0()(64bit)
    libpgplot.so.0()(64bit)

giza-devel:
    giza-devel
    giza-devel(x86-64)
    pkgconfig(cpgplot)
    pkgconfig(giza)
    pkgconfig(pgplot)

giza-debuginfo:
    debuginfo(build-id)
    giza-debuginfo
    giza-debuginfo(x86-64)
    libcpgplot.so.0.1.2-1.3.2-1.fc37.x86_64.debug()(64bit)
    libgiza.so.0.1.2-1.3.2-1.fc37.x86_64.debug()(64bit)
    libpgplot.so.0.1.2-1.3.2-1.fc37.x86_64.debug()(64bit)

giza-debugsource:
    giza-debugsource
    giza-debugsource(x86-64)



Generated by fedora-review 0.8.0 (e988316) last change: 2022-04-07
Command line :/usr/bin/fedora-review -b 1187030
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: fonts, SugarActivity, Haskell, Ocaml, R, Python, Perl, PHP, Java
Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH

Comments:
1) You have gcc-gfortran, but it would also be helpful to list gcc as a build dependency
2) Some of the comments on globbing of the filename seem not to have been addressed. As an example see https://music.fedorapeople.org/20220607/libaiff.spec
3) Perhaps also run the available tests
4) Provide a data subpackage
5) For your COPR builds, also enable AARCH64 and ARM-hfp to verify builds on all supported architectures which are listed at https://fedoraproject.org/wiki/Architectures#Primary_Architectures and linked from https://docs.fedoraproject.org/en-US/packaging-guidelines/#_architecture_support
6) Some of the files in the build directory have license GPLv3+
7) Fortran packaging mod files are architecture specific, see https://docs.fedoraproject.org/en-US/packaging-guidelines/Fortran/

Comment 35 Joachim Frieben 2022-09-18 15:23:01 UTC
(In reply to Benson Muite from comment #34)
Hi Benson, thanks for looking at my giza COPR package. Let me reply to your comments as follows:

> 1) You have gcc-gfortran, but it would also be helpful to list gcc as a
> build dependency

The build requirement gcc-gfortran pulls in gcc already but I have added it explicitly in the latest build now in order to silence the package-review utility.

> 2) Some of the comments on globbing of the filename seem not to have been
> addressed. As an example see  https://music.fedorapeople.org/20220607/libaiff.spec

The suggested hack has been implemented but it breaks building the package for CentOS 7 whereas all other builds complete successfully. One could imagine a switch for CentOS but one might then simply stick to the previous expression, too.

> 3) Perhaps also run the available tests

Running 'make check' has been added. This option is actually implemented in the upstream package but it only compiles the test program and assumes that the user executes them individually and provides occasional user input. I had therefore left it out in the past but indeed checking for build failures is better than nothing.

> 4) Provide a data subpackage

I have split off the user documentation as recommended in the packaging guidelines.

> 5) For your COPR builds, also enable AARCH64 and ARM-hfp to verify builds on
> all supported architectures which are listed at
> https://fedoraproject.org/wiki/Architectures#Primary_Architectures and
> linked from  https://docs.fedoraproject.org/en-US/packaging-guidelines/
> #_architecture_support

I have enabled these additional build roots, and they do actually build successfully. 

> 6) Some of the files in the build directory have license GPLv3+

This merely seems to apply to some ancillary files used during the build process and which are part of autotools. According to the packaging guidelines they need not be taken into account.

> 7) Fortran packaging mod files are architecture specific, see
> https://docs.fedoraproject.org/en-US/packaging-guidelines/Fortran/

According to the packaging guidelines FORTRAN module files have to be installed in directory %{_fmoddir}. There are no further instructions for the multilib case which is a long-standing issue.

Comment 38 Benson Muite 2022-09-30 15:15:03 UTC
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.
[x]: If your application is a C or C++ application you must list a
     BuildRequires against gcc, gcc-c++ or clang.
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig not called in %post and %postun for Fedora 28 and later.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.
[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.
[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", "[generated file]", "FSF Unlimited License (with License
     Retention) GNU General Public License v2.0 or later [generated file]",
     "FSF Unlimited License [generated file]", "GNU General Public License
     v2.0 or later [generated file]", "GNU General Public License v3.0 or
     later", "X11 License [generated file]", "GNU General Public License
     v2.0 or later", "FSF Unlimited License (with License Retention) GNU
     General Public License, Version 2", "FSF Unlimited License (with
     License Retention)", "GNU General Public License". 73 files have
     unknown license. Detailed output of licensecheck in
     /home/FedoraPackaging/reviews/giza/1187030-giza/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/lib64/gfortran
[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.
[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.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 225280 bytes in 5 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]: Package must own all directories that it creates.
[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]: 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]: 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

===== 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]: 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.
[x]: %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]: Fully versioned dependency in subpackages if applicable.
[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.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[x]: Rpmlint is run on debuginfo package(s).
     Note: There are rpmlint messages (see attachment).
[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
-------
Cannot parse rpmlint output:


Rpmlint (debuginfo)
-------------------
Cannot parse rpmlint output:



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

giza-doc.noarch: E: zero-length /usr/share/doc/giza-doc/documentation/api-ref.html
giza.x86_64: E: unused-direct-shlib-dependency /usr/lib64/libcpgplot.so.0.1.2 /lib64/libX11.so.6
giza.x86_64: E: unused-direct-shlib-dependency /usr/lib64/libcpgplot.so.0.1.2 /lib64/libcairo.so.2
giza.x86_64: E: unused-direct-shlib-dependency /usr/lib64/libcpgplot.so.0.1.2 /lib64/libfontconfig.so.1
giza.x86_64: E: unused-direct-shlib-dependency /usr/lib64/libcpgplot.so.0.1.2 /lib64/libfreetype.so.6
giza.x86_64: E: unused-direct-shlib-dependency /usr/lib64/libpgplot.so.0.1.2 /lib64/libX11.so.6
giza.x86_64: E: unused-direct-shlib-dependency /usr/lib64/libpgplot.so.0.1.2 /lib64/libcairo.so.2
giza.x86_64: E: unused-direct-shlib-dependency /usr/lib64/libpgplot.so.0.1.2 /lib64/libfontconfig.so.1
giza.x86_64: E: unused-direct-shlib-dependency /usr/lib64/libpgplot.so.0.1.2 /lib64/libfreetype.so.6
giza-debuginfo.x86_64: W: unstripped-binary-or-object /usr/lib/debug/.dwz/giza-1.3.2-3.fc38.x86_64
giza-debuginfo.x86_64: W: unstripped-binary-or-object /usr/lib/debug/usr/lib64/libcpgplot.so.0.1.2-1.3.2-3.fc38.x86_64.debug
giza-debuginfo.x86_64: W: unstripped-binary-or-object /usr/lib/debug/usr/lib64/libgiza.so.0.1.2-1.3.2-3.fc38.x86_64.debug
giza-debuginfo.x86_64: W: unstripped-binary-or-object /usr/lib/debug/usr/lib64/libpgplot.so.0.1.2-1.3.2-3.fc38.x86_64.debug
giza-debuginfo.x86_64: E: statically-linked-binary /usr/lib/debug/.dwz/giza-1.3.2-3.fc38.x86_64
giza-debuginfo.x86_64: W: no-documentation
giza-debugsource.x86_64: W: no-documentation
giza-devel.x86_64: W: no-documentation
giza-debuginfo.x86_64: E: missing-PT_GNU_STACK-section /usr/lib/debug/.dwz/giza-1.3.2-3.fc38.x86_64
giza-debuginfo.x86_64: E: ldd-failed /usr/lib/debug/usr/lib64/libcpgplot.so.0.1.2-1.3.2-3.fc38.x86_64.debug /usr/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
ldd: warning: you do not have execution permission for `/usr/lib/debug/usr/lib64/libcpgplot.so.0.1.2-1.3.2-3.fc38.x86_64.debug'

giza-debuginfo.x86_64: E: ldd-failed /usr/lib/debug/usr/lib64/libgiza.so.0.1.2-1.3.2-3.fc38.x86_64.debug /usr/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
ldd: warning: you do not have execution permission for `/usr/lib/debug/usr/lib64/libgiza.so.0.1.2-1.3.2-3.fc38.x86_64.debug'

giza-debuginfo.x86_64: E: ldd-failed /usr/lib/debug/usr/lib64/libpgplot.so.0.1.2-1.3.2-3.fc38.x86_64.debug /usr/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
ldd: warning: you do not have execution permission for `/usr/lib/debug/usr/lib64/libpgplot.so.0.1.2-1.3.2-3.fc38.x86_64.debug'

giza-doc.noarch: W: invalid-license GPL-2.0
giza-debuginfo.x86_64: W: invalid-license GPL-2.0
giza.x86_64: W: invalid-license GPL-2.0
giza-debugsource.x86_64: W: invalid-license GPL-2.0
giza-devel.x86_64: W: invalid-license GPL-2.0
giza-debuginfo.x86_64: W: hidden-file-or-dir /usr/lib/debug/.dwz
giza-debuginfo.x86_64: W: hidden-file-or-dir /usr/lib/debug/.dwz
giza-debuginfo.x86_64: W: dangling-relative-symlink /usr/lib/debug/.build-id/11/5e220112899fca4a2b28f69c7da59518221c39 ../../../.build-id/11/5e220112899fca4a2b28f69c7da59518221c39
giza-debuginfo.x86_64: W: dangling-relative-symlink /usr/lib/debug/.build-id/54/d3de17eb0c2d6d2dc0ed46ade78acd9a21e013 ../../../.build-id/54/d3de17eb0c2d6d2dc0ed46ade78acd9a21e013
giza-debuginfo.x86_64: W: dangling-relative-symlink /usr/lib/debug/.build-id/63/88feac176a2a08810d1d78814c30f0bd5a2cb3 ../../../.build-id/63/88feac176a2a08810d1d78814c30f0bd5a2cb3
 5 packages and 0 specfiles checked; 14 errors, 17 warnings, 14 badness; has taken 4.9 s 



Source checksums
----------------
https://github.com/danieljprice/giza/releases/download/v1.3.2/giza-v1.3.2.tar.gz :
  CHECKSUM(SHA256) this package     : 87f14679923ba729a13bc18026178be684d7620aaf0a5eb4172a4a1c9c87c033
  CHECKSUM(SHA256) upstream package : 87f14679923ba729a13bc18026178be684d7620aaf0a5eb4172a4a1c9c87c033


Requires
--------
giza (rpmlib, GLIBC filtered):
    libX11.so.6()(64bit)
    libc.so.6()(64bit)
    libcairo.so.2()(64bit)
    libfontconfig.so.1()(64bit)
    libfreetype.so.6()(64bit)
    libgfortran.so.5()(64bit)
    libgfortran.so.5(GFORTRAN_10)(64bit)
    libgfortran.so.5(GFORTRAN_8)(64bit)
    libgiza.so.0()(64bit)
    libm.so.6()(64bit)
    rtld(GNU_HASH)

giza-devel (rpmlib, GLIBC filtered):
    /usr/bin/pkg-config
    gcc-gfortran(x86-64)
    giza(x86-64)
    libcpgplot.so.0()(64bit)
    libgiza.so.0()(64bit)
    libpgplot.so.0()(64bit)

giza-doc (rpmlib, GLIBC filtered):

giza-debuginfo (rpmlib, GLIBC filtered):

giza-debugsource (rpmlib, GLIBC filtered):



Provides
--------
giza:
    giza
    giza(x86-64)
    libcpgplot.so.0()(64bit)
    libgiza.so.0()(64bit)
    libpgplot.so.0()(64bit)

giza-devel:
    giza-devel
    giza-devel(x86-64)
    pkgconfig(cpgplot)
    pkgconfig(giza)
    pkgconfig(pgplot)

giza-doc:
    giza-doc

giza-debuginfo:
    debuginfo(build-id)
    giza-debuginfo
    giza-debuginfo(x86-64)
    libcpgplot.so.0.1.2-1.3.2-3.fc38.x86_64.debug()(64bit)
    libgiza.so.0.1.2-1.3.2-3.fc38.x86_64.debug()(64bit)
    libpgplot.so.0.1.2-1.3.2-3.fc38.x86_64.debug()(64bit)

giza-debugsource:
    giza-debugsource
    giza-debugsource(x86-64)



Generated by fedora-review 0.9.0 (6761b6c) last change: 2022-08-23
Command line :/usr/bin/fedora-review -b 1187030
Buildroot used: fedora-rawhide-x86_64
Active plugins: Shell-api, C/C++, Generic
Disabled plugins: PHP, Ruby, Haskell, Perl, R, Python, SugarActivity, fonts, Ocaml, Java
Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH

Comments:
a) Thanks for packaging this and your patience. Seems ok to me.
b) You will need to find a sponsor.  It helps to do a few unofficial reviews of other packages:
https://docs.fedoraproject.org/en-US/fesco/Packager_sponsor_policy/#requesting_sponsorship

Comment 39 Benson Muite 2022-12-24 13:00:49 UTC
Some fixes that were not caught earlier:

Can you update the license field to:
GPL-2.0-only
see:
https://docs.fedoraproject.org/en-US/legal/allowed-licenses/

Can you remove the empty file? In the prep section add
rm docs/documentation/api-ref.html

$ rpmlint -e unused-direct-shlib-dependency
unused-direct-shlib-dependency:
The binary contains unused direct shared library dependencies.  This may
indicate gratuitously bloated linkage; check that the binary has been linked
with the intended shared libraries only.

Using
$ ldd -u libgiza.so
$ ldd -u libcpgplot.so
Unused direct dependencies:
	/lib64/libX11.so.6
	/lib64/libcairo.so.2
	/lib64/libfontconfig.so.1
	/lib64/libfreetype.so.6
$ ldd -u libpgplot.so
Unused direct dependencies:
	/lib64/libX11.so.6
	/lib64/libcairo.so.2
	/lib64/libfontconfig.so.1
	/lib64/libfreetype.so.6

It seems the makefile adds all libraries, and using -Wl,--as-needed seems not to help.
https://unix.stackexchange.com/questions/473014/what-does-unused-direct-dependencies-mean

Maybe further changes are needed in the setup?

Comment 40 Joachim Frieben 2023-02-23 17:54:32 UTC
I have asked upstream to remove api-ref.html as a likely left-over from a previous release. I have also suggested upstream to proceed to preparing a new release. I do agree with your comment correcting the license field but I would prefer to fix this in single build with the other issues. If no progress is being made by upstream in the next weeks I will release an updated COPR.
The shared-library issue is a bit more tricky. I had actually converted the upstream package myself from a custom make-file based build system to using GNU autotools. If I remember correctly, the unused direct dependencies were introduced by the configure script checking for the presence of those libraries. This can probably be fixed but I found it convenient that compilation of Fortran code was possible by merely linking against libpgplot. I think that without these direct dependencies the whole bunch of required libraries needed to be appended explicitly which was not the traditional behaviour that I was used to when linking against the original PGPLOT library.

Comment 41 Package Review 2024-02-24 00:45:29 UTC
This is an automatic check from review-stats script.

This review request ticket hasn't been updated for some time, but it seems
that the review is still being working out by you. If this is right, please
respond to this comment clearing the NEEDINFO flag and try to reach out the
submitter to proceed with the review.

If you're not interested in reviewing this ticket anymore, please clear the
fedora-review flag and reset the assignee, so that a new reviewer can take
this ticket.

Without any reply, this request will shortly be resetted.

Comment 42 Benson Muite 2024-02-25 11:29:11 UTC
Happy to continue the review.

Comment 43 Joachim Frieben 2024-02-26 17:29:54 UTC
(In reply to Package Review from comment #41)
Thanks, I will update the COPR package shortly to the latest upstream version 1.4.1 and address the suggested improvements as far as possible.


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