diff --git a/acct-group/shadow/metadata.xml b/acct-group/shadow/metadata.xml new file mode 100644 index 000000000000..65e1fc82d859 --- /dev/null +++ b/acct-group/shadow/metadata.xml @@ -0,0 +1,7 @@ + + + + + base-system@gentoo.org + + diff --git a/acct-group/shadow/shadow-0.ebuild b/acct-group/shadow/shadow-0.ebuild new file mode 100644 index 000000000000..8c09eba4ce43 --- /dev/null +++ b/acct-group/shadow/shadow-0.ebuild @@ -0,0 +1,24 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit acct-group user-info + +ACCT_GROUP_ID=42 + +pkg_postinst() { + # Look up the gid in ${EROOT}/etc/group. + # It may differ from the gid in /etc/group. + local gid=$(egetent group shadow | cut -d: -f3) + if [[ -z ${gid} ]]; then + eerror "Unable to determine id for shadow group" + return + fi + local db + for db in gshadow shadow; do + [[ -e ${EROOT}/etc/${db} ]] || continue + chgrp "${gid}" "${EROOT}/etc/${db}" + chmod g+r "${EROOT}/etc/${db}" + done +}