--- /dev/null
+#!/usr/bin/env bash
+#SPDX-License-Identifier: 0BSD
+
+set -euo pipefail
+
+test -f group
+test -f passwd
+
+mkdir -p sysusers.d
+
+while read -r line; do
+ groupname=$(echo "${line}" | cut -d: -f1)
+ gid=$(echo "${line}" | cut -d: -f3)
+ echo "g ${groupname} ${gid}"
+done <group >sysusers.d/20-setup-groups.conf
+
+while read -r line; do
+ username=$(echo "${line}" | cut -d: -f1)
+ uid=$(echo "${line}" | cut -d: -f3)
+ gid=$(echo "${line}" | cut -d: -f4)
+ gecos=$(echo "${line}" | cut -d: -f5)
+ homedir=$(echo "${line}" | cut -d: -f6)
+ if [ "${homedir}" == "/" ]; then
+ homedir="-"
+ fi
+ shell=$(echo "${line}" | cut -d: -f7)
+ if [ "${shell}" == "/usr/sbin/nologin" ]; then
+ shell="-"
+ fi
+ echo "u ${username} ${uid}:${gid} \"${gecos}\" ${homedir} ${shell}"
+done <passwd >sysusers.d/20-setup-users.conf
name = setup
version = 3.0
-release = 18
+release = 19
arch = noarch
groups = Base Build System/Base
end
build
+ bash ./generate-sysusers-fragments.sh
bash ./shadowconvert.sh
end
echo "d /run/motd.d 0755 root root -" >> %{BUILDROOT}%{tmpfilesdir}/%{name}.conf
chmod 0644 %{BUILDROOT}%{tmpfilesdir}/%{name}.conf
+ # Install generated sysusers files.
+ mkdir -pv %{BUILDROOT}%{sysusersdir}
+ install -v -m 0644 %{DIR_APP}/sysusers.d/*.conf %{BUILDROOT}%{sysusersdir}
+
mkdir -pv %{BUILDROOT}%{sysconfdir}/sysctl.d
install -m 644 %{DIR_APP}/sysctl/printk.conf \
%{BUILDROOT}%{sysconfdir}/sysctl.d/printk.conf