FS#77846 - [glib2] 2.76.0-1 empty /usr/lib/gio/modules

Attached to Project: Arch Linux
Opened by Toolybird (Toolybird) - Tuesday, 14 March 2023, 03:29 GMT
Last edited by Toolybird (Toolybird) - Thursday, 23 March 2023, 03:21 GMT
Task Type General Gripe
Category Packages: Core
Status Closed
Assigned To Jan Alexander Steffens (heftig)
Architecture All
Severity Very Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Latest glib2 pkg ships an empty folder `/usr/lib/gio/modules'. Not a big problem by itself. But pacman only installs it as `/usr/lib/gio' which results in the files database being inconsistent. I don't know why pacman omits the last folder...maybe that's a separate bug?

The issue shows up in `pacreport --missing-files'

It doesn't matter on desktops where `/usr/lib/gio/modules' is typically populated, but on servers it becomes apparent.
This task depends upon

Closed by  Toolybird (Toolybird)
Thursday, 23 March 2023, 03:21 GMT
Reason for closing:  Fixed
Additional comments about closing:  glib2 2.76.0-2
Comment by Jefferson (jeffersonjbj) - Saturday, 18 March 2023, 20:42 GMT
I'm also having the same problem after updating libglib2. Some library errors and networkmanager stopped working crashing the whole system.

[jefferson@AcerNote ~]$ appstreamcli
appstreamcli: symbol lookup error: /usr/lib/libappstream.so.4: undefined symbol: g_string_free_and_steal

I downgraded libglib2 and several dependencies to be able to use the system...
Comment by Allan McRae (Allan) - Wednesday, 22 March 2023, 03:57 GMT
This is a not a pacman issue. It is a package issue. So you may want to look at the work around.


Adding hooks that run "ls -l /usr/lib/gio/" at the start and end of the hooks:

:: Running post-transaction hooks...
(1/3) ls...
total 0
drwxr-xr-x 1 root root 0 Mar 11 01:18 modules
(2/3) Updating GIO module cache...
(3/3) ls...
total 0

The modules directory is there and installed correctly by pacman before the "Updating GIO module cache..." hook. It is not afterwards...
Comment by Allan McRae (Allan) - Wednesday, 22 March 2023, 04:01 GMT
OMG.... this is the /usr/share/libalpm/scripts/gio-querymodules script that was called on with $d being usr/lib/gio/modules/

#!/bin/bash

while read -r d; do
[[ -d $d ]] || continue
gio-querymodules "$d"
rmdir --ignore-fail-on-non-empty "$d"
done


I wonder why the directory was being removed...

Not a pacman issue.
Comment by Toolybird (Toolybird) - Wednesday, 22 March 2023, 04:28 GMT
Ahahhhhh! Mystery solved! Thanks Allan and sorry for besmirching the good pacman name :) It was only a suspicion...but I was indeed off the mark :(

Loading...