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