Bug ID 1160729
Summary Fix shadow 4.8 openQA fail
Classification openSUSE
Product openSUSE Tumbleweed
Version Current
Hardware Other
OS Other
Status NEW
Severity Normal
Priority P5 - None
Component Basesystem
Assignee bnc-team-screening@forge.provo.novell.com
Reporter mvetter@suse.com
QA Contact qa-bugs@suse.de
Found By ---
Blocker ---

https://build.opensuse.org/request/show/757530 intended to update shadow from
4.7 to 4.8.

DimStar notified that it creates the follwoing openQA failure:

2019-12-30 11:28:11 <5> install(3531) [zypp] Exception.cc(log):166
RpmDb.cc(doInstallPackage):2123 THROW:    Subprocess failed. Error: RPM failed:
groupadd -r -g 65533 nogroup
2019-12-30 11:28:11 <5> install(3531) [zypp] Exception.cc(log):166 groupadd -r
-g 65534 nobody
2019-12-30 11:28:11 <5> install(3531) [zypp] Exception.cc(log):166 useradd -r
-s /sbin/nologin -c "nobody" -g nobody -d /var/lib/nobody -u 65534 nobody
2019-12-30 11:28:11 <5> install(3531) [zypp] Exception.cc(log):166 useradd:
invalid shell '/sbin/nologin'
2019-12-30 11:28:11 <5> install(3531) [zypp] Exception.cc(log):166 error:
%prein(system-user-nobody-20170617-9.55.noarch) scriptlet failed, exit status 3
2019-12-30 11:28:11 <5> install(3531) [zypp] Exception.cc(log):166 error:
system-user-nobody-20170617-9.55.noarch: install failed

It is happening due to https://github.com/shadow-maint/shadow/pull/187 which
makes `useradd -s` (setting the users shell) check whether the binary exists
before setting it.

The openQA test sets this to `/sbin/nologin` which seems to be provided by
util-linux and not shadow on our distro. And in this test util-linux seems not
to be installed.

Serge noted on https://github.com/shadow-maint/shadow/issues/207 that shadow
can provide nologin too.

Possible solutions:
1. Install util-linux in the test scenario
  Maybe has other drawbacks like dependency loops during initial system
setup/minimal systems?
2. Use shadows nologin (I didn't see a compile switch in our spec file that
disables it..).
3. Add a patch that always allows nologin even if it's not there. Either always
or when creating a system user (-r)

Any feedback/ideas are welcome.


You are receiving this mail because: