commit:     0baeda7ca327b256ce34b40965640cebb8080f95
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun May 19 09:37:27 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun May 19 09:38:52 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0baeda7c

sys-kernel/linux-firmware: Explicitly check for empty removal list.

Closes: https://bugs.gentoo.org/686288
Package-Manager: Portage-2.3.66, Repoman-2.3.12
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 sys-kernel/linux-firmware/linux-firmware-20190514.ebuild | 6 +++++-
 sys-kernel/linux-firmware/linux-firmware-99999999.ebuild | 6 +++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/sys-kernel/linux-firmware/linux-firmware-20190514.ebuild 
b/sys-kernel/linux-firmware/linux-firmware-20190514.ebuild
index 02bf11f5772..be49f81c70a 100644
--- a/sys-kernel/linux-firmware/linux-firmware-20190514.ebuild
+++ b/sys-kernel/linux-firmware/linux-firmware-20190514.ebuild
@@ -249,6 +249,7 @@ src_prepare() {
 
                local file preserved_files=() remove=()
 
+               ebegin "Removing all files not listed in config"
                while IFS= read -r file; do
                        # Ignore comments.
                        if [[ ${file} != "#"* ]]; then
@@ -259,7 +260,10 @@ src_prepare() {
                while IFS= read -d "" -r file; do
                        has "${file}" "${preserved_files[@]}" || 
remove+=("${file}")
                done < <(find * ! -type d ! -name ${PN}.conf -print0 || die)
-               printf "%s\0" "${remove[@]}" | xargs -0 --no-run-if-empty rm || 
die
+               if [[ ${#remove[@]} -gt 0 ]]; then
+                       printf "%s\0" "${remove[@]}" | xargs -0 rm || die
+               fi
+               eend 0
        fi
 
        # remove empty directories, bug #396073

diff --git a/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild 
b/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild
index 3c366519cb1..923cce545de 100644
--- a/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild
+++ b/sys-kernel/linux-firmware/linux-firmware-99999999.ebuild
@@ -249,6 +249,7 @@ src_prepare() {
 
                local file preserved_files=() remove=()
 
+               ebegin "Removing all files not listed in config"
                while IFS= read -r file; do
                        # Ignore comments.
                        if [[ ${file} != "#"* ]]; then
@@ -259,7 +260,10 @@ src_prepare() {
                while IFS= read -d "" -r file; do
                        has "${file}" "${preserved_files[@]}" || 
remove+=("${file}")
                done < <(find * ! -type d ! -name ${PN}.conf -print0 || die)
-               printf "%s\0" "${remove[@]}" | xargs -0 --no-run-if-empty rm || 
die
+               if [[ ${#remove[@]} -gt 0 ]]; then
+                       printf "%s\0" "${remove[@]}" | xargs -0 rm || die
+               fi
+               eend 0
        fi
 
        # remove empty directories, bug #396073

Reply via email to