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

Bug 258115

Summary: x11-themes/mythtv-themes-extra abusing ${ROOT}
Product: Gentoo Linux Reporter: Thilo Bangert (RETIRED) (RETIRED) <bangert>
Component: New packagesAssignee: Television related Applications in Gentoo's Portage <media-tv>
Status: RESOLVED FIXED    
Severity: QA    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 258096    

Description Thilo Bangert (RETIRED) (RETIRED) gentoo-dev 2009-02-08 12:54:56 UTC
+++ This bug was initially created as a clone of Bug #258114 +++

Some notes on ROOT:

* The idea behind ROOT is that one can build a system with ROOT=/somewhere and
then chroot into it or tar up /somewhere as a system image. It is not designed
to allow the user to run /somewhere/usr/bin/foo.

* ROOT can't be used correctly in src_*, since ROOT might be different when
merging a binary package. For example, a binary package might be built with
ROOT=/ and then installed onto a system using ROOT=/somewhere.

* ROOT isn't used for library dependencies. When building, libraries, headers
etc. on / have to be used. Cross-compiling etc is done by configuring the
toolchain correctly, not by hacking ebuilds in a way that breaks binary
packages.

See also the discussion on bug #167285 for more info.
Comment 1 Doug Goldstein (RETIRED) gentoo-dev 2009-11-08 01:34:44 UTC
Suggest the fix. That variable is used and unfortunately generated files have paths hardcoded into them.
Comment 2 Thilo Bangert (RETIRED) (RETIRED) gentoo-dev 2009-11-08 09:02:12 UTC
if the buildsystem hardcodes the location of the binaries, then that is still independant of ROOT. ROOT only allows the installation of a binary into a different directory. they are not meant to be run "from there" - they are meant to be run where the root of the system is ROOT (ie. chroot $ROOT)

just strip it away. the point of ROOT is that you should be able chroot into it and then call the binaries - so adding ROOT to the paths wont work correctly.

again - ROOT might be set at install time, for packages which have been built on a entirely different machine (with a different ROOT set)...

the latest version doesnt use it anymore - so punting the old ebuilds would also do it.

Comment 3 Doug Goldstein (RETIRED) gentoo-dev 2009-11-10 16:03:51 UTC
fixed