Summary: | --empty-tree considers / and $ROOT to be empty | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Daniel Black (RETIRED) <dragonheart> |
Component: | Core | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | critical | CC: | embedded, phil, radek, sascha-gentoo-bugzilla |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 115839 | ||
Attachments: |
/var/lib/rootfs_i386/var/cache/edb/virtuals
/var/cache/edb/virtuals emerge--empty_only_root.patch |
Description
Daniel Black (RETIRED)
![]() Probably should mention that gentoo-embedded was hoping to use this mechainism to create root filesystems. If a crosscompiler was used at the time this could badly cripple a development system. Running with portage 2.0.49-r15 has similar results: Case #1: Calculating dependencies ...done! [ebuild N ] sys-devel/gnuconfig-20030708 [ebuild N ] sys-apps/gawk-3.1.3 -nls -build [ebuild N ] sys-apps/sed-4.0.7 -nls -static -build [ebuild N ] sys-libs/zlib-1.1.4-r2 [ebuild N ] dev-python/python-fchksum-1.6.1-r1 [ebuild N ] app-arch/bzip2-1.0.2-r2 -build -static [ebuild N ] sys-libs/ncurses-5.3-r2 -debug [ebuild N ] sys-apps/texinfo-4.5 -nls -build [ebuild N ] sys-apps/groff-1.18.1-r3 -X -cjk [ebuild N ] sys-apps/cronbase-0.2.1-r2 [ebuild N ] sys-apps/man-1.5l-r6 -nls [ebuild N ] sys-devel/libperl-5.8.0 -berkdb -gdbm [ebuild N ] dev-lang/perl-5.8.0-r12 -berkdb -doc -gdbm -threads [ebuild N ] sys-devel/m4-1.4 -nls [ebuild N ] sys-devel/autoconf-2.57-r1 [ebuild N ] sys-devel/automake-1.7.5-r2 [ebuild N ] sys-apps/coreutils-5.0-r3 -nls -build -static [ebuild N ] sys-apps/debianutils-1.16.7-r3 -static -build [ebuild N ] app-shells/bash-2.05b-r7 -nls -build [ebuild N ] dev-libs/expat-1.95.6-r1 [ebuild N ] dev-lang/python-2.2.3-r5 -ncurses -gdbm +readline -tcltk -berkdb -build -doc -ssl [ebuild N ] sys-apps/portage-2.0.49-r15 -build [ebuild N ] sys-kernel/linux-headers-2.4.19-r1 [ebuild N ] sys-apps/util-linux-2.11z-r6 +crypt -nls -static -pam [ebuild N ] sys-apps/baselayout-1.8.6.10-r1 -bootstrap -build -static [ebuild N ] net-misc/dhcpcd-1.3.22_p4-r2 -build -static [ebuild N ] sys-devel/gcc-config-1.3.4 [ebuild N ] sys-devel/gcc-3.2.3-r3 -static -nls -bootstrap -java -build [ebuild N ] sys-libs/glibc-2.3.2-r3 -nls -pic -build -nptl [ebuild N ] sys-devel/patch-2.5.9 -build -static [ebuild N ] sys-devel/libtool-1.4.3-r1 [ebuild N ] sys-devel/binutils-2.14.90.0.6-r6 -nls -bootstrap -build [ebuild N ] sys-kernel/linux-headers-2.4.19-r1 to /var/lib/rootfs_i386/ [ebuild N ] sys-apps/gawk-3.1.3 to /var/lib/rootfs_i386/ -nls -build [ebuild N ] sys-apps/sed-4.0.7 to /var/lib/rootfs_i386/ -nls -static -build [ebuild N ] sys-libs/zlib-1.1.4-r2 to /var/lib/rootfs_i386/ [ebuild N ] dev-python/python-fchksum-1.6.1-r1 to /var/lib/rootfs_i386/ [ebuild N ] app-arch/bzip2-1.0.2-r2 to /var/lib/rootfs_i386/ -build -static [ebuild N ] sys-apps/coreutils-5.0-r3 to /var/lib/rootfs_i386/ -nls -build -static [ebuild N ] sys-apps/debianutils-1.16.7-r3 to /var/lib/rootfs_i386/ -static -build [ebuild N ] sys-libs/ncurses-5.3-r2 to /var/lib/rootfs_i386/ -debug [ebuild N ] app-shells/bash-2.05b-r7 to /var/lib/rootfs_i386/ -nls -build [ebuild N ] dev-libs/expat-1.95.6-r1 to /var/lib/rootfs_i386/ [ebuild N ] dev-lang/python-2.2.3-r5 to /var/lib/rootfs_i386/ -ncurses -gdbm +readline -tcltk -berkdb -build -doc -ssl [ebuild N ] sys-apps/portage-2.0.49-r15 to /var/lib/rootfs_i386/ -build [ebuild N ] dev-lang/perl-5.8.0-r12 to /var/lib/rootfs_i386/ -berkdb -doc -gdbm -threads [ebuild N ] sys-apps/util-linux-2.11z-r6 to /var/lib/rootfs_i386/ +crypt -nls -static -pam [ebuild N ] sys-apps/baselayout-1.8.6.10-r1 to /var/lib/rootfs_i386/ -bootstrap -build -static [ebuild N ] sys-libs/glibc-2.3.2-r3 to /var/lib/rootfs_i386/ -nls -pic -build -nptl [ebuild N ] net-misc/dhcpcd-1.3.22_p4-r2 to /var/lib/rootfs_i386/ -build -static Case #2:These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] sys-devel/libperl-5.8.0 -berkdb -gdbm [ebuild N ] sys-kernel/linux-headers-2.4.19-r1 to /var/lib/rootfs_i386/ [ebuild N ] sys-apps/gawk-3.1.3 to /var/lib/rootfs_i386/ -nls -build [ebuild N ] sys-apps/sed-4.0.7 to /var/lib/rootfs_i386/ -nls -static -build [ebuild N ] sys-libs/zlib-1.1.4-r2 to /var/lib/rootfs_i386/ [ebuild N ] dev-python/python-fchksum-1.6.1-r1 to /var/lib/rootfs_i386/ [ebuild N ] app-arch/bzip2-1.0.2-r2 to /var/lib/rootfs_i386/ -build -static [ebuild N ] sys-apps/coreutils-5.0-r3 to /var/lib/rootfs_i386/ -nls -build -static [ebuild N ] sys-apps/debianutils-1.16.7-r3 to /var/lib/rootfs_i386/ -static -build [ebuild N ] sys-libs/ncurses-5.3-r2 to /var/lib/rootfs_i386/ -debug [ebuild N ] app-shells/bash-2.05b-r7 to /var/lib/rootfs_i386/ -nls -build [ebuild N ] dev-libs/expat-1.95.6-r1 to /var/lib/rootfs_i386/ [ebuild N ] dev-lang/python-2.2.3-r5 to /var/lib/rootfs_i386/ -ncurses -gdbm +readline -tcltk -berkdb -build -doc -ssl [ebuild N ] sys-apps/portage-2.0.49-r15 to /var/lib/rootfs_i386/ -build [ebuild N ] dev-lang/perl-5.8.0-r12 to /var/lib/rootfs_i386/ -berkdb -doc -gdbm -threads [ebuild N ] sys-apps/util-linux-2.11z-r6 to /var/lib/rootfs_i386/ +crypt -nls -static -pam [ebuild N ] sys-apps/baselayout-1.8.6.10-r1 to /var/lib/rootfs_i386/ -bootstrap -build -static [ebuild N ] sys-libs/glibc-2.3.2-r3 to /var/lib/rootfs_i386/ -nls -pic -build -nptl [ebuild N ] net-misc/dhcpcd-1.3.22_p4-r2 to /var/lib/rootfs_i386/ -build -static Portage info: Gentoo Base System version 1.4.3.12 Portage 2.0.49-r15 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.6.0-test11) ================================================================= System uname: 2.6.0-test11 i686 Pentium III (Coppermine) ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -mcpu=i686 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -mcpu=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="sandbox ccache autoaddcvs" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="arts foomaticdb kde gnome motif java perl x86 oss apm avi berkdb crypt cups encode gdbm gif gpm gtk imlib jpeg libg++ libwww mad mikmod mpeg ncurses nls oggvorbis opengl pam pdflib png python qt quicktime readline sdl slang spell ssl svga tcpd truetype X xml2 xmms xv zlib ethereal pcmcia mozilla acpi" CASE 1 It seems such as a design. in emerge. if not self.select_dep("/",mydep["/"],myparent=mp,myuse=myuse): return 0 elif not self.select_dep(myroot,mydep[myroot],myparent=mp,myuse=myuse): return 0 carpaski: Why is it always "/" in the first line? CASE 2 it's works for me correctly. Can you show me '/var/lib/rootfs_i386/var/cache/edb/virtuals'? Sorry forgot about your request: Some of my config has changed however see what you make of this: bash-2.05b$ env ROOT=/var/lib/rootfs_i386/ USE="-java -X -pam -berkdb -tcl -doc -nls -ssl -ncurses -pic -gdbm" emerge -pv --deep system These are the packages that I would merge, in order: Calculating system dependencies ...done! [ebuild N ] sys-devel/automake-1.7.7 [ebuild N ] sys-libs/ncurses-5.3-r5 -debug [ebuild N ] sys-devel/m4-1.4-r1 -nls [ebuild N ] sys-libs/glibc-2.3.2-r9 to /var/lib/rootfs_i386/ -nls -pic -build -nptl [ebuild N ] sys-apps/gawk-3.1.3-r1 to /var/lib/rootfs_i386/ -nls -build [ebuild N ] sys-apps/sed-4.0.7 to /var/lib/rootfs_i386/ -nls -static -build [ebuild N ] sys-libs/zlib-1.1.4-r2 to /var/lib/rootfs_i386/ [ebuild N ] dev-python/python-fchksum-1.6.1-r1 to /var/lib/rootfs_i386/ [ebuild N ] app-arch/bzip2-1.0.2-r3 to /var/lib/rootfs_i386/ -build -static [ebuild N ] sys-libs/ncurses-5.3-r5 to /var/lib/rootfs_i386/ -debug [ebuild N ] sys-apps/coreutils-5.0.91-r4 to /var/lib/rootfs_i386/ -nls -build -acl -selinux -static [ebuild N ] sys-apps/debianutils-1.16.7-r4 to /var/lib/rootfs_i386/ -static -build [ebuild N ] app-shells/bash-2.05b-r7 to /var/lib/rootfs_i386/ -nls -build [ebuild N ] dev-libs/expat-1.95.6-r1 to /var/lib/rootfs_i386/ [ebuild N ] dev-lang/python-2.2.3-r5 to /var/lib/rootfs_i386/ -ncurses -gdbm +readline -tcltk -berkdb -build -doc -ssl [ebuild N ] sys-apps/portage-2.0.49-r21 to /var/lib/rootfs_i386/ -build *** Portage will stop merging at this point and reload itself, recalculate dependencies, and complete the merge. You may avoid the remerging of packages by updating portage on its own. [ebuild N ] dev-lang/perl-5.8.0-r12 to /var/lib/rootfs_i386/ -berkdb -doc -gdbm -threads [ebuild N ] sys-apps/util-linux-2.11z-r8 to /var/lib/rootfs_i386/ +crypt -nls -static -pam [ebuild N ] sys-apps/baselayout-1.8.6.10-r1 to /var/lib/rootfs_i386/ -bootstrap -build -static [ebuild N ] sys-devel/binutils-2.14.90.0.7-r4 to /var/lib/rootfs_i386/ -nls -bootstrap -build [ebuild N ] sys-apps/texinfo-4.5 to /var/lib/rootfs_i386/ -nls -build [ebuild N ] sys-devel/gcc-config-1.3.4 to /var/lib/rootfs_i386/ [ebuild N ] sys-devel/gcc-3.2.3-r3 to /var/lib/rootfs_i386/ -static -nls -bootstrap -java -build [ebuild N ] sys-apps/modutils-2.4.25 to /var/lib/rootfs_i386/ [ebuild N ] app-shells/sash-3.4-r5 to /var/lib/rootfs_i386/ +readline [ebuild N ] sys-libs/slang-1.4.9 to /var/lib/rootfs_i386/ -cjk [ebuild N ] app-editors/nano-1.2.2 to /var/lib/rootfs_i386/ -nls -build +spell -justify -debug +slang [ebuild N ] net-misc/dhcpcd-1.3.22_p4-r2 to /var/lib/rootfs_i386/ -build -static [ebuild N ] net-misc/iputils-020927 to /var/lib/rootfs_i386/ -static [ebuild N ] dev-libs/popt-1.7-r1 to /var/lib/rootfs_i386/ -nls [ebuild N ] net-misc/rsync-2.6.0 to /var/lib/rootfs_i386/ [ebuild N ] net-misc/wget-1.9-r2 to /var/lib/rootfs_i386/ -ssl -nls -static -ipv6 -debug +socks5 [ebuild N ] sys-apps/kbd-1.08-r4 to /var/lib/rootfs_i386/ -nls [ebuild N ] app-arch/cpio-2.5 to /var/lib/rootfs_i386/ [ebuild N ] sys-apps/diffutils-2.8.4-r4 to /var/lib/rootfs_i386/ -nls -build -static [ebuild N ] sys-fs/e2fsprogs-1.34 to /var/lib/rootfs_i386/ -nls -static [ebuild N ] sys-apps/ed-0.2-r3 to /var/lib/rootfs_i386/ [ebuild N ] sys-apps/fbset-2.1 to /var/lib/rootfs_i386/ [ebuild N ] sys-apps/file-4.02 to /var/lib/rootfs_i386/ [ebuild N ] sys-apps/findutils-4.1.7-r5 to /var/lib/rootfs_i386/ -nls -build -afs [ebuild N ] sys-apps/miscfiles-1.3-r1 to /var/lib/rootfs_i386/ [ebuild N ] sys-libs/cracklib-2.7-r7 to /var/lib/rootfs_i386/ [ebuild N ] sys-apps/shadow-4.0.3-r9 to /var/lib/rootfs_i386/ -pam -selinux [ebuild N ] sys-apps/slocate-2.7-r5 to /var/lib/rootfs_i386/ [ebuild N ] sys-apps/grep-2.5.1-r1 to /var/lib/rootfs_i386/ -nls -build [ebuild N ] sys-apps/groff-1.18.1-r4 to /var/lib/rootfs_i386/ -X -cjk [ebuild N ] sys-apps/cronbase-0.2.1-r2 to /var/lib/rootfs_i386/ [ebuild N ] sys-apps/man-1.5l-r6 to /var/lib/rootfs_i386/ -nls [ebuild N ] app-arch/gzip-1.3.3-r2 to /var/lib/rootfs_i386/ -nls -build [ebuild N ] sys-apps/hdparm-5.4 to /var/lib/rootfs_i386/ [ebuild N ] sys-apps/less-381 to /var/lib/rootfs_i386/ [ebuild N ] sys-apps/man-pages-1.64 to /var/lib/rootfs_i386/ [ebuild N ] sys-apps/net-tools-1.60-r7 to /var/lib/rootfs_i386/ -nls -build -static [ebuild N ] sys-apps/procps-3.1.12-r1 to /var/lib/rootfs_i386/ -selinux [ebuild N ] sys-apps/psmisc-21.2-r3 to /var/lib/rootfs_i386/ -nls [ebuild N ] sys-apps/setserial-2.17-r2 to /var/lib/rootfs_i386/ [ebuild N ] sys-devel/m4-1.4-r1 to /var/lib/rootfs_i386/ -nls [ebuild N ] sys-devel/autoconf-2.58 to /var/lib/rootfs_i386/ [ebuild N ] sys-devel/flex-2.5.4a-r5 to /var/lib/rootfs_i386/ [ebuild N ] dev-libs/glib-1.2.10-r5 to /var/lib/rootfs_i386/ [ebuild N ] sys-libs/pwdb-0.61-r4 to /var/lib/rootfs_i386/ -selinux [ebuild N ] sys-devel/automake-1.7.7 to /var/lib/rootfs_i386/ [ebuild N ] sys-libs/pam-0.75-r11 to /var/lib/rootfs_i386/ -berkdb -selinux [ebuild N ] sys-apps/pam-login-3.11 to /var/lib/rootfs_i386/ -nls [ebuild N ] app-arch/sharutils-4.2.1-r6 to /var/lib/rootfs_i386/ -nls [ebuild N ] app-arch/tar-1.13.25-r3 to /var/lib/rootfs_i386/ -nls -static -build [ebuild N ] sys-apps/which-2.16 to /var/lib/rootfs_i386/ [ebuild N ] sys-libs/readline-4.3-r4 to /var/lib/rootfs_i386/ [ebuild N ] sys-devel/bc-1.06-r5 to /var/lib/rootfs_i386/ +readline [ebuild N ] sys-devel/bin86-0.16.0 to /var/lib/rootfs_i386/ [ebuild N ] sys-devel/bison-1.35 to /var/lib/rootfs_i386/ -nls -static -build [ebuild N ] sys-devel/libtool-1.4.3-r1 to /var/lib/rootfs_i386/ [ebuild N ] sys-devel/make-3.80 to /var/lib/rootfs_i386/ -nls -static -build [ebuild N ] sys-devel/patch-2.5.9 to /var/lib/rootfs_i386/ -build -static [ebuild N ] sys-libs/db-4.0.14-r2 to /var/lib/rootfs_i386/ -tcltk -java -doc [ebuild N ] app-admin/skey-1.1.5-r1 to /var/lib/rootfs_i386/ -doc [ebuild N ] dev-libs/openssl-0.9.7c-r1 to /var/lib/rootfs_i386/ [ebuild N ] net-misc/openssh-3.7.1_p2-r1 to /var/lib/rootfs_i386/ -ipv6 -static -pam +tcpd -kerberos +skey -selinux -X509 [ebuild N ] sys-fs/devfsd-1.3.25-r3 to /var/lib/rootfs_i386/ bash-2.05b$ emerge info Portage 2.0.49-r20 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r3, 2.6.1-gentoo) ================================================================= System uname: 2.6.1-gentoo i686 Celeron (Coppermine) Gentoo Base System version 1.4.3.10 distcc 2.11.1 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium3 -O3" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -mcpu=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache cvs sandbox userpriv usersandbox" GENTOO_MIRRORS="http://user:password@premium.planetmirror.com/pub/gentoo http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync-gentoo.planetmirror.com/gentoo-portage" USE="3dfx X acpi alsa apache2 apm arts artswrappersuid avi berkdb bonobo cdr crypt cups doc encode esd ethereal fam fastcgi flash foomaticdb gd gdbm gif gnome gphoto2 gpm gtk gtk2 gtkhtml guile imagemagick imlib java jpeg kde ldap libg++ libgda libwww mad mbox mikmod mmx motif mozilla mpeg mysql nas ncurses nls oggvorbis openal oss pam pdflib perl php pic plotutils png postgres ppds psyco python qt quicktime readline samba sasl scanner sdl skey slang slp snmp socks5 sox spell sse ssl svga tcltk tcpd tetex tiff truetype usb vhost x86 xinerama xml xml2 xmms xv zeo zlib" Created attachment 24120 [details]
/var/lib/rootfs_i386/var/cache/edb/virtuals
Created attachment 24121 [details]
/var/cache/edb/virtuals
Created attachment 24123 [details, diff]
emerge--empty_only_root.patch
What about this for case 1? It makes the "--empty" option having effect only on
$ROOT vartree, but not on "/" vartree if $ROOT != "/". This behavior is more
intuitive imho.
I experienced case 1 while trying to cross-compile for an Amiga. Good thing I noticed after the first package, that would have totally screwed things up! CC=/usr/m68k-linux/gcc-bin/3.4.4/m68k-linux-gcc USE="-* crypt nptl pam ncurses readline zlib gpm" ROOT=/mnt/gamiga CBUILD=m68k-linux CTARGET=m68k-linux ACCEPT_KEYWORDS=~m68k CFLAGS="-68030 -m68881 -Os" PKG_DIR=/usr/local/portage/ packages-m68k emerge -e -k -v system *** Bug 114887 has been marked as a duplicate of this bug. *** Released in 2.1_pre1. |