are the OBS repos for darktable dead?

I just posted an issue on github, but it seems it is related to those being discussed in this thread:

I first tried installing master as per instructions on github page but that failed.
So I uninstalled dt 3.8.1, then purged, removed darktable, then installed new from OBS repo for xubuntu 20.04 (I’m on Mint 20.3), but got the message:

W: GPG error: Index of /repositories/graphics:/darktable:/stable/xUbuntu_20.04 InRelease: The following signatures were invalid: EXPKEYSIG 040524A84C70D8B5 graphics:darktable OBS Project graphics:darktable@build.opensuse.org
E: The repository ‘Index of /repositories/graphics:/darktable:/stable/xUbuntu_20.04 InRelease’ is not signed.
N: Updating from such a repository can’t be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

I see some posts above about removing and reinstalling keys, but it is not clear at all to me how to follow them.

@Soupy

To quote myself:

This should work for you.

Edit:

You can also check whether the file /etc/apt/trusted.gpg.d/graphics_darktable.gpg exists:

$ ls -al /etc/apt/trusted.gpg.d/graphics_darktable.gpg
-rw-r--r-- 1 root root 1110 May 29 13:24 /etc/apt/trusted.gpg.d/graphics_darktable.gpg

And print some information about the key (e.g. the expiry date) with the gpg command:

$ gpg  --show-keys  /etc/apt/trusted.gpg.d/graphics_darktable.gpg
pub   rsa2048 2017-12-26 [SC] [expires: 2024-07-26]
      3247B7519EDBEAB422E900A3040524A84C70D8B5
uid                      graphics:darktable OBS Project <graphics:darktable@build.opensuse.org>

Notice that the key that I have installed has an expiry date of July 26, 2024.
The previous key from 2020 looked like this and expired back in May:

$ gpg --show-key graphics_darktable_2020.gpg 
pub   rsa2048 2017-12-26 [SC] [expired: 2022-05-16]
      3247B7519EDBEAB422E900A3040524A84C70D8B5
uid                      graphics:darktable OBS Project <graphics:darktable@build.opensuse.org>

You notice that the key ID is actually the same, but it has been re-published with a new expiry date.

1 Like

Just to note, the install of 4.0 from OBS on a relatively fresh Ubuntu 22.04 went without a hitch.

Thanks. My key has an expiry of 22-05-16. How do I change it to be more up to date? Can I just delete the .gpg file and it will be recreated with the right key when I install darktable again?

The curl command I used is exactly the same as yours, except it uses graphics:darktable:stable and graphics_darktable_stable.gpg

Yes, deleting the gpg file and running the curl … | gpg … | sudo tee… command again will work.
Theoretically You don’t even need to delete it first, as that command should overwrite it, if it already exists.

Make sure to scroll all the way, as the command is quite long.

Hm, it didn’t work. I deleted the .gpg file then re-installed from the OBS repos as per instructions there. Like I said, only difference between your command and theirs is the addition of “stable” as per my previous post. So either there is something wrong with the package (has the wrong key date?) or there is something else on my system somehow causing the creation of the old key date.

Yours:

curl -fsSL https://download.opensuse.org/repositories/graphics:darktable/xUbuntu_20.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/graphics_darktable.gpg > /dev/null

Theirs:

curl -fsSL https://download.opensuse.org/repositories/graphics:darktable:stable/xUbuntu_20.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/graphics_darktable_stable.gpg > /dev/null

EDIT: also deleted /etc/apt/trusted.gpg (and a hidden folder with the same name)
Still no joy.

Only other files I see in /etc/apt are for spotify, ubuntu defaults and ubuntu keyring

EDIT 2: graphics:darktable:master had an update 1 day ago, but graphics:darktable:stable last update was 20 days ago. I just installed graphics:darktable:master and it is working. So it seems stable is still waiting on an update. Given the next upgrade of Mint is likely only a month or two away, I guess i will just use the master version until then. It should be near identical to the stable version right at this moment.

They key (with which the packages are signed) should be the same for all darktable repos on OBS, no matter if you are using graphics:darktable (latest release), graphics:darktable:stable (snapshot from the stable branch) or graphics:darktable:master (snapshot from the main development branch).

However it seems that @asn has missed uploading the updated public key to the stable repository, as the key there still has the old expiry date:

$ curl -fsSL https://download.opensuse.org/repositories/graphics:darktable:stable/xUbuntu_20.04/Release.key | gpg --show-key
pub   rsa2048 2017-12-26 [SC] [expired: 2022-05-16]
      3247B7519EDBEAB422E900A3040524A84C70D8B5
uid                      graphics:darktable OBS Project <graphics:darktable@build.opensuse.org>

The keys for the releases (which I’m using):

$ curl -fsSL https://download.opensuse.org/repositories/graphics:darktable/xUbuntu_20.04/Release.key | gpg --show-key
pub   rsa2048 2017-12-26 [SC] [expires: 2024-07-26]
      3247B7519EDBEAB422E900A3040524A84C70D8B5
uid                      graphics:darktable OBS Project <graphics:darktable@build.opensuse.org>

and the master-branch:

$ curl -fsSL https://download.opensuse.org/repositories/graphics:darktable:master/xUbuntu_20.04/Release.key | gpg --show-key
pub   rsa2048 2017-12-26 [SC] [expires: 2024-07-26]
      3247B7519EDBEAB422E900A3040524A84C70D8B5
uid                      graphics:darktable OBS Project <graphics:darktable@build.opensuse.org>

are up to date.

Edit
It looks like all stable repos for Ubuntu still have the outdated key:

$ for REPO in 'graphics:darktable' 'graphics:darktable:master' 'graphics:darktable:stable' ;  do 
>   for VER in 20.04 21.04 21.10 22.04 ; do 
>     echo "$REPO $VER $(curl -fsSL https://download.opensuse.org/repositories/${REPO}/xUbuntu_${VER}/Release.key | gpg --show-key | grep pub )" ; 
>   done ; 
>   echo " "
> done
graphics:darktable 20.04 pub   rsa2048 2017-12-26 [SC] [expires: 2024-07-26]
graphics:darktable 21.04 pub   rsa2048 2017-12-26 [SC] [expires: 2024-07-26]
graphics:darktable 21.10 pub   rsa2048 2017-12-26 [SC] [expires: 2024-07-26]
graphics:darktable 22.04 pub   rsa2048 2017-12-26 [SC] [expires: 2024-07-26]

graphics:darktable:master 20.04 pub   rsa2048 2017-12-26 [SC] [expires: 2024-07-26]
graphics:darktable:master 21.04 pub   rsa2048 2017-12-26 [SC] [expires: 2024-07-26]
graphics:darktable:master 21.10 pub   rsa2048 2017-12-26 [SC] [expires: 2024-07-26]
graphics:darktable:master 22.04 pub   rsa2048 2017-12-26 [SC] [expires: 2024-07-26]

graphics:darktable:stable 20.04 pub   rsa2048 2017-12-26 [SC] [expired: 2022-05-16]
graphics:darktable:stable 21.04 pub   rsa2048 2017-12-26 [SC] [expired: 2022-05-16]
graphics:darktable:stable 21.10 pub   rsa2048 2017-12-26 [SC] [expired: 2022-05-16]
curl: (22) The requested URL returned error: 404 
gpg: no valid OpenPGP data found.
graphics:darktable:stable 22.04 
2 Likes

OBS repository again has trouble building master version of darktable for all Debian distributions:

@asn Can you check what’s going on please?

Thanks!

1 Like
[  634s] /usr/src/packages/BUILD/src/common/iop_order.c: In function '_insert_before.isra':
[  634s] /usr/src/packages/BUILD/src/common/iop_order.c:390:15: internal compiler error: Illegal instruction
[  634s]   390 | static GList *_insert_before(GList *iop_order_list, const char *module, const char *new_module)
[  634s]       |               ^~~~~~~~~~~~~~
[  634s] 0x196b756 internal_error(char const*, ...)
[  634s] 	???:0
[  634s] 0x7f4ab64f5675 isl_hash_table_init
[  634s] 	???:0
[  634s] 0x7f4ab64e12a6 isl_ctx_alloc_with_options
[  634s] 	???:0
[  634s] 0x17f4c17 graphite_transform_loops()
[  634s] 	???:0
[  634s] Please submit a full bug report, with preprocessed source (by using -freport-bug).
[  634s] Please include the complete backtrace with any bug report.
[  634s] See <file:///usr/share/doc/gcc-12/README.Bugs> for instructions.

On Debian the compiler is not able to build iop_order.c

On Ubuntu something is wrong with detecting wb_presets.json. No idea what is going wrong here. Someone with Debian packaging experience needs to take a look.

1 Like

Do we have anyone here who has experience building Debian packages who can look at the problem with building the darktable master version?

For example, here is log file for Ubuntu 22.04:

Update has just arrived. Darktable master build for Ubuntu distros seem to work again! :partying_face:

Big thanks to whoever took care of it!! :dizzy: :+1:

2 Likes

There are problems with building master version. OpenSuse and Ubuntu derivatives are affected:

@asn may I ask you to look at it?

Thanks.

How do we feel about getting a flatpak of master instead of all these different flavors?

3 Likes

Good idea.

The openSUSE build is fixed, but Ubuntu doesn’t work because of:

[  330s] CMake Error at /usr/lib/llvm-15/lib/cmake/llvm/LLVMExports.cmake:1634 (message):
[  330s]   The imported target "mlir-tblgen" references the file
[  330s] 
[  330s]      "/usr/lib/llvm-15/bin/mlir-tblgen"
[  330s] 
[  330s]   but this file does not exist.  Possible reasons include:
[  330s] 
[  330s]   * The file was deleted, renamed, or moved to another location.
[  330s] 
[  330s]   * An install or uninstall procedure did not complete successfully.
[  330s] 
[  330s]   * The installation package was faulty and contained
[  330s] 
[  330s]      "/usr/lib/llvm-15/lib/cmake/llvm/LLVMExports.cmake"
[  330s] 
[  330s]   but not all the files it references.

I don’t know what provides mlir-tblgen now, but it looks like something changed on Ubuntu.

Someone with Debian/Ubuntu knowlege who can shed some light on this?

2 Likes

additionally the gcc version is too old. it was gcc >= 12 at least. that kicks out a lot of ubuntu releases. not sure if that is intentionally by the darktable team:

GNU C++ compiler version 11.2.0 is too old and is unsupported.  Version 12+

or at least the gcc c++ dependency in the dsc/control file needs some tweaking.

It’s related to rawspeed update then added on darktable code. See that PR to try to go back and related issue in @Pascal_Obry comment: Relax compiler version check to allow GCC 10.x. by TurboGit · Pull Request #13995 · darktable-org/darktable · GitHub. I do not read all but seems something needed but not simple to deal with (as far as I understood), and something a little controversial about when making that move.

The file is provided by mlir-15-tools package.

It looks like Debian/Ubuntu has a packaging bug:

[  285s] CMake Error at /usr/lib/llvm-15/lib/cmake/llvm/LLVMExports.cmake:1634 (message):
[  285s]   The imported target "mlir-tblgen" references the file
[  285s] 
[  285s]      "/usr/lib/llvm-15/bin/mlir-tblgen"
[  285s] 
[  285s]   but this file does not exist.  Possible reasons include:
[  285s] 
[  285s]   * The file was deleted, renamed, or moved to another location.
[  285s] 
[  285s]   * An install or uninstall procedure did not complete successfully.
[  285s] 
[  285s]   * The installation package was faulty and contained
[  285s] 
[  285s]      "/usr/lib/llvm-15/lib/cmake/llvm/LLVMExports.cmake"
[  285s] 
[  285s]   but not all the files it references.
[  285s] 
[  285s] Call Stack (most recent call first):
[  285s]   /usr/lib/llvm-15/cmake/LLVMConfig.cmake:328 (include)
[  285s]   CMakeLists.txt:315 (find_package)

Looks like llvm-dev installs /usr/lib/llvm-15/lib/cmake/llvm/LLVMExports.cmake, but doesn’t require the corresponding mlir-XX-tools package which prvides mlir-tblsgen! Where XX is 15 in this case.

Can someone report it?

1 Like

For Ubuntu, depending on the version there aree two packages that point to mlir-tblgen:
For Ubuntu 18.04, 20.04, 20.10 and 22.10:

llvm-13_13.0.1-7_amd64

https://manpages.ubuntu.com/manpages/kinetic/en/man1/mlir-tblgen-13.1.html

For Ubuntu 22.04:

llvm-13_13.0.1-2ubuntu2_amd64

https://manpages.ubuntu.com/manpages/jammy/en/man1/mlir-tblgen-13.1.html