while install bridge-utils, if you don't install package "sysfsutils", it will curse compile error , and still install it. resolve way is replace bridge-utils's DEPEND to DEPEND="virtual/libc sys-fs/sysfsutils" Reproducible: Always Steps to Reproduce: 1. emerge bridge-utils 2. 3. Actual Results: Compile error and still install the package
this is being fixed for 1.0.6 now.
*** Bug 64900 has been marked as a duplicate of this bug. ***
Robbat2 This is wrong. sysfsutils has nothing todo with creating bridges. This package needs to DEPEND only on os-headers to build and REDEPEND on nothing more than virtual/libc for runtime.
solar: umm, have you actually LOOKED at the compile? If it detects any libsysfs, it tries to compile against it. even if it's an older version, which then causes the compile to fail. I know it can compile without libsysfs on the system, but there is no direct way to force it to not try libsysfs at all for the broken case. The RDEPEND on a new baselayout also exists for the specific reason that we do not provide a seperate init script for bridges anymore, as you should be using the new network framework (which deals with them properly).
robbat2 the problem is that we have more than just 1 baselayout and bridge-utils is often one of the first packages that are added to most any embedded router. Now when making use of the ROOT=/mnt/foo emerge -pv minimal_package_set we end up with the wrong baselayout and the extra sysfsutils where they should not be due to the bad/conflicting RDEPEND= Please consider something more like. -RDEPEND="virtual/libc - >=sys-fs/sysfsutils-1.0 - >=sys-apps/baselayout-1.11.6" -DEPEND="${RDEPEND} virtual/os-headers" +RDEPEND="virtual/libc elibc_glibc? ( >=sys-apps/baselayout-1.11.6 )" +DEPEND="${RDEPEND} >=sys-fs/sysfsutils-1.0 virtual/os-headers"
Sorry as reported in bug #100698 comment #1 it actually pulls in sysfsutils, ncurses, readline, sysvinit, coreutils, bash, baselayout due to this change.
I'll work on another solution, but I don't consider RDEPEND="... elibc_glibc? ( >=sys-apps/baselayout-1.11.6 )" to be correct. There is nothing to say you have to use glibc with baselayout. I have uclibc box with full baselayout too. You'll also have to ensure that your other baselayout code contains bridge support in the init scripts, since we don't provide an init script with bridge-utils anymore. How about this as a compromise: RDEPEND="virtual/libc virtual/baselayout" DEPEND="${RDEPEND} sysfs? ( >=sys-fs/sysfsutils-1.0 ) virtual/os-headers =sys- devel/autoconf-2.5*" Autoconf is there so I can rebuild configure after removing the sysfs stuff from it.
RDEPEND="virtual/libc virtual/baselayout" DEPEND="${RDEPEND} sysfs? ( >=sys-fs/sysfsutils-1.0 ) virtual/os-headers =sys-devel/autoconf-2.5*" Your proposed change would work well. uClibc(2005.0) shm # ROOT=/dev/shm/ emerge -p bridge-utils [ebuild N ] sys-libs/uclibc-0.9.27 to /dev/shm/ [ebuild N ] sys-libs/ncurses-5.4.20050319 to /dev/shm/ [ebuild N ] sys-libs/readline-5.0-r2 to /dev/shm/ [ebuild N ] sys-apps/sysvinit-2.86 to /dev/shm/ [ebuild N ] sys-apps/coreutils-5.2.1-r6 to /dev/shm/ [ebuild N ] app-shells/bash-3.0-r12 to /dev/shm/ [ebuild N ] sys-apps/baselayout-1.11.13 to /dev/shm/ [ebuild N ] net-misc/bridge-utils-1.0.6-r2 to /dev/shm/ uClibc(2005.0) shm # ROOT=/dev/shm/ emerge -p baselayout-lite bridge-utils [ebuild N ] sys-apps/baselayout-lite-1.0_pre1 to /dev/shm/ [ebuild N ] sys-libs/uclibc-0.9.27 to /dev/shm/ [ebuild N ] net-misc/bridge-utils-1.0.6-r2 to /dev/shm/
Solar: ok, it's in the tree now, with a patch to disable sysfs as needed.