FS#55492 - [filesystem] sysusers.d usage in filesystem >= 2017.8

Attached to Project: Arch Linux
Opened by Evangelos Foutras (foutrelis) - Sunday, 03 September 2017, 23:38 GMT
Last edited by Sébastien Luttringer (seblu) - Sunday, 10 December 2017, 16:09 GMT
Task Type Bug Report
Category Packages: Testing
Status Closed
Assigned To Dave Reisner (falconindy)
Christian Hesse (eworm)
Sébastien Luttringer (seblu)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Build chroots don't have systemd installed which means the systemd-sysusers pacman hook won't be triggered. This causes /etc/{passwd,group} to contain only "root" and "builduser" users/groups.

sudo's test suite doesn't seem too happy about the above situation:

> testsudoers: unknown group: bin

Changing systemd to a runtime dep should resolve this; I'm not sure if there's a better solution.
This task depends upon

Closed by  Sébastien Luttringer (seblu)
Sunday, 10 December 2017, 16:09 GMT
Reason for closing:  Fixed
Comment by Evangelos Foutras (foutrelis) - Tuesday, 05 September 2017, 13:29 GMT
Unfortunately changing systemd to a runtime dependency introduces circular dependencies and results in tons of the following pacman warnings:

warning: dependency cycle detected:
warning: filesystem will be installed before its glibc dependency
warning: dependency cycle detected:
warning: ncurses will be installed before its glibc dependency
warning: dependency cycle detected:
warning: ncurses will be installed before its glibc dependency
warning: dependency cycle detected:
warning: lib32-glibc will be installed before its glibc dependency
warning: dependency cycle detected:
warning: filesystem will be installed before its glibc dependency

The fileystem/glibc one is printed way too many times.

The above is reproducible on a system using [testing] by doing 'pacman -S glibc filesystem'.
Comment by Sébastien Luttringer (seblu) - Tuesday, 05 September 2017, 22:18 GMT
is the right way to fix that is to remove the deps in filesystem and add systemd to base-devel?
Comment by Evangelos Foutras (foutrelis) - Tuesday, 05 September 2017, 22:21 GMT
Possibly! @Dave @Christian thoughts?
Comment by Christian Hesse (eworm) - Friday, 08 September 2017, 12:56 GMT
I think I introduced this by changing device-mapper's dependency from systemd to libsystemd [0] to resolve a circular dependency. I am fine with adding systemd to base-devel. We had it in there before by dependency.

[0] https://git.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/lvm2&id=892ad7d0314d5d97d434c4f1fdf1095a28f997ed
Comment by Sébastien Luttringer (seblu) - Monday, 11 September 2017, 19:58 GMT
I'm bumping a version of systemd in testing with groups=('base-devel') to check it solves this properly.
Comment by Andreas Radke (AndyRTR) - Tuesday, 12 September 2017, 05:27 GMT
While having systemd in base-devel solves build issues for required users/groups how should we deal with runtime dependency?
We have to deal with two cases: either systemd itself has to create a certain user/group or some package provides a sysuser.d/foo.conf file that depends on the systemd sysuser hook.

We can either put for all these packages "systemd" to their runtime depenency or be honest and put systemd into "base" group and expect it to be installed on every Arch system.
I'm for the 2nd choice to put it into base group because we officially don't support any other init system and truely depend more and more on systemd functions. I guess it would still allow
to have users use a different init system of their choice as long as it is allowed to be installed along systemd.

But probably such a major decission should be brought to our public dev list.
Comment by Bartłomiej Piotrowski (Barthalion) - Tuesday, 12 September 2017, 17:36 GMT
Both actions should have been discussed on our mailing list. All recent changes to filesystem package went mostly unnoticed because not even half of the team tracks every single issue, and let's be honest, most of these changes are significant and had impact on other parts of distribution. No amount of sudden devtools changes or additions to base groups will change it.
Comment by Sébastien Luttringer (seblu) - Tuesday, 12 September 2017, 20:53 GMT
Andreas, systemd is already in base group, via systemd-sysvcompat. Arch Linux iso and boostrap tarball both have systemd installed.
But devtools use base-devel, which prevent linux or others packages to be pulled to only build packages. Sure let's disuss it on dev public, maybe there is better options.

@Bartłomiej: Changes doesn't looks significant to me. I not see much difference with your statement of dropping nss_compat in glibc ( FS#54592 ), but I note your concern. Let's discuss it on a-d-p.
But I'm sad that you see «sudden» changes as something negative, where I tried to not let a broken situation in testing. Not to mention that:
- I did modification in systemd after receive a positive answer from one maintainer;
- I had proposed a solution in a bug report ( FS#55482 ) opened by the devtools maintainer 2 days before sending a patch to review in arch-projects and then 5 more days before merging it.

Loading...