commit: 537f565690024195dab4e9973189ab648dc3e5cc
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 4 16:38:36 2025 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Dec 7 18:15:33 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=537f5656
fcaps.eclass: remove default value for owner/group
This makes the options behave like the mode/caps mode options.
Usually the file is already owned by root so the chown call is a noop.
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
eclass/fcaps.eclass | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/eclass/fcaps.eclass b/eclass/fcaps.eclass
index 81c1ca62368c..0bbfc867716f 100644
--- a/eclass/fcaps.eclass
+++ b/eclass/fcaps.eclass
@@ -87,9 +87,8 @@ esac
# The caps mode is used to set the permission on the file if capabilities
# were properly set on the file. No change is applied by default.
#
-# If the system is unable to set capabilities, it will use the specified user,
-# group, and mode. The user and group default to 0. If mode is unspecified,
no
-# change is applied.
+# If capabilities are not sucessfully applied, the permissions on the file are
+# updated according to the owner, group, and mode options, if provided.
#
# For example, "-m u+s" may be used to enable suid as a fallback when file caps
# are unavailable. This should be used with care, typically when the
@@ -103,8 +102,8 @@ fcaps() {
fi
# Process the user options first.
- local owner='0'
- local group='0'
+ local owner=
+ local group=
local mode=
local caps_mode=
@@ -183,12 +182,12 @@ fcaps() {
fi
fi
- # If we're still here, setcaps failed.
+ # If we're still here, setcaps failed or filecaps are disabled.
+ if [[ -n ${owner} || -n ${group} ]]; then
+ debug-print "${FUNCNAME}: setting owner on '${file}'"
+ chown "${owner}${group:+:}${group}" "${file}" || die
+ fi
if [[ -n ${mode} ]]; then
- if [[ -n ${owner} || -n ${group} ]]; then
- debug-print "${FUNCNAME}: setting owner on
'${file}'"
- chown "${owner}:${group}" "${file}" || die
- fi
debug-print "${FUNCNAME}: setting mode on '${file}'"
chmod ${mode} "${file}" || die
fi