Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 654838

Summary: portage-2.3.35: spurious imageusr directory in EAPI 7 (ecompress problem?)
Product: Portage Development Reporter: Ulrich Müller <ulm>
Component: Core - Ebuild SupportAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: critical Keywords: InVCS
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 651804, 654472    
Attachments: foo-1.ebuild

Description Ulrich Müller gentoo-dev 2018-05-04 15:07:47 UTC
Created attachment 529780 [details]
foo-1.ebuild

With attached foo-1.ebuild:

$ ebuild foo-1.ebuild install
 * checking ebuild checksums ;-) ...                                     [ ok ]
 * checking miscfile checksums ;-) ...                                   [ ok ]
>>> Unpacking source...
>>> Source unpacked in /var/tmp/portage/app-misc/foo-1/work
>>> Preparing source in /var/tmp/portage/app-misc/foo-1/work ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/app-misc/foo-1/work ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/app-misc/foo-1/work ...
>>> Source compiled.
>>> Test phase [not enabled]: app-misc/foo-1

>>> Install foo-1 into /var/tmp/portage/app-misc/foo-1/image category app-misc
>>> Completed installing foo-1 into /var/tmp/portage/app-misc/foo-1/image

 * Final size of build directory:  4 KiB
 * Final size of installed tree:  24 KiB

ecompressdir: bzip2 -9 //usr/share/doc

Something is wrong already here, why does the path begin with a double slash?

$ find /var/tmp/portage/app-misc/foo-1/image*
/var/tmp/portage/app-misc/foo-1/image
/var/tmp/portage/app-misc/foo-1/image/usr
/var/tmp/portage/app-misc/foo-1/image/usr/share
/var/tmp/portage/app-misc/foo-1/image/usr/share/doc
/var/tmp/portage/app-misc/foo-1/image/usr/share/doc/foo-1
/var/tmp/portage/app-misc/foo-1/imageusr
/var/tmp/portage/app-misc/foo-1/imageusr/share
/var/tmp/portage/app-misc/foo-1/imageusr/share/doc
/var/tmp/portage/app-misc/foo-1/imageusr/share/doc/foo-1
/var/tmp/portage/app-misc/foo-1/imageusr/share/doc/foo-1/html.ecompress.skip
/var/tmp/portage/app-misc/foo-1/imageusr/share/doc/foo-1/html
/var/tmp/portage/app-misc/foo-1/imageusr/share/doc/foo-1/html/null.html

Things aren't even cleaned up properly:

$ ebuild foo-1.ebuild clean
$ find /var/tmp/portage/app-misc/foo-1
/var/tmp/portage/app-misc/foo-1
/var/tmp/portage/app-misc/foo-1/imageusr
/var/tmp/portage/app-misc/foo-1/imageusr/share
/var/tmp/portage/app-misc/foo-1/imageusr/share/doc
/var/tmp/portage/app-misc/foo-1/imageusr/share/doc/foo-1
/var/tmp/portage/app-misc/foo-1/imageusr/share/doc/foo-1/html.ecompress.skip
/var/tmp/portage/app-misc/foo-1/imageusr/share/doc/foo-1/html
/var/tmp/portage/app-misc/foo-1/imageusr/share/doc/foo-1/html/null.html
Comment 1 Zac Medico gentoo-dev 2018-05-04 15:59:41 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/portage.git/commit/?id=256bcb665fcd37356c02a08a3e2a12d415a5d656

From 256bcb665fcd37356c02a08a3e2a12d415a5d656 Mon Sep 17 00:00:00 2001
From: Zac Medico <zmedico@gentoo.org>
Date: Fri, 4 May 2018 08:55:59 -0700
Subject: [PATCH] ecompressdir: fix slash normalization (bug 654838)

This solves the following error, for EAPI 7 ebuilds using newdoc as shown:

mv: cannot move '/var/tmp/portage/portage-test/foo-1/temp/ecompress-skip/usr/share/doc/foo-1/html' to
'/var/tmp/portage/portage-test/foo-1/imageusr/share/doc/foo-1/html/html': Directory not empty

EAPI=7
src_install() {
	docinto html
	newdoc /dev/null null.html
}

Fixes: 244a62a4f275 ("Fix uses of D/ED to account for no trailing slash")
---
 bin/ebuild-helpers/ecompressdir | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Comment 2 Zac Medico gentoo-dev 2018-05-25 03:37:33 UTC
Fixed since portage-2.3.36.