Bug 2327257

Summary: Review Request: gimp3-fix-ca - GIMP3 plugin for correcting Chromatic Aberration (CA)
Product: [Fedora] Fedora Reporter: joescat <digital>
Component: Package ReviewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: code, package-review, solomoncyj
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
URL: https://github.com/JoesCat/gimp3-fix-ca
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 177841    

Description joescat 2024-11-19 07:25:22 UTC
Spec URL: https://raw.githubusercontent.com/JoesCat/gimp3-fix-ca/refs/heads/fedora_rpm_spec/fedora/gimp3-fix-ca.spec
SRPM URL: https://github.com/JoesCat/gimp3-fix-ca/blob/fedora_rpm_spec/fedora/gimp3-fix-ca-0.1-0.src.rpm

https://copr.fedorainfracloud.org/coprs/joescat/gimp3-fix-ca/
fedorainfracloud run 08278800: (failed)
https://download.copr.fedorainfracloud.org/results/joescat/gimp3-fix-ca/srpm-builds/08278800/

Build log succeeded for F40
https://download.copr.fedorainfracloud.org/results/joescat/gimp3-fix-ca/srpm-builds/08278800/builder-live.log.gz

Uncertain of status of rawhide, F41, F39: currently shows F39,F40 available
https://packages.fedoraproject.org/pkgs/gimp3/gimp3/index.html

Reproducible: Didn't try

Steps to Reproduce:
1. Fetch rpm spec file
2. build srpm




Please note this is a new package for gimp3-RC1, and also that I need a sponsor.

Comment 1 Fedora Review Service 2024-11-19 07:26:04 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8279398
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2327257-gimp3-fix-ca/srpm-builds/08279398/builder-live.log.gz

Please make sure the package builds successfully at least for Fedora Rawhide.

- If the build failed for unrelated reasons (e.g. temporary network
  unavailability), please ignore it.
- If the build failed because of missing BuildRequires, please make sure they
  are listed in the "Depends On" field


---
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 joescat 2024-11-19 18:13:58 UTC
Docs not required.
there is a built-in F1=help popup.
Original gimp-fix-ca had instructions on website on how to insert the plugin and no other docs to include.

I haven't seen yet any gimp plugins that have added information in docs, and I currently don't know how to access any info in docs through the plugin. As a graphical plugin, I think users are unlikely to venture deeper than the graphical interface. In summary, no docs required.

Comment 3 solomoncyj 2024-11-20 03:31:38 UTC
bad license, should be GPL-3.0-or-later, 
if you want you may trim the Requires for libs due to automatic .so name & version reconigtion  
use %autorelease for %release and %autochangelog for %changelog

Comment 4 joescat 2024-11-20 19:13:24 UTC
Thanks for looking and catching the "GPL-3.0-or-later".
I've updated the SPEC, SRPM, and also included an F40 x86_64 RPM file too.

As this is the first build I've made, I'm not too sure what to expect since the git repo contains older gimp-fix-ca version4.0 and I'd like to ensure we skip past that, and that we build gimp3-fix-ca version0.1. If {%autorelease/%autochangelog} can handle skipping the earlier 0.4, we can go ahead with that edit.

> if you want you may trim the Requires for libs due to automatic .so name & version reconigtion

gimp3 is a pretty complicated project, built and maintained by a team of developers, and if I run ldd /usr/lib64/gimp/3.0/plug-ins/fix-ca/fix-ca provides a fairly large list of libs to follow. It would be too easy to miss something important, plus following just lib release versions doesn't provide a full picture of what's needed.

For example, looking at: "Requires: gettext >= 0.21"
on Mageia 9 I see:
ldd /usr/bin/gettext
	linux-vdso.so.1 (0x00007ffce7dfa000)
	libintl.so.8 => /lib64/libintl.so.8 (0x00007efee5ba7000)
	libc.so.6 => /lib64/libc.so.6 (0x00007efee59d5000)
	/lib64/ld-linux-x86-64.so.2 (0x00007efee5bd6000)
on Fedora 40 I see:
liveuser@localhost-live:~$ ldd /usr/bin/gettext
	linux-vdso.so.1 (0x00007fffdd11c000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f6d75402000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f6d7560e000)
In both cases above, libc.so.6 can get updated for any number of reasons, like CVEs, other programs that require a more up to date libc, etc. but libc version does not tell me if the "locale" data files are at version 0.21 or higher. We need to ensure that the locale data is complete, and at 0.21 or better.
You'll also notice that libintl got merged into libc (above). Asking rpm to check if the minimum package is 0.21 is just one question, nice and simple.

Similar issue with bable.
liveuser@localhost-live:~$ ldd /usr/bin/babl
	linux-vdso.so.1 (0x00007ffeb5def000)
	libbabl-0.1.so.0 => /lib64/libbabl-0.1.so.0 (0x00007fd873216000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fd873029000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fd872f46000)
	liblcms2.so.2 => /lib64/liblcms2.so.2 (0x00007fd872ee2000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fd873386000)
Looking at libbabl-0.1.so.0 does not tell me if it is babl 0.108 or 0.110, and I do require 0.110 due to API changes. rpm package manager tells me yes, 0.110.

Oddly, I cannot do this Fedora F40:
liveuser@localhost-live:~$ ldd /usr/bin/gegl
but rpm package manager assures me that it is the recent version 0.4.50 I require, not the 0.4.48 or 0.4.49

gimp3 is a bit tricky.... we have a tagpoint of RC1, but the version is still 2.99.19 from several months ago, and we've had several API changes happen between 2.99.19 and RC1 - again, this is best to look for an RC1 release, so if the distro doesn't have it, there is no point in building the plugin.

Trimming the requires to just check for lib versions won't tell me about the state of included data.
Thanks for suggesting it, but gimp3 is a pretty complicated package, and I think it would seem safer for rpm to be checking for complete packages.

I've included a fedora x86_64 rpm file, and if you run a fresh USB live Fedora F40, simply clicking the single rpm file takes care of installing every package required to run the plugin - this by itself seems to be a pretty cool thing - a running gimp plus plugin all in one step :-)
https://github.com/JoesCat/gimp3-fix-ca/blob/fedora_rpm_spec/fedora/gimp3-fix-ca-0.1-0.x86_64.rpm

Thanks for your review, very much appreciated.
Resolved: GPL-3.0-or-later