https://src.fedoraproject.org/rpms/setup/c/7ced36d60b67c9e74f7951123225200597e3d2fa?branch=rawhide merged the two setup sysusers files into one and changed the name, so let's adapt the test_sysusers_defined check for those changes.
30 lines
795 B
Python
Executable file
30 lines
795 B
Python
Executable file
#!/usr/bin/python
|
|
|
|
import sys
|
|
|
|
def parse_sysusers_file(filename):
|
|
users, groups = set(), set()
|
|
|
|
for line in open(filename):
|
|
line = line.strip()
|
|
if not line or line.startswith('#'):
|
|
continue
|
|
words = line.split()
|
|
match words[0]:
|
|
case 'u'|'u!':
|
|
users.add(words[1])
|
|
case 'g':
|
|
groups.add(words[1])
|
|
case 'm'|'r':
|
|
continue
|
|
case _:
|
|
assert False
|
|
return users, groups
|
|
|
|
setup_users, setup_groups = parse_sysusers_file(sys.argv[1])
|
|
basic_users, basic_groups = parse_sysusers_file(sys.argv[2])
|
|
|
|
if d := basic_users - setup_users:
|
|
exit(f'We have new users: {d}')
|
|
if d := basic_groups - setup_groups:
|
|
exit(f'We have new groups: {d}')
|