Summary: | estrip: spurious "build-info/NEEDED: No such file or directory" message on < EAPI 7 ebuilds | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Sam James <sam> |
Component: | Core | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | Keywords: | InVCS |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://github.com/gentoo/portage/pull/879 https://bugs.gentoo.org/show_bug.cgi?id=749624 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 859439, 863803 | ||
Attachments: | build.log |
Description
Sam James
2022-07-31 21:49:37 UTC
>>> Compiling source in /var/tmp/portage/app-cdr/dvdshrink-2.6.1_p10-r1/work/dvdshrink ... >>> Source compiled. >>> Test phase [not enabled]: app-cdr/dvdshrink-2.6.1_p10-r1 >>> Install app-cdr/dvdshrink-2.6.1_p10-r1 into /var/tmp/portage/app-cdr/dvdshrink-2.6.1_p10-r1/image/ >>> Completed installing app-cdr/dvdshrink-2.6.1_p10-r1 into /var/tmp/portage/app-cdr/dvdshrink-2.6.1_p10-r1/image/ * Final size of build directory: 718 KiB * Final size of installed tree: 42 KiB /home/sam/git/portage/bin/estrip: line 424: /var/tmp/portage/app-cdr/dvdshrink-2.6.1_p10-r1/build-info/NEEDED: No such file or directory bb88e766897f5e7e0b0a10c48cf99a04edb73a40 is the first bad commit commit bb88e766897f5e7e0b0a10c48cf99a04edb73a40 Author: Sam James <sam@gentoo.org> Date: Sat Mar 5 05:32:45 2022 +0000 estrip: avoid calling scanelf twice We can use the previous scanelf data to not call it again to find all of the dynamically linked executables/libraries which need stripping. Bug: https://bugs.gentoo.org/749624 Closes: https://github.com/gentoo/portage/pull/794 Reviewed-by: Zac Medico <zmedico@gentoo.org> Signed-off-by: Sam James <sam@gentoo.org> bin/estrip | 3 ++- bin/misc-functions.sh | 29 +++++++++++++++-------------- 2 files changed, 17 insertions(+), 15 deletions(-) ... which I figured, but what I don't get is why this doesn't happen with EAPI 8. (In reply to Sam James from comment #2) > ... which I figured, but what I don't get is why this doesn't happen with > EAPI 8. Oh, EAPI 7+ introduced dostrip. (In reply to Sam James from comment #3) > (In reply to Sam James from comment #2) > > ... which I figured, but what I don't get is why this doesn't happen with > > EAPI 8. > > Oh, EAPI 7+ introduced dostrip. I think the issue is that before dostrip, things were a lot messier with prepall, and the logic move doesn't really fit as it assumes things behave like estrip does, which is less fragile to order. Ah, I get it. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=e8f0e06784549fc4c8a06e0a43ff946d6a895683 commit e8f0e06784549fc4c8a06e0a43ff946d6a895683 Author: Sam James <sam@gentoo.org> AuthorDate: 2022-08-01 01:44:02 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-08-06 21:00:28 +0000 estrip: apply scanelf optimisation to EAPI 7+ / dostrip (No need to do ${D%/} etc here as dostrip is in EAPI 7+ only.) See: bb88e766897f5e7e0b0a10c48cf99a04edb73a40 Bug: https://bugs.gentoo.org/749624 Bug: https://bugs.gentoo.org/862606 Signed-off-by: Sam James <sam@gentoo.org> Closes: https://github.com/gentoo/portage/pull/879 Signed-off-by: Sam James <sam@gentoo.org> bin/estrip | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) https://gitweb.gentoo.org/proj/portage.git/commit/?id=7f6e83707daf4a7d8231b968078a1ba94d80c697 commit 7f6e83707daf4a7d8231b968078a1ba94d80c697 Author: Sam James <sam@gentoo.org> AuthorDate: 2022-08-01 00:05:47 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-08-06 21:00:28 +0000 estrip: avoid spurious NEEDED warning when no ELF installed (< EAPI 7) If no ELF files are installed, then we're obviously not going to have a NEEDED file. The reason this didn't get hit sooner is because apparently very few of us are actually testing EAPI 6 actively - which figures. We only take this path for < EAPI 7 (non-dostrip) which means we're actually missing the estrip optimisation in bug #749624 for newer EAPIs! (Will be fixed in a followup). Bug: https://bugs.gentoo.org/749624 Bug: https://bugs.gentoo.org/862606 Fixes: bb88e766897f5e7e0b0a10c48cf99a04edb73a40 Signed-off-by: Sam James <sam@gentoo.org> bin/estrip | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=328977ffff1aa2d13cd3d8f7b5cb01eea6d634f5 commit 328977ffff1aa2d13cd3d8f7b5cb01eea6d634f5 Author: Sam James <sam@gentoo.org> AuthorDate: 2022-08-23 00:38:45 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-08-23 00:39:03 +0000 sys-apps/portage: add 3.0.35 Closes: https://bugs.gentoo.org/859439 Closes: https://bugs.gentoo.org/672916 Closes: https://bugs.gentoo.org/858791 Closes: https://bugs.gentoo.org/862600 Closes: https://bugs.gentoo.org/862606 Closes: https://bugs.gentoo.org/863422 Closes: https://bugs.gentoo.org/864382 Closes: https://bugs.gentoo.org/865635 Signed-off-by: Sam James <sam@gentoo.org> sys-apps/portage/Manifest | 1 + sys-apps/portage/portage-3.0.35.ebuild | 273 +++++++++++++++++++++++++++++++++ 2 files changed, 274 insertions(+) |