commit: e1d6ed10e8d940901f9ccef283f21b7383141bda Author: Mike Gilbert <floppym <AT> gentoo <DOT> org> AuthorDate: Sun Jul 9 01:06:33 2023 +0000 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org> CommitDate: Sun Jul 9 16:29:46 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e1d6ed10
user-info.eclass: egetent: fix lookup by id when ROOT != / Previous to this change, egetent would match any id that starts with the id given as input. For example: egetent group 1 bin::1:root,bin,daemon wheel::10:root floppy::11:root news::13:news uucp::14:uucp console::17: audio::18: cdrom::19: users::100: Adding a colon to the grep expression yields the desired result: egetent group 1 bin::1:root,bin,daemon Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org> eclass/user-info.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/user-info.eclass b/eclass/user-info.eclass index b18f280c1022..1cc7b8250309 100644 --- a/eclass/user-info.eclass +++ b/eclass/user-info.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: user-info.eclass @@ -64,7 +64,7 @@ egetent() { getent "${db}" "${key}" else if [[ ${key} =~ ^[[:digit:]]+$ ]]; then - grep -E "^([^:]*:){2}${key}" "${ROOT}/etc/${db}" + grep -E "^([^:]*:){2}${key}:" "${ROOT}/etc/${db}" else grep "^${key}:" "${ROOT}/etc/${db}" fi
