From a438c61e39182ca1a759d28fc77dd6daf6fe103a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Fri, 13 Dec 2019 17:32:09 +0100 Subject: [PATCH] acct-*.eclass: Create sysusers.d files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Górny --- eclass/acct-group.eclass | 16 +++++++++++++++- eclass/acct-user.eclass | 14 +++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/eclass/acct-group.eclass b/eclass/acct-group.eclass index 0b943454a92e..ea0f545c27ff 100644 --- a/eclass/acct-group.eclass +++ b/eclass/acct-group.eclass @@ -80,7 +80,7 @@ S=${WORKDIR} # << Phase functions >> -EXPORT_FUNCTIONS pkg_pretend pkg_preinst +EXPORT_FUNCTIONS pkg_pretend src_install pkg_preinst # @FUNCTION: acct-group_pkg_pretend # @DESCRIPTION: @@ -116,6 +116,20 @@ acct-group_pkg_pretend() { fi } +# @FUNCTION: acct-group_src_install +# @DESCRIPTION: +# Installs sysusers.d file for the group. +acct-group_src_install() { + debug-print-function ${FUNCNAME} "${@}" + + insinto /usr/lib/sysusers.d + newins - ${CATEGORY}-${ACCT_GROUP_NAME}.conf < <( + printf "g\t%q\t%q\n" \ + "${ACCT_GROUP_NAME}" \ + "${ACCT_GROUP_ID/#-*/-}" + ) +} + # @FUNCTION: acct-group_pkg_preinst # @DESCRIPTION: # Creates the group if it does not exist yet. diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass index be6b3dd3e600..10d713c53426 100644 --- a/eclass/acct-user.eclass +++ b/eclass/acct-user.eclass @@ -312,7 +312,7 @@ acct-user_pkg_pretend() { # @FUNCTION: acct-user_src_install # @DESCRIPTION: # Installs a keep-file into the user's home directory to ensure it is -# owned by the package. +# owned by the package, and sysusers.d file. acct-user_src_install() { debug-print-function ${FUNCNAME} "${@}" @@ -321,6 +321,18 @@ acct-user_src_install() { # created yet keepdir "${ACCT_USER_HOME}" fi + + insinto /usr/lib/sysusers.d + newins - ${CATEGORY}-${ACCT_USER_NAME}.conf < <( + printf "u\t%q\t%q\t%q\t%q\t%q\n" \ + "${ACCT_USER_NAME}" \ + "${ACCT_USER_ID/#-*/-}" \ + "${DESCRIPTION//[:,=]/;}" \ + "${ACCT_USER_HOME}" \ + "${ACCT_USER_SHELL/#-*/-}" + printf "m\t${ACCT_USER_NAME}\t%q\n" \ + "${ACCT_USER_GROUPS[@]}" + ) } # @FUNCTION: acct-user_pkg_preinst -- 2.24.1