Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 515612 - src_install() expects S to exist or it fails - src_install(): The source directory '/var/tmp/portage/app-portage/S-is-not-needed-0.2/work/S-is-not-needed-0.2' doesn't exist
Summary: src_install() expects S to exist or it fails - src_install(): The source dire...
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-28 16:09 UTC by Jeroen Roovers (RETIRED)
Modified: 2014-06-28 19:23 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
S-is-not-needed-0.2.ebuild - looks valid but fails (S-is-not-needed-0.2.ebuild,329 bytes, text/plain)
2014-06-28 16:09 UTC, Jeroen Roovers (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jeroen Roovers (RETIRED) gentoo-dev 2014-06-28 16:09:49 UTC
Created attachment 379860 [details]
S-is-not-needed-0.2.ebuild - looks valid but fails

When an ebuild does not create the default S, src_install() fails because it expects S to exist:

 * Package:    app-portage/S-is-not-needed-0.2
 * Repository: JeR
 * USE:        abi_x86_32 elibc_glibc kernel_linux userland_GNU x86
 * FEATURES:   distcc preserve-libs sandbox splitdebug userpriv usersandbox
 * Package:    app-portage/S-is-not-needed-0.2
 * Repository: JeR
 * USE:        abi_x86_32 elibc_glibc kernel_linux userland_GNU x86
 * FEATURES:   distcc preserve-libs sandbox splitdebug userpriv usersandbox
>>> Unpacking source...
>>> Source unpacked in /var/tmp/portage/app-portage/S-is-not-needed-0.2/work
>>> Preparing source in /var/tmp/portage/app-portage/S-is-not-needed-0.2/work ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/app-portage/S-is-not-needed-0.2/work ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/app-portage/S-is-not-needed-0.2/work ...
>>> Source compiled.
>>> Test phase [not enabled]: app-portage/S-is-not-needed-0.2
 * ERROR: app-portage/S-is-not-needed-0.2::JeR failed (install phase):
 *   The source directory '/var/tmp/portage/app-portage/S-is-not-needed-0.2/work/S-is-not-needed-0.2' doesn't exist
 *
 * Call stack:
 *            ebuild.sh, line 714:  Called __ebuild_main 'install'
 *   phase-functions.sh, line 955:  Called __dyn_install
 *   phase-functions.sh, line 530:  Called die
 * The specific snippet of code:
 *              die "The source directory '${S}' doesn't exist"
 *
 * If you need support, post the output of `emerge --info '=app-portage/S-is-not-needed-0.2::JeR'`,
 * the complete build log and the output of `emerge -pqv '=app-portage/S-is-not-needed-0.2::JeR'`.
 * The complete build log is located at '/keeps/gentoo/emergelogs/astrid/app-portage:S-is-not-needed-0.2:20140628-160352.log'.
 * For convenience, a symlink to the build log is located at '/var/tmp/portage/app-portage/S-is-not-needed-0.2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/app-portage/S-is-not-needed-0.2/temp/environment'.
 * Working directory: '/usr/lib/portage/pym'
 * S: '/var/tmp/portage/app-portage/S-is-not-needed-0.2/work/S-is-not-needed-0.2'


Declaring S explicitly works around the issue:


--- S-is-not-needed-0.2.ebuild
+++ S-is-not-needed-0.1.ebuild
@@ -11,6 +11,9 @@
 SLOT="0"
 KEYWORDS="amd64 hppa ppc x86"
 
+# portage wants an actual S even when it is foolish
+S=${T}
+
 src_install() {
        newsbin "${FILESDIR}"/${P} ${PN}
 }
Comment 1 Arfrever Frehtes Taifersar Arahesis 2014-06-28 19:23:19 UTC
It is intentional in EAPI >=4.

See:
http://dev.gentoo.org/~ulm/pms/5/pms.html#x1-950009.1.1