commit:     21abc90169b3a9eea12f13509dfa593729d02624
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Fri Nov  8 15:48:44 2024 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Fri Nov  8 15:48:44 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21abc901

sys-kernel/dracut: optimize backup file cleanup

Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 sys-kernel/dracut/dracut-105-r1.ebuild | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/sys-kernel/dracut/dracut-105-r1.ebuild 
b/sys-kernel/dracut/dracut-105-r1.ebuild
index 19082b840ad0..70692cd367a4 100644
--- a/sys-kernel/dracut/dracut-105-r1.ebuild
+++ b/sys-kernel/dracut/dracut-105-r1.ebuild
@@ -158,17 +158,19 @@ src_install() {
 pkg_preinst() {
        # Remove directory/symlink conflicts
        # https://bugs.gentoo.org/943007
-       local module backup
+       local save_nullglob=$(shopt -p nullglob)
+       shopt -s nullglob
+       local module
        for module in 
"${EROOT}"/usr/lib/dracut/modules.d/{80test,80test-makeroot,80test-root}; do
                if [[ ! -L ${module} && -d ${module} ]]; then
                        rm -rv "${module}" || die
                fi
-               for backup in "${module}".backup.*; do
-                       if [[ -L ${backup} ]]; then
-                               rm -v "${backup}" || die
-                       fi
-               done
+               local backups=( "${module}".backup.* )
+               if [[ ${#backups[@]} -gt 0 ]]; then
+                       rm -v "${backups[@]}" || die
+               fi
        done
+       eval "${save_nullglob}"
 }
 
 pkg_postinst() {

Reply via email to