openSUSE / openSUSEway

dotfiles for Sway on openSUSE
MIT License
82 stars 17 forks source link

Nothing provides 'group(greeter)' needed by the to be installed openSUSEway-0.16.0-1.2.noarch #136

Closed FilippoBonazziSUSE closed 4 months ago

FilippoBonazziSUSE commented 5 months ago

As already reported by users on our Telegram channel, trying to update openSUSEway fails since a few Tumbleweed snapshots with the errors:

Problem: nothing provides 'group(greeter)' needed by the to be installed openSUSEway-0.16.0-1.2.noarch
Problem: nothing provides 'group(greeter)' needed by the to be installed greetd-0.9.0-1.6.x86:64

This is caused by new rpm features introduced in 4.19.0. A warning was posted on the openSUSE Factory mailing list, but I had missed it.

Here is the description of the issue and the suggested fixes:

Any non-root ownership in the %files section (through %attr() or %defattr()) now generates an automatic dependency on the named user and/or group. This dependency can be satisfied by another package shipping a sysusers.d(5) file or the /etc/passwd and /etc/group files themselves. Existing packages shipping any of these files will have to be rebuilt with RPM 4.19 in order for them to carry the respective user and/or group provides. This may require distro-level coordination to ensure proper installation of all the affected packages. For more information, please consult the manual. The story around the users can be trickier to be identified, as the build might succeed, but the package not being installable at the end due to missing dependencies reported. This usually happens when users are generated in %pre scripts using useradd. Either convert those packages to use sysusers.d ( https://en.opensuse.org/openSUSE:Packaging_guidelines#Users_and_Groups) or, as a quickest measure, usually helpful if no other package relies on the same users, manually add the respective Provides: user(USERNAME) and Provides: group(GROUPNAME) to the package generating the relevant user (as done for example in cluster-glue, https://build.opensuse.org/request/show/1138101 for reference)

I am planning to look into the first solution (using sysusers.d).

FilippoBonazziSUSE commented 4 months ago

Submitted to X11:Wayland in https://build.opensuse.org/request/show/1144362

FilippoBonazziSUSE commented 4 months ago

Submitted to Factory in https://build.opensuse.org/request/show/1144470

FilippoBonazziSUSE commented 4 months ago

Also related: remove greeter user creation from the greetd spec file (https://build.opensuse.org/request/show/1144676) and add the home directory and video group that it had there to system-user-greeter (https://build.opensuse.org/request/show/1144674).

FilippoBonazziSUSE commented 4 months ago

I think all issues related to this have been solved. I have updated my TW without problems.