Bug 30060 - Package proposals for darktable 3.8.1 and for exiv2 0.27.5
Summary: Package proposals for darktable 3.8.1 and for exiv2 0.27.5
Status: RESOLVED WONTFIX
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal enhancement
Target Milestone: ---
Assignee: Rémi Verschelde
QA Contact:
URL:
Whiteboard: MGA8TOO
Keywords:
Depends on:
Blocks:
 
Reported: 2022-02-17 09:12 CET by christian barranco
Modified: 2023-11-27 12:44 CET (History)
2 users (show)

See Also:
Source RPM: darktable-3.8.0-1.1.mga8, exiv2-0.27.3-1.4.mga8.src.rpm
CVE:
Status comment:


Attachments
exiv2 0.27.5 spec file (13.46 KB, text/x-rpm-spec)
2022-02-17 09:13 CET, christian barranco
Details
darktable 3.8.1 spec file (7.35 KB, text/plain)
2022-02-17 09:13 CET, christian barranco
Details
darktable compiler patch (1.08 KB, patch)
2022-02-17 09:16 CET, christian barranco
Details | Diff
exiv2- patch1 (331 bytes, patch)
2022-02-17 12:16 CET, christian barranco
Details | Diff
exiv2- patch2 (594 bytes, patch)
2022-02-17 12:17 CET, christian barranco
Details | Diff
exiv2- patch3 (415 bytes, patch)
2022-02-17 12:17 CET, christian barranco
Details | Diff
exiv2 build log file (112.81 KB, application/gzip)
2022-02-17 18:22 CET, christian barranco
Details
darktable build log file (133.00 KB, application/gzip)
2022-02-17 18:23 CET, christian barranco
Details
Mock build fail exiv2 (4.58 KB, text/plain)
2022-02-17 19:09 CET, sturmvogel
Details
Rejectet patch (569 bytes, patch)
2022-02-17 20:18 CET, sturmvogel
Details | Diff
Original jp2image.cpp before patch (43.97 KB, text/x-csrc)
2022-02-17 20:19 CET, sturmvogel
Details
difference between the CVE patch (597 bytes, patch)
2022-02-17 20:40 CET, christian barranco
Details | Diff

Description christian barranco 2022-02-17 09:12:14 CET
Description of problem:

Darktable 3.8.1 is now released with many bug fixes.
Since 3.8.0, cr3 Canon files are handled by Darktable, assuming exiv2 >= 0.27.4 and ISOBMFF support activated in both exiv2 and Darktable.

exiv2 recent release has also introduced many bug and CVE fixes.

Hence, the proposal is to update both together.


Here attached are the spec files proposed. I have done that to support some Darktable users on the French forum. 
The packages have been tested for a week or so by them, without any issue reported. 

I have also added tools-noise and tools-basecurve, which are not part yet of the official Mageia package.

I am a packager mentee, mentored by Nicolas L. 
I can provide him with the src.rpm, if handy.
Comment 1 christian barranco 2022-02-17 09:13:09 CET
Created attachment 13132 [details]
exiv2 0.27.5 spec file

Straightforward backport from Cauldron
Comment 2 christian barranco 2022-02-17 09:13:58 CET
Created attachment 13133 [details]
darktable 3.8.1 spec file
Comment 3 christian barranco 2022-02-17 09:16:37 CET
Created attachment 13134 [details]
darktable compiler patch

pull request submitted and merged, as well
https://github.com/darktable-org/rawspeed/pull/345
christian barranco 2022-02-17 09:16:59 CET

CC: (none) => mageia

Comment 4 sturmvogel 2022-02-17 09:41:16 CET
Please take in mind that you have to use the internal lua version (from darktable) for building of darktable. Or it will break again the functionality of Gimp to load raw image files. See Bug #30002
Comment 5 sturmvogel 2022-02-17 09:50:46 CET
After looking at your spec, it will break again Gimp functionality :(
Comment 6 Jose Manuel López 2022-02-17 10:44:41 CET
Hi,

I have tried build exiv2 from spec file. Apppears this bug:

[jose@Mageia SPECS]$ rpmbuild -ba exiv2.spec
Ejecutando(%prep): /bin/sh -e /var/tmp/rpm-tmp.s2fqgR
+ umask 022
+ cd /home/jose/rpmbuild/BUILD
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ cd /home/jose/rpmbuild/BUILD
+ rm -rf exiv2-0.27.5-Source
+ /usr/bin/gzip -dc /home/jose/rpmbuild/SOURCES/exiv2-0.27.5-Source.tar.gz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd exiv2-0.27.5-Source
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ echo 'Cannot read /home/jose/rpmbuild/SOURCES/exiv2-0.27.4-fix-pkgconfig-file.patch'
Cannot read /home/jose/rpmbuild/SOURCES/exiv2-0.27.4-fix-pkgconfig-file.patch
+ exit 1
error: Estado de salida erróneo de /var/tmp/rpm-tmp.s2fqgR (%prep)


Errores de construcción RPM:
    Estado de salida erróneo de /var/tmp/rpm-tmp.s2fqgR (%prep)
[jose@Mageia SPECS]$ 

It is looking for a file patch that I haven't.

CC: (none) => joselp

Comment 7 christian barranco 2022-02-17 12:15:43 CET
@sturmvogel: lua is indeed bundled. Already the case since 3.8.0

@Jose Manuel: I posted only the exiv2.spec as the patches have not changed compared to what is in the repo. You need the 3 patches used to build on Cauldron. I will add them here to ease your life.
Comment 8 christian barranco 2022-02-17 12:16:36 CET
Created attachment 13135 [details]
exiv2- patch1
Comment 9 christian barranco 2022-02-17 12:17:06 CET
Created attachment 13136 [details]
exiv2- patch2
Comment 10 christian barranco 2022-02-17 12:17:31 CET
Created attachment 13137 [details]
exiv2- patch3
Comment 11 christian barranco 2022-02-17 12:18:44 CET
(In reply to sturmvogel from comment #5)
> After looking at your spec, it will break again Gimp functionality :(

Could you elaborate? It is the lua version of darktable which is used.
Comment 12 sturmvogel 2022-02-17 12:29:13 CET
For me it looked like you are using the system lua 5.2 from Mageia. But this will not work as darktable 3.8 requires lua 5.4 for proper building.
Comment 13 Jose Manuel López 2022-02-17 12:43:16 CET
I have bugs still, after download and rename the patches like into spec file.

[jose@Mageia SPECS]$ rpmbuild -ba exiv2.spec
Ejecutando(%prep): /bin/sh -e /var/tmp/rpm-tmp.n6APuC
+ umask 022
+ cd /home/jose/rpmbuild/BUILD
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ cd /home/jose/rpmbuild/BUILD
+ rm -rf exiv2-0.27.5-Source
+ /usr/bin/gzip -dc /home/jose/rpmbuild/SOURCES/exiv2-0.27.5-Source.tar.gz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd exiv2-0.27.5-Source
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ /usr/bin/cat /home/jose/rpmbuild/SOURCES/exiv2-0.27.4-fix-pkgconfig-file.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch
1 out of 1 hunk FAILED -- saving rejects to file cmake/exiv2.pc.in.rej
error: Estado de salida erróneo de /var/tmp/rpm-tmp.n6APuC (%prep)


Errores de construcción RPM:
    Estado de salida erróneo de /var/tmp/rpm-tmp.n6APuC (%prep)
[jose@Mageia SPECS]$
Comment 14 Jose Manuel López 2022-02-17 13:06:25 CET
I can't build the package from the updated Lua 5.4 spec here:"http://sophie.zarb.org/rpms/c97d2e0b2294cea29d36e79e8fdd3ba1/files"either, it also gives me errors even if I have the patch in SOURCES.
Comment 15 Jose Manuel López 2022-02-17 13:07:51 CET
Here the terminal log:

[jose@Mageia SPECS]$ rpmbuild -ba darktable.spec
Ejecutando(%prep): /bin/sh -e /var/tmp/rpm-tmp.AMzAPl
+ umask 022
+ cd /home/jose/rpmbuild/BUILD
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ cd /home/jose/rpmbuild/BUILD
+ rm -rf darktable-3.8.1
+ /usr/bin/xz -dc /home/jose/rpmbuild/SOURCES/darktable-3.8.1.tar.xz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd darktable-3.8.1
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ /usr/bin/cat /home/jose/rpmbuild/SOURCES/0001-Define-__DT_CLONE_TARGETS__-on-aarch64.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch
Reversed (or previously applied) patch detected!  Assume -R? [n] 
Apply anyway? [n] 
1 out of 1 hunk ignored -- saving rejects to file src/common/darktable.h.rej
error: Estado de salida erróneo de /var/tmp/rpm-tmp.AMzAPl (%prep)


Errores de construcción RPM:
    Estado de salida erróneo de /var/tmp/rpm-tmp.AMzAPl (%prep)
[jose@Mageia SPECS]$
Comment 16 sturmvogel 2022-02-17 13:57:56 CET
(In reply to Jose Manuel López from comment #15)

> Reversed (or previously applied) patch detected!  Assume -R? [n] 

Type y there and it should run trough.
Comment 17 sturmvogel 2022-02-17 14:18:40 CET
I have the same error messages for exiv2 and can't build it with these patches.
Comment 18 sturmvogel 2022-02-17 14:59:30 CET
I built exiv2 after removing Patch1 and Patch2. Than i tried to build darktable with Christian's spec and patches. And the built process fails again because of the darktable-3.8.0-compiler_fix.patch

Sooo, either my and Jose's build environment are borked or there is something wrong with these patches.
Comment 19 sturmvogel 2022-02-17 15:37:06 CET
The problem seems to be the spec files:

If i change 
%prep
%setup -q -n %{name}-%{version}
%autopatch -p1

to 
%prep
%setup -q -n %{name}-%{version}
%patch -p1

the build process works.
Comment 20 christian barranco 2022-02-17 18:19:38 CET
(In reply to sturmvogel from comment #12)
> For me it looked like you are using the system lua 5.2 from Mageia. But this
> will not work as darktable 3.8 requires lua 5.4 for proper building.

No, it is lua 5.4 from darktable which is used. 
%bcond_with systemlua   means darktable lua is used.
In fact, there is a double negation: DONT_USE_INTERNAL_LUA:BOOL=OFF

It might be a bit misleading, but it is the Cauldron way and I decided to preserve it. 

In the log, I have: "-- Lua support: System library not found (using darktable's version)"




(In reply to Jose Manuel López from comment #13)
> I have bugs still, after download and rename the patches like into spec file.
> 
> [jose@Mageia SPECS]$ rpmbuild -ba exiv2.spec
> Ejecutando(%prep): /bin/sh -e /var/tmp/rpm-tmp.n6APuC
> + umask 022
> + cd /home/jose/rpmbuild/BUILD
> + '[' 1 -eq 1 ']'
> + '[' 1 -eq 1 ']'
> + '[' 1 -eq 1 ']'
> + cd /home/jose/rpmbuild/BUILD
> + rm -rf exiv2-0.27.5-Source
> + /usr/bin/gzip -dc /home/jose/rpmbuild/SOURCES/exiv2-0.27.5-Source.tar.gz
> + /usr/bin/tar -xof -
> + STATUS=0
> + '[' 0 -ne 0 ']'
> + cd exiv2-0.27.5-Source
> + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
> + /usr/bin/cat
> /home/jose/rpmbuild/SOURCES/exiv2-0.27.4-fix-pkgconfig-file.patch
> + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch
> 1 out of 1 hunk FAILED -- saving rejects to file cmake/exiv2.pc.in.rej
> error: Estado de salida erróneo de /var/tmp/rpm-tmp.n6APuC (%prep)
> 
> 

Do you use the same source tarball, is what I wonder? Because I get:
+ umask 022
+ cd /builddir/build/BUILD
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ cd /builddir/build/BUILD
+ rm -rf exiv2-0.27.5-Source
+ /usr/bin/gzip -dc /builddir/build/SOURCES/exiv2-0.27.5-Source.tar.gz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd exiv2-0.27.5-Source
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ /usr/bin/cat /builddir/build/SOURCES/exiv2-0.27.4-fix-pkgconfig-file.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch
+ /usr/bin/cat /builddir/build/SOURCES/CVE-2021-29457-exiv-0.27.4.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch
+ /usr/bin/cat /builddir/build/SOURCES/mga-fix-check-rpaths-errors.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch
+ find . -type f -name '._*' -delete
+ RPM_EC=0
++ jobs -p
+ exit 0

I attached the complete log for your reference.



(In reply to Jose Manuel López from comment #15)
> Here the terminal log:
> 
> [jose@Mageia SPECS]$ rpmbuild -ba darktable.spec
> Ejecutando(%prep): /bin/sh -e /var/tmp/rpm-tmp.AMzAPl
> + umask 022
> + cd /home/jose/rpmbuild/BUILD
> + '[' 1 -eq 1 ']'
> + '[' 1 -eq 1 ']'
> + '[' 1 -eq 1 ']'
> + cd /home/jose/rpmbuild/BUILD
> + rm -rf darktable-3.8.1
> + /usr/bin/xz -dc /home/jose/rpmbuild/SOURCES/darktable-3.8.1.tar.xz
> + /usr/bin/tar -xof -
> + STATUS=0
> + '[' 0 -ne 0 ']'
> + cd darktable-3.8.1
> + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
> + /usr/bin/cat
> /home/jose/rpmbuild/SOURCES/0001-Define-__DT_CLONE_TARGETS__-on-aarch64.patch
> + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch
> Reversed (or previously applied) patch detected!  Assume -R? [n] 
> Apply anyway? [n] 
> 1 out of 1 hunk ignored -- saving rejects to file src/common/darktable.h.rej
> error: Estado de salida erróneo de /var/tmp/rpm-tmp.AMzAPl (%prep)
> 
> 
> Errores de construcción RPM:
> 

I am a bit confused. This patch is deprecated and is not part of the spec file I have attached. So, it is normal you don't have it. 
Are you using the spec file I have attached? Or is it so it is corrupted?
Or is it because I use mock to build? I doubt though as this type of patch error, I do get usually.




(In reply to sturmvogel from comment #18)
> I built exiv2 after removing Patch1 and Patch2. Than i tried to build
> darktable with Christian's spec and patches. And the built process fails
> again because of the darktable-3.8.0-compiler_fix.patch
> 
> Sooo, either my and Jose's build environment are borked or there is
> something wrong with these patches.

What is the error you get? 

I don't see why changing %autopatch by %patch would solve an issue with the patch itself. But maybe someone has an explanation. 
Could mock lead to that? No sure either.

Here attached is also the log file of darktable build.
Comment 21 christian barranco 2022-02-17 18:22:03 CET
Created attachment 13140 [details]
exiv2 build log file
Comment 22 christian barranco 2022-02-17 18:23:05 CET
Created attachment 13141 [details]
darktable build log file
Comment 23 sturmvogel 2022-02-17 18:36:08 CET
I did not use mock for building. The errors for exiv2 with these 3 patches (and %autopatch -p1) are:

$ LC_ALL=C rpmbuild -ba exiv2.spec
Executing(%prep): /bin/sh -e /home/wikiuser/rpmbuild/tmp/rpm-tmp.c3IW3l
+ umask 022
+ cd /home/wikiuser/rpmbuild//BUILD
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ cd /home/wikiuser/rpmbuild/BUILD
+ rm -rf exiv2-0.27.5-Source
+ /usr/bin/gzip -dc /home/wikiuser/rpmbuild/SOURCES/exiv2-0.27.5-Source.tar.gz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd exiv2-0.27.5-Source
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ /usr/bin/cat /home/wikiuser/rpmbuild/SOURCES/exiv2-0.27.4-fix-pkgconfig-file.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch
+ /usr/bin/cat /home/wikiuser/rpmbuild/SOURCES/CVE-2021-29457-exiv-0.27.4.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch
1 out of 1 hunk FAILED -- saving rejects to file src/jp2image.cpp.rej
error: Bad exit status from /home/wikiuser/rpmbuild/tmp/rpm-tmp.c3IW3l (%prep)


RPM build errors:
    Bad exit status from /home/wikiuser/rpmbuild/tmp/rpm-tmp.c3IW3l (%prep)
Comment 24 christian barranco 2022-02-17 18:50:55 CET
Hi
Do you clean up your build folder before launching another one?

I am asking because looking at the file to be patched (src/jp2image.cpp) in the source tarball, it is clear exiv2-0.27.4-fix-pkgconfig-file.patch is not applied yet.
Comment 25 sturmvogel 2022-02-17 19:09:26 CET
Created attachment 13142 [details]
Mock build fail exiv2

Yep, all folders empty except SPECS and SOURCES.

I did also a first time install of mock and tried to build exiv2. Also fails with attached log.
Comment 26 sturmvogel 2022-02-17 19:14:41 CET
Finish: build setup for exiv2-0.27.5-1.mga8.src.rpm
Start: Outputting list of installed packages
Finish: Outputting list of installed packages
Start: rpmbuild exiv2-0.27.5-1.mga8.src.rpm
Building target platforms: x86_64
Building for target x86_64
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.Sm4EPX
+ umask 022
+ cd /builddir/build/BUILD
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ cd /builddir/build/BUILD
+ rm -rf exiv2-0.27.5-Source
+ /usr/bin/gzip -dc /builddir/build/SOURCES/exiv2-0.27.5-Source.tar.gz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd exiv2-0.27.5-Source
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ /usr/bin/cat /builddir/build/SOURCES/exiv2-0.27.4-fix-pkgconfig-file.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch
+ /usr/bin/cat /builddir/build/SOURCES/CVE-2021-29457-exiv-0.27.4.patch
1 out of 1 hunk FAILED -- saving rejects to file src/jp2image.cpp.rej


RPM build errors:
error: Bad exit status from /var/tmp/rpm-tmp.Sm4EPX (%prep)
    Bad exit status from /var/tmp/rpm-tmp.Sm4EPX (%prep)
Finish: rpmbuild exiv2-0.27.5-1.mga8.src.rpm
Finish: build phase for exiv2-0.27.5-1.mga8.src.rpm
ERROR: Exception(/home/wikiuser/rpmbuild/RPMS/exiv2-0.27.5-1.mga8.src.rpm) Config(mageia-8-x86_64) 0 minutes 46 seconds
INFO: Results and/or logs in: /home/wikiuser/rpmbuild/RPMS/
INFO: Cleaning up build root ('cleanup_on_failure=True')
Start: clean chroot
Finish: clean chroot
ERROR: Command failed: 
 # bash --login -c /usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/originals/exiv2.spec
Comment 27 christian barranco 2022-02-17 20:04:59 CET
What I just did:
-unpack my exiv2.0.27.5-1.src.rpm into SOURCES
-use the unpacked spec with mock to build the package

It works....

What I am wondering is whether when the patch is downloaded, it could introduce or skip an empty line, for instance. Then, the patch becomes incomplete.

Could you post or attach the src/jp2image.cpp.rej  ?

Thanks
Comment 28 sturmvogel 2022-02-17 20:18:15 CET
Created attachment 13143 [details]
Rejectet patch

I use the exiv2-0.27.5-Source.tar.gz downloaded from upstream for building. Attached the rejected patch jp2image.cpp.rej
Comment 29 sturmvogel 2022-02-17 20:19:32 CET
Created attachment 13144 [details]
Original jp2image.cpp  before patch

And here the original file jp2image.cpp before the patch is tried to apply.
Comment 30 sturmvogel 2022-02-17 20:35:32 CET
Ok, i'm so sorry for the trouble! I downloaded your patches again and removed my set which i had previuosly. 
You were right with 
(In reply to christian barranco from comment #27)
> it could introduce or skip an empty line, for instance.

Now it builds properly.

Sorry again :(
Comment 31 christian barranco 2022-02-17 20:40:53 CET
Created attachment 13145 [details]
difference between the CVE patch

Here is the difference between the patch I have and the .rej file, which an image of patch your build tries to apply (if I don't mistake).

On "your" patch, there is a trailing space and a blank line at the end.
If I use this patch, indeed, the build fails. 

Is there indeed an empty line at the end of your version of CVE-2021-29457-exiv-0.27.4.patch and, also, a space after switch(box.type)?

If so, if you remove both, does it work any better?
Comment 32 christian barranco 2022-02-17 20:42:03 CET
(In reply to sturmvogel from comment #30)
> Ok, i'm so sorry for the trouble! I downloaded your patches again and
> removed my set which i had previuosly. 
> You were right with 
> (In reply to christian barranco from comment #27)
> > it could introduce or skip an empty line, for instance.
> 
> Now it builds properly.
> 
> Sorry again :(

:)  

No worries, it is only the beginning of a new partnership together ;)
Comment 33 sturmvogel 2022-02-17 20:49:36 CET
At least you can laugh that i wasted your time :)
Comment 34 christian barranco 2022-02-17 21:09:07 CET
(In reply to sturmvogel from comment #33)
> At least you can laugh that i wasted your time :)

I always take a humble position in such situation; it might happen to me one day ! :D
Comment 35 Lewis Smith 2022-02-17 21:48:54 CET
Gosh, what a lot of work has gone in here. And many thanks to all for that.

To see the wood from the trees, can somebody please clarify exactly which attached patches & spec files now can be passed onwards? The bug is for Mageia 8.

Source RPM: darktable-3.8.0-1.1.mga8 => darktable-3.8.0-1.1.mga8, exiv2-0.27.3-1.4.mga8.src.rpm
CC: (none) => lewyssmith

sturmvogel 2022-02-17 21:55:33 CET

Attachment 13142 is obsolete: 0 => 1

sturmvogel 2022-02-17 21:56:01 CET

Attachment 13144 is obsolete: 0 => 1

sturmvogel 2022-02-17 21:56:19 CET

Attachment 13143 is obsolete: 0 => 1

sturmvogel 2022-02-17 21:56:34 CET

Attachment 13141 is obsolete: 0 => 1

sturmvogel 2022-02-17 21:56:55 CET

Attachment 13145 is obsolete: 0 => 1

sturmvogel 2022-02-17 21:57:18 CET

Attachment 13140 is obsolete: 0 => 1

Comment 36 sturmvogel 2022-02-17 21:59:11 CET
All stuff which is not needed got obsoleted.
Comment 37 Lewis Smith 2022-02-17 22:09:33 CET
Thank you for that instant reply. (I am glad I asked the question!)

Assigning this to akien who does 'daktable'.

Assignee: bugsquad => rverschelde
CC: lewyssmith => (none)

Comment 38 Jose Manuel López 2022-02-18 09:29:33 CET
Hello everyone!

I have deleted everything I did yesterday and re-downloaded the attachments. Now it builds fine, but here's a hint.

I had to modify in the "darktable.spec" file, the BuildRequires line of exiv and remove ">= 0.27.4", because it doesn't match neither with the exiv2 version of Mageia nor with the 0.27.5 version that I have built with the patches, and this generates error when trying to "urpmi darktable.spec" indicating that the dependencies cannot be installed because it doesn't match that version of exiv2.

After Darktable builds, I tried to install the resulting package and I get the error for version 0.27.4 and it won't continue with the install:

[jose@Mageia x86_64]$ sudo urpmi darktable-3.8.1-0.2.mga8.x86_64.rpm
[sudo] password for jose: 
Unable to install the requested package:
darktable-3.8.1-0.2.mga8.x86_64 (because lib64exiv2_27[>= 0.27.4] was not satisfied).
Go ahead with the installation? (Y/n) 

I have built the whole thing from Vbox Mageia 8 with the test repositories enabled.

Great work, thanks to all!
Comment 39 christian barranco 2022-02-18 09:39:15 CET
Hi Jose

You need to keep ">= 0.27.4", otherwise the ISOBMFF support will not be built into darktable. cr3 files will not be handled then.

In order to build darktable with that, you need to have lib64exiv2-devel-0.27.5 installed or part of the repo you use when you build DT.

Then, when you install this DT 3.8.1 rpm, you need also to install (together or before or part of a repo) lib64exiv2_27-0.27.5 , newly built.

It is why I created this report with DT and exiv2 together.

If you don't use the new version of exiv2 by removing the version condition as you did, it will build but cr3 support will not be enabled.

Do not hesitate to ask more question if I was not clear.
Comment 40 sturmvogel 2022-02-18 09:40:54 CET
(In reply to Jose Manuel López from comment #38)
> Hello everyone!
> 
> I have deleted everything I did yesterday and re-downloaded the attachments.
> Now it builds fine, but here's a hint.
> 
> I had to modify in the "darktable.spec" file, the BuildRequires line of exiv
> and remove ">= 0.27.4", because it doesn't match neither with the exiv2
> version of Mageia nor with the 0.27.5 version that I have built with the
> patches, and this generates error when trying to "urpmi darktable.spec"
> indicating that the dependencies cannot be installed because it doesn't
> match that version of exiv2.
> 
> After Darktable builds, I tried to install the resulting package and I get
> the error for version 0.27.4 and it won't continue with the install:
> 
> [jose@Mageia x86_64]$ sudo urpmi darktable-3.8.1-0.2.mga8.x86_64.rpm
> [sudo] password for jose: 
> Unable to install the requested package:
> darktable-3.8.1-0.2.mga8.x86_64 (because lib64exiv2_27[>= 0.27.4] was not
> satisfied).
> Go ahead with the installation? (Y/n) 
> 
> I have built the whole thing from Vbox Mageia 8 with the test repositories
> enabled.
> 
> Great work, thanks to all!

You didn't get the complete picture. You have to first build exiv2 0.27.5 and install them to your system including the devel packages. After that you are able to build darktable 3.8.1

exiv2 0.27.5 is a build require for darktable 3.8.1
Comment 41 Jose Manuel López 2022-02-18 09:46:49 CET
Ok, Ok, I understand.

I have tried what you say. Now, Darktable is installed without issues

Then, I think that we can upload this to testing repositories for QA team validate it. (I am a member of QA, :)).

Thanks and greetings!
Comment 42 christian barranco 2022-02-18 16:19:08 CET
Hi.
I just got a message from a user on the forum, confirming he can now read his cr3 files (from his Canon 90D) with this update; he is super happy!
Comment 43 christian barranco 2022-03-17 19:58:58 CET
Hi Rémi.
If you are too busy, do you want me to take care of this?

This package has been used for about a month by many users, without any issue raised.
Regarding the 2 optional packages I have added (tools-noise and tools-basecurve), the users' feedbacks are: "good to have them, but don't install them by default". 
I can adjust the spec accordingly.

Let me know your view.
Comment 44 Rémi Verschelde 2022-03-18 10:17:47 CET
Hi Christian,

The proposed changes look good overall, there's a few potential packaging issues that I'll have to see how to improve. If you're working on an update to the spec I'll wait for that to try it out and give my feedback.

I agree with adding tools-noise and tools-basecurve as optional (could be Recommends possibly).
Comment 45 christian barranco 2022-03-18 10:52:16 CET
Hi Rémi

Actually, I was only going to remove:
Recommends: darktable-tools-noise = %{version}-%{release}
Recommends: darktable-tools-basecurve = %{version}-%{release}

It will enforce their installations for some users, and it is what, eventually, we'd like not to do. The user will decide whether to install them.

I am really eager to learn and to improve. I am curious then about the few packaging issues you have noticed.
Could you elaborate, in order for me to try to propose fixes? 

Thanks :)
Comment 46 Rémi Verschelde 2022-05-15 19:35:12 CEST
Thanks for your work, and sorry for the delay reviewing the changes.

It all looks pretty good, I provided some feedback on the #mageia-mentoring channel (mostly nitpicks) but overall it's good and I committed most of the changes:

- Update to 3.8.1: http://svnweb.mageia.org/packages/cauldron/darktable/current/SPECS/darktable.spec?revision=1858249&view=markup&pathrev=1858273
- Adding gmic-devel, iso-codes, and sdl2 deps, and PROJECT_VERSION: http://svnweb.mageia.org/packages/cauldron/darktable/current/SPECS/darktable.spec?revision=1858256&view=markup&pathrev=1858273
- Enabling LTO for rawspeed and recommending roboto fonts: http://svnweb.mageia.org/packages/cauldron/darktable/current/SPECS/darktable.spec?revision=1858257&view=markup&pathrev=1858273
- Adding noise and basecurve tools: http://svnweb.mageia.org/packages/cauldron/darktable/current/SPECS/darktable.spec?revision=1858272&view=markup&pathrev=1858273

I did not add Recommends for the added tools because they seem like they're intended only for power users, and they're command line tools with little to no documentation. So I think most users shouldn't need to have them and their dependencies to use darktable. I'm happy to be contradicted on this though, I don't have much experience with those tools myself :)

I also noticed that darktable has other optional dependencies on libavif, and on LLVM (to test compiling opencl kernels). The former seemed useful and the latter not so I added these changes:

- BR libavif, disable opencl test compile: http://svnweb.mageia.org/packages/cauldron/darktable/current/SPECS/darktable.spec?revision=1858272&view=markup&pathrev=1858273

If that works OK, I can then look at bumping the version of exiv2 in Mageia 8 and making an update candidate for darktable.

Component: New RPM package request => RPM Packages
Version: 8 => Cauldron
Whiteboard: (none) => MGA8TOO

Comment 47 christian barranco 2023-03-05 22:13:20 CET
Hi. I have been leaving with the update of exiv2 on MGA8 for some time, as other users.
Not sure though it is worth the effort now, as MGA9 is closer and closer.
Should this report just be closed?
Comment 48 christian barranco 2023-11-27 12:44:55 CET
Obsolète

Status: NEW => RESOLVED
Resolution: (none) => WONTFIX


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