Subject: bug#78355: closed (Re: bug#78355: guix-ownership inconsistent state)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 01 Jul 2025 22:30:06 +0000

Your bug report

#78355: guix-ownership inconsistent state

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
78355: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78355
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#78355: guix-ownership inconsistent state
From: Ludovic Courtès <[email-masked]>
To: Rutherther <[email-masked]>
Cc: [email-masked]
Date: Tue, 01 Jul 2025 23:44:16 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Rutherther,

Ludovic Courtès <[email-masked]> writes:

> Rutherther <[email-masked]> writes:
>
>> The guix-ownership service checks /gnu/store ownership to check if the
>> whole store and all files important for the daemon (/etc/guix,
>> /var/guix) are owned by the appropriate user.
>>
>> If the folder isn't owned by appropriate user, it moves to those steps:
>> 1. Fix permissions in /gnu/store - first under it, then /gnu/store
>> itself as last step
>> 2. Fix /var/guix
>> 3. Fix /etc/guix
>> 4. Fix /var/log/guix
>>
>> So from those laid out steps it should be obvious that if guix-ownership
>> service somehow stops between steps 1 and 2, it will never recover
>> ownerships of /var/guix, /etc/guix and /var/log/guix. /gnu/store should
>> change owner as last.
>
> Sorry for dropping the ball.  How about the patch below?

Pushed as c33bc8008090bafda228e475dedc71cd06f56e4f.

Thanks!

Ludo'.

Subject: guix-ownership inconsistent state
From: Rutherther <[email-masked]>
To: [email-masked]
Date: Sat, 10 May 2025 17:33:56 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

There are reports from users with inconsistencies in ownership, it seems that at
least /var/guix is sometimes left with wrong owner, but maybe even parts
of the store? I cannot verify that.

The guix-ownership service checks /gnu/store ownership to check if the
whole store and all files important for the daemon (/etc/guix,
/var/guix) are owned by the appropriate user.

If the folder isn't owned by appropriate user, it moves to those steps:
1. Fix permissions in /gnu/store - first under it, then /gnu/store
itself as last step
2. Fix /var/guix
3. Fix /etc/guix
4. Fix /var/log/guix

So from those laid out steps it should be obvious that if guix-ownership
service somehow stops between steps 1 and 2, it will never recover
ownerships of /var/guix, /etc/guix and /var/log/guix. /gnu/store should
change owner as last.

On the other hand it feels much of a coincidence users would be
consistently hitting reboots between those steps. So maybe I am
overlooking another thing. I checked the file-system-fold, it goes to
/gnu/store as last, so that would mean putting step 1 after 4 should fix
that. Still, maybe only /gnu/store itself should be skipped instead of moving
the step, and done as last, step 5 to ensure it's fine even if
file-system-fold somehow changed the ordering? Not sure how exactly it
should behave in that regard.

Regards
Rutherther