From d266c61788fe8457e0ed0d7674bcb5d963692e8c Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 4 Dec 2018 09:05:17 +0000 Subject: [PATCH] toolchain.eclass: drop info/dir index, bug #672408 As explained by Zac in #672408 prepinfo() was used to drop 'info/dir' index to allow portage regenerate it. gcc package does not always install 'info/dir' files (USE-dependent). This causes nondeterminism for 'info/dir' to be owned or be an orphan file. This change drops 'info/dir' unconditionally to avoid owned/orphan collisions and always make it an orphan file. Reported-by: Michal Jakubowski Bug: https://bugs.gentoo.org/672408 Bug: https://bugs.gentoo.org/587316 Signed-off-by: Sergei Trofimovich --- eclass/toolchain.eclass | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 94f2d3369af8..19564a0652eb 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1851,6 +1851,14 @@ toolchain_src_install() { fi fi fi + + # portage regenerates 'dir' files on it's own: bug #672408 + # Drop 'dir' files to avoid collisions. + if [[ -f "${D}${DATAPATH}"/info/dir ]]; then + einfo "Deleting '${D}${DATAPATH}/info/dir'" + rm "${D}${DATAPATH}"/info/dir || die + fi + # prune empty dirs left behind find "${ED}" -depth -type d -delete 2>/dev/null -- 2.26.2