Gentoo Archives: gentoo-dev

From: Jason Stubbs <jstubbs@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Stage1 and dependencies
Date: Sat, 26 Jun 2004 06:09:29
Hash: SHA1

Hi all,

Two issues, but first the data:

# USE="-*" ./ -ep system
These are the packages that I would merge, in order:
Calculating dependencies done!

[ebuild   N   ] sys-devel/gnuconfig-20040214
[ebuild   N   ] sys-apps/cronbase-0.3
Using installed packages to build sys-devel/patch-2.5.9
[ebuild   N   ] sys-devel/patch-2.5.9
[ebuild   N   ] sys-kernel/linux-headers-2.4.22
[ebuild   N   ] app-arch/ncompress-4.2.4
[ebuild   N   ] sys-libs/db-4.1.25_p1-r4
Using installed packages to build app-arch/bzip2-1.0.2-r3
[ebuild   N   ] app-arch/bzip2-1.0.2-r3
Ignoring dependencies for sys-libs/glibc-
[ebuild   N   ] sys-libs/glibc-
[ebuild   N   ] sys-libs/ncurses-5.4-r2
[ebuild   N   ] sys-apps/sed-4.0.9
[ebuild   N   ] sys-apps/texinfo-4.6
[ebuild   N   ] sys-apps/groff-1.19
[ebuild   N   ] sys-apps/man-1.5m-r1
[ebuild   N   ] sys-libs/zlib-1.2.1-r2
[ebuild   N   ] dev-python/python-fchksum-1.7.1
[ebuild   N   ] dev-libs/expat-1.95.7
[ebuild   N   ] dev-lang/python-2.3.4
[ebuild   N   ] app-shells/bash-2.05b-r9
[ebuild   N   ] sys-apps/gawk-3.1.3-r1
[ebuild   N   ] sys-apps/modutils-2.4.26
[ebuild   N   ] app-shells/sash-3.7
[ebuild   N   ] app-editors/nano-1.3.2
[ebuild   N   ] net-misc/dhcpcd-1.3.22_p4-r5
[ebuild   N   ] dev-util/yacc-1.9.1-r2
[ebuild   N   ] sys-devel/flex-2.5.4a-r5
[ebuild   N   ] sys-apps/kbd-1.12-r2
[ebuild   N   ] app-arch/cpio-2.5
[ebuild   N   ] sys-fs/e2fsprogs-1.35
[ebuild   N   ] sys-apps/ed-0.2-r3
[ebuild   N   ] sys-apps/file-4.09
[ebuild   N   ] sys-apps/findutils-4.1.20-r1
[ebuild   N   ] sys-apps/miscfiles-1.3-r1
[ebuild   N   ] sys-apps/grep-2.5.1-r4
[ebuild   N   ] app-arch/gzip-1.3.3-r2
[ebuild   N   ] sys-apps/less-382-r2
[ebuild   N   ] sys-apps/man-pages-1.67
[ebuild   N   ] sys-apps/procps-3.2.1
[ebuild   N   ] sys-apps/psmisc-21.4
[ebuild   N   ] sys-apps/setserial-2.17-r2
[ebuild   N   ] app-arch/sharutils-4.2.1-r9
[ebuild   N   ] app-arch/tar-1.14
[ebuild   N   ] sys-apps/which-2.16
[ebuild   N   ] sys-devel/bin86-0.16.13
[ebuild   N   ] sys-devel/make-3.80
[ebuild   N   ] sys-libs/pwdb-0.62
[ebuild   N   ] sys-libs/readline-4.3-r5
[ebuild   N   ] sys-fs/devfsd-1.3.25-r8
Ignoring dependencies for sys-apps/portage-2.0.51_pre12
[ebuild   N   ] sys-apps/portage-2.0.51_pre12
[ebuild   N   ] sys-devel/libperl-5.8.4-r1
[ebuild   N   ] sys-devel/bc-1.06-r5
Ignoring dependencies for sys-devel/libtool-1.5.2-r5
[ebuild   N   ] sys-devel/libtool-1.5.2-r5
[ebuild   N   ] sys-devel/m4-1.4.1
[ebuild   N   ] dev-libs/popt-1.7-r1
[ebuild   N   ] dev-libs/glib-1.2.10-r5
Ignoring dependencies for sys-devel/gcc-3.3.3-r6
[ebuild   N   ] sys-devel/gcc-3.3.3-r6
[ebuild   N   ] dev-lang/perl-5.8.4
[ebuild   N   ] sys-devel/binutils-
[ebuild   N   ] sys-devel/autoconf-2.59-r4
[ebuild   N   ] sys-devel/automake-1.8.5-r1
[ebuild   N   ] sys-apps/help2man-1.33.1
[ebuild   N   ] sys-apps/coreutils-5.2.1
[ebuild   N   ] sys-apps/debianutils-1.16.7-r4
[ebuild   N   ] sys-devel/bison-1.875
[ebuild   N   ] sys-devel/gcc-config-1.3.6
[ebuild   N   ] sys-apps/util-linux-2.12-r4
[ebuild   N   ] sys-apps/baselayout-1.9.4-r2
[ebuild   N   ] dev-libs/openssl-0.9.7d-r1
[ebuild   N   ] net-misc/iputils-021109-r3
[ebuild   N   ] net-misc/rsync-2.6.1
[ebuild   N   ] net-misc/wget-1.9.1-r2
[ebuild   N   ] sys-apps/diffutils-2.8.7
[ebuild   N   ] sys-apps/fbset-2.1
[ebuild   N   ] sys-libs/cracklib-2.7-r9
[ebuild   N   ] sys-apps/shadow-
[ebuild   N   ] sys-apps/slocate-2.7-r5
[ebuild   N   ] sys-apps/hdparm-5.5
[ebuild   N   ] sys-apps/net-tools-1.60-r8
[ebuild   N   ] sys-libs/pam-0.77-r1
[ebuild   N   ] sys-apps/pam-login-3.14
[ebuild   N   ] net-misc/openssh-3.8.1_p1-r1

Issue #1: Ignoring dependencies

The "cleaning" of the vardb to trick portage is IMO a bad thing. There is 
obviously enough in a stage 1 to be able to build up all of system, but 
according to the data portage it is impossible. This then requires a hack as 
indicated above to attempt the merge anyway. However, this hack affects users 
of installed systems as well as portage will go ahead and attempt a 
compilation that is guaranteed to fail.

Plus there's the fact that files are left around unowned...

Issue #2: Lack of dependency information

Looking at the above, linux-headers doesn't need bzip2 to unpack, ncompress 
and db don't need glibc to build and almost nothing needs gcc to compile. It 
gets much worse when doing emerge -ep world. If it's too much of a PITA to 
fix this for all packages, portage could ensure that all of system is 
installed before anything else, but this needs to be 100% explicit for the 
base system. I don't believe it's as difficult as it sounds - a few eclasses 
such as bz2files, csource, cppsource, etc should be sufficient. However, 
without accurate information, parallel emerges are just a daydream.

Jason Stubbs
Version: GnuPG v1.2.4 (GNU/Linux)


gentoo-dev@g.o mailing list


Subject Author
Re: [gentoo-dev] Stage1 and dependencies "Robin H. Johnson" <robbat2@g.o>