Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 116773 - emerge is not using $ROOT properly when utilizing binary-only methods
Summary: emerge is not using $ROOT properly when utilizing binary-only methods
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: x86 Linux
: High blocker (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-12-26 05:52 UTC by Fredrik Blom
Modified: 2005-12-27 03:43 UTC (History)
1 user (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 Fredrik Blom 2005-12-26 05:52:40 UTC
Trying to emerge an entire system using binary or non-binary packages to another path than / doesn't work; as all packages will not emerge to the specified root.

For example:

-----------
$ ROOT=/mnt/temp/linux/gentoo2/ emerge -pvke system
These are the packages that I would merge, in order:

Calculating system dependencies    ...done!
[binary  N    ] sys-devel/gcc-config-1.3.12-r4  
[binary  N    ] media-libs/libart_lgpl-2.3.17  -debug -doc 
[binary  N    ] sys-devel/patch-2.5.9  -build -static 
[binary  N    ] sys-libs/ncurses-5.4-r6  to /mnt/temp/linux/gentoo2/ -bootstrap -build -debug -doc -gpm -minimal -nocxx +unicode 
[binary  N    ] sys-libs/readline-5.0-r2  to /mnt/temp/linux/gentoo2/ 
[binary  N    ] sys-apps/sysvinit-2.86  to /mnt/temp/linux/gentoo2/ -bootstrap -build (-selinux) -static 
[binary  N    ] sys-apps/attr-2.4.19-r1  to /mnt/temp/linux/gentoo2/ -debug +nls
.... etc 
-----------

As one can see, the three first packages will not merge to the specified root. Exporting the ROOT variable before the emerge does not change anything.

The same thing as above happends when one tries not to use binary packages, but there are 70 (!) packages that will not merge to the specified root. It's not until it reaches ncurses that it uses the proper root. See here:

-----------
$ ROOT=/mnt/temp/linux/gentoo2/ emerge -pve system

These are the packages that I would merge, in order:

Calculating system dependencies  . ...done!
[ebuild  N    ] sys-devel/patch-2.5.9  -build -static 197 kB 
[ebuild  N    ] sys-libs/zlib-1.2.3  -build 415 kB 
[ebuild  N    ] sys-libs/ncurses-5.4-r6  -bootstrap -build -debug -doc -gpm -minimal -nocxx +unicode 2,103 kB 
[ebuild  N    ] app-shells/bash-3.0-r12  -bashlogger -build +nls 2,404 kB 
[ebuild  N    ] sys-libs/readline-5.0-r2  1,777 kB 
[ebuild  N    ] sys-devel/flex-2.5.4a-r6  -build -static 385 kB 
[ebuild  N    ] sys-devel/bc-1.06-r6  +readline -static 272 kB 
[ebuild  N    ] sys-devel/binutils-config-1.8-r6  0 kB 
[ebuild  N    ] sys-devel/gnuconfig-20051113  0 kB 
[ebuild  N    ] sys-devel/binutils-2.16.1  -multislot -multitarget +nls -test 12,392 kB 
[ebuild  N    ] sys-apps/sed-4.1.4  -bootstrap -build +nls -static 775 kB 
[ebuild  N    ] dev-util/pkgconfig-0.17.2-r1  +hardened 696 kB 
[ebuild  N    ] media-libs/libart_lgpl-2.3.17  -debug 282 kB 
[ebuild  N    ] sys-devel/m4-1.4.3  +nls 298 kB 
[ebuild  N    ] sys-devel/bison-1.875d  +nls -static 862 kB 
[ebuild  N    ] sys-apps/texinfo-4.8-r2  -build +nls -static 1,486 kB 
[ebuild  N    ] sys-devel/gcc-config-1.3.12-r4  0 kB 
[ebuild  N    ] sys-devel/gcc-3.4.4-r1  (-altivec) -bootstrap -boundschecking -build -fortran +gcj -gtk +hardened -ip28 -mudflap -multilib -multislot -n32 -n64 +nls -nocxx -nopie -nossp -objc -objc-gc -vanilla 27,037 kB 
[ebuild  N    ] sys-libs/libstdc++-v3-3.3.4  -build -multilib +nls +nptl 22,784 kB 
[ebuild  N    ] sys-kernel/linux-headers-2.6.11-r2  36,238 kB 
[ebuild  N    ] sys-libs/glibc-2.3.5-r2  -build +erandom -glibc-compat20 +glibc-omitfp +hardened -linuxthreads-tls -multilib +nls +nptl +nptlonly +pic -profile (-selinux) -userlocales 15,628 kB 
[ebuild  N    ] sys-devel/gettext-0.14.4  -doc -emacs +nls 6,869 kB 
[ebuild  N    ] sys-apps/diffutils-2.8.7-r1  +nls -static 1,037 kB 
[ebuild  N    ] sys-apps/groff-1.19.1-r2  +X 2,567 kB 
[ebuild  N    ] sys-devel/libperl-5.8.6-r1  -berkdb -debug -gdbm -ithreads 0 kB 
[ebuild  N    ] dev-lang/perl-5.8.6-r8  -berkdb -build -debug -doc -gdbm -ithreads -minimal -perlsuid 0 kB 
[ebuild  N    ] dev-libs/openssl-0.9.7e-r2  -bindist -emacs -test +zlib 5,105 kB 
[ebuild  N    ] sys-process/cronbase-0.3.2  0 kB 
[ebuild  N    ] sys-apps/man-1.6-r1  +nls 228 kB 
[ebuild  N    ] app-admin/perl-cleaner-1.01  3 kB 
[ebuild  N    ] dev-libs/expat-1.95.8  -test 310 kB 
[ebuild  N    ] dev-lang/python-2.4.2  +X -berkdb -bootstrap -build -doc -gdbm +ipv6 +ncurses -nocxx +readline +ssl -tcltk -ucs2 7,669 kB 
[ebuild  N    ] dev-python/python-fchksum-1.7.1  26 kB 
[ebuild  N    ] sys-apps/sandbox-1.2.12  217 kB 
[ebuild  N    ] dev-lang/swig-1.3.21  +X -doc -guile -java -perl -php +python -ruby -tcltk 1,975 kB 
[ebuild  N    ] sys-libs/libcap-1.10-r5  -nocxx +python -static 38 kB 
[ebuild  N    ] app-misc/pax-utils-0.1.4  +caps 0 kB 
[ebuild  N    ] sys-apps/debianutils-2.14.1-r1  -build -static 123 kB 
[ebuild  N    ] sys-apps/portage-2.0.53  -build (-selinux) 0 kB 
*** Please update portage to the above version before proceeding.
    Failure to do so may result in failed or improper merges.
    A simple 'emerge -u portage' is sufficient.

[ebuild  N    ] sys-devel/autoconf-2.13  433 kB 
[ebuild  N    ] sys-devel/autoconf-wrapper-3-r1  0 kB 
[ebuild  N    ] sys-devel/autoconf-2.59-r6  -emacs 903 kB 
[ebuild  N    ] dev-perl/Locale-gettext-1.03  3 kB 
[ebuild  N    ] sys-apps/help2man-1.33.1  +nls 73 kB 
[ebuild  N    ] sys-devel/automake-1.5  514 kB 
[ebuild  N    ] sys-devel/automake-1.8.5-r3  647 kB 
[ebuild  N    ] sys-devel/automake-1.6.3  465 kB 
[ebuild  N    ] sys-devel/automake-1.7.9-r1  564 kB 
[ebuild  N    ] sys-devel/automake-1.4_p6  366 kB 
[ebuild  N    ] sys-devel/automake-wrapper-1-r1  0 kB 
[ebuild  N    ] sys-devel/automake-1.9.6-r1  747 kB 
[ebuild  N    ] sys-devel/libtool-1.5.20  2,723 kB 
[ebuild  N    ] sys-apps/attr-2.4.19-r1  -debug +nls 101 kB 
[ebuild  N    ] sys-apps/acl-2.2.27  -debug +nls 141 kB 
[ebuild  N    ] app-arch/gzip-1.3.5-r8  -build +nls +pic -static 323 kB 
[ebuild  N    ] dev-libs/popt-1.7-r1  +nls 561 kB 
[ebuild  N    ] sys-libs/cracklib-2.8.3-r1  469 kB 
[ebuild  N    ] sys-libs/pam-0.78-r3  -berkdb -nis -pam_chroot -pam_console -pam_timestamp -pwdb (-selinux) 0 kB 
[ebuild  N    ] sys-libs/com_err-1.38  +nls 3,536 kB 
[ebuild  N    ] sys-libs/ss-1.38  +nls 0 kB 
[ebuild  N    ] sys-apps/tcp-wrappers-7.6-r8  +ipv6 115 kB 
[ebuild  N    ] app-crypt/hashalot-0.3-r1  0 kB 
[ebuild  N    ] sys-libs/ncurses-5.4-r6  to /mnt/temp/linux/gentoo2/ -bootstrap -build -debug -doc -gpm -minimal -nocxx +unicode 0 kB 
[ebuild  N    ] sys-libs/readline-5.0-r2  to /mnt/temp/linux/gentoo2/ 0 kB 
[ebuild  N    ] sys-apps/sysvinit-2.86  to /mnt/temp/linux/gentoo2/ -bootstrap -build -ibm (-selinux) -static 100 kB 
[ebuild  N    ] sys-apps/attr-2.4.19-r1  to /mnt/temp/linux/gentoo2/ -debug +nls 0 kB 
.... etc
-----------
Comment 1 Jason Stubbs (RETIRED) gentoo-dev 2005-12-26 06:02:12 UTC
You've cut off the list. Are there any ebuilds listed at all? If so, that would explain the three packages wanting to merge to /.

$ROOT is not chroot. It is just the target merge root. All package building is still done in /. As such any packages that need to be built from ebuilds need to have all build time dependencies installed into /. That is what those packages are.
Comment 2 Fredrik Blom 2005-12-27 03:43:28 UTC
(In reply to comment #1)
> You've cut off the list. Are there any ebuilds listed at all? If so, that would
> explain the three packages wanting to merge to /.
> 
> $ROOT is not chroot. It is just the target merge root. All package building is
> still done in /. As such any packages that need to be built from ebuilds need
> to have all build time dependencies installed into /. That is what those
> packages are.
> 

It seems that you were right. I had missed one package (gcc-3.4.4) that were not compiled and packaged yet, so it seemed to hinder the rest. I'm very sorry for wasting your time on this "problem".