Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 506596 - app-portage/eix calls /usr/$(get_libdir)/portage/bin/ebuild.sh
Summary: app-portage/eix calls /usr/$(get_libdir)/portage/bin/ebuild.sh
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Third-Party Tools (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Martin Väth
URL:
Whiteboard:
Keywords:
: 518942 (view as bug list)
Depends on:
Blocks: no-symlink-lib
  Show dependency tree
 
Reported: 2014-04-02 19:33 UTC by Luke-Jr
Modified: 2014-08-03 17:56 UTC (History)
4 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Luke-Jr 2014-04-02 19:33:19 UTC
app-portage/eix, when scanning overlays (ie, no portage metadata), attempts to execute ebuilds with /usr/libx32/portage/bin/ebuild.sh, but sys-apps/portage installs ebuild.sh to /usr/lib instead of /usr/libx32

I'm not sure which one is right, but they need to match for eix to work properly.
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2014-04-03 14:49:49 UTC
You'll have to figure out which gets it right and then blame it on the one that gets it wrong. Until then we have no bug.
Comment 2 Luke-Jr 2014-04-03 20:05:31 UTC
(In reply to Jeroen Roovers from comment #1)
> You'll have to figure out which gets it right and then blame it on the one
> that gets it wrong. Until then we have no bug.

That's something the Portage and EIX authors need to decide.
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2014-04-04 14:08:11 UTC
You still haven't explained the actual problem.
Comment 4 Luke-Jr 2014-04-04 21:41:25 UTC
The question is, does ebuild.sh belong at (on a x32 system):
/usr/libx32/portage/bin/ebuild.sh
or
/usr/lib/portage/bin/ebuild.sh

If libx32, then portage is broken. if lib, then eix is broken.
Comment 5 Martin Väth 2014-04-04 22:33:35 UTC
Wherever portage decides to put ebuild.sh, it is right by definition:

Calling ebuild.sh is undocumented, and eix uses it only for the cache method ebuild*, because it is much quicker than calling ebuild - but obviously this is a hack in eix.

The path to ebuild.sh is determined by eix variable EIX_EBUILD_SH (and thus can be changed e.g. by setting this variable in the environment or in /etc/eixrc); its default value is determined in the eix ebuild by:
--with-ebuild-sh-default="/usr/$(get_libdir)/portage/bin/ebuild.sh"

Do I understand correctly that $(get_libdir) should be changed to lib on all systems? Or is this only a x32 peculiarity?
Comment 6 Luke-Jr 2014-04-05 01:10:53 UTC
x32 uses /usr/libx32 for all compiled libraries, similar to how amd64 uses /usr/lib64 for all compiled libraries.

# ls /usr/lib            
debug  gcc  portage  python-exec  systemd  tmpfiles.d

Obviously Python and Portage are not compiled, so I'm not sure what is expected.
Comment 7 SpanKY gentoo-dev 2014-05-06 20:14:14 UTC
exit needs to use /usr/lib/portage/bin/ebuild.sh regardless of the default ABI.  that is how portage installs its files.  that it works on current amd64 systems is an accident.
Comment 8 Martin Väth 2014-05-09 13:13:30 UTC
closing since eix-0.30.2 with the fix is in the tree
Comment 9 Martin Väth 2014-08-03 17:56:18 UTC
*** Bug 518942 has been marked as a duplicate of this bug. ***