I'm using XFce GUI. During last update I've caught the following error: xfce-extra/xfce4-weather-plugin from x86 became ~x86. revdep-rebuild find several atoms (mostly xfce-extra plugins) discovered, that one of then became masked by ~x86 keyword and stopped process with error message on attemp to emerge ~ARCH masked package. Reproducible: Always Steps to Reproduce: 1. Set up a system using XFce 4.6 with xfce-extra/xfce4-weather-plugin and some other panel plugins (for example systemload and net monitor). 2. Update system to XFce 4.8. 3. Fix libraries (run revdep-rebuild). Actual Results: revdep-rebuild discovers, that one of the atoms from the list becomes ~ARCH masked and stops process (rebuilds nothing, neither masked, nor ordinar atoms). Expected Results: revdep-rebuild should rebuild all not masked atoms, display error for masked ones and only then finish process. Adding xfce-extra/xfce4-weather-plugin atom into /etc/portage/package.keywords solved the problem. $ emerge --info Portage 2.1.9.25 (default/linux/x86/10.0, gcc-4.4.4, glibc-2.11.2-r3, 2.6.35-gentoo-r4 i686) ================================================================= System uname: Linux-2.6.35-gentoo-r4-i686-Intel-R-_Pentium-R-_4_CPU_3.00GHz-with-gentoo-1.12.14 Timestamp of tree: Mon, 31 Jan 2011 05:45:01 +0000 app-shells/bash: 4.1_p9 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.6.6-r1, 3.1.2-r4 dev-util/cmake: 2.8.1-r2 sys-apps/baselayout: 1.12.14-r1 sys-apps/sandbox: 2.4 sys-devel/autoconf: 2.13, 2.65-r1 sys-devel/automake: 1.10.3, 1.11.1 sys-devel/binutils: 2.20.1-r1 sys-devel/gcc: 4.4.4-r2 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.10 sys-devel/make: 3.81-r2 virtual/os-headers: 2.6.30-r1 (sys-kernel/linux-headers) ACCEPT_KEYWORDS="x86" ACCEPT_LICENSE="* -@EULA" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=i686 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /etc/env.d/50glib2 /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -march=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs buildsyspkg collision-protect distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://ftp.corbina.net/pub/Linux/gentoo/ ftp://mirror.aiya.ru/pub/gentoo/ ftp://ftp.org.kemsu.ru/gentoo/ http://ftp.chg.ru/pub/Linux/distributions/gentoo/ ftp://ftp.chg.ru/pub/Linux/distributions/gentoo/" LANG="ru_RU.KOI8-R" LC_ALL="" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="ru en" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage-ftn" SYNC=" rsync://rsync.ru.gentoo.org/gentoo-portage" USE="X a52 ac3 acl alsa avi berkdb bzip2 cdr cli cracklib crypt cups cxx dbus djvu dri dvd flac fortran gdbm gif gtk iconv jpeg jpeg2k modules mp3 mudflap ncurses nls nptl nptlonly ogg openmp pam pcre pdf perl png pppd python qt3support readline session ssl sysfs tcpd tiff unicode utf8 vorbis x86 xcb xorg xulrunner zlib" ALSA_CARDS="intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ru en" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="sis" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Forgive me but this sounds like normal portage behavior. Did you pass portage the --keep-going option? To do that you have to put it after any revdep-rebuild options and a dbl dash "--" to tell bash & revdep-rebuild that the options after it are to be passed to portage.
(In reply to comment #1) > Did you pass portage the --keep-going option? To do that you have to put it > after any revdep-rebuild options and a dbl dash "--" to tell bash & > revdep-rebuild that the options after it are to be passed to portage. The --keep-going option doesn't do anything for masked packages given as arguments (though it seems that people often think it does). Bug 328343 is a request for that sort of functionality.
Rather than --keep-going, the most appropriate emerge option that's currently available is --automask. That way, you'll get a list necessary configuration changes to make so that revdep-rebuild should succeed if you run it again.
(In reply to comment #3) > Rather than --keep-going, the most appropriate emerge option that's currently > available is --automask. That way, you'll get a list necessary configuration > changes to make so that revdep-rebuild should succeed if you run it again. > Thank you for ideas :) but I mean another one. There are several rather easy workarounds in this case, I'm about portage toolkit improvement. Nothing should be automatically unmasked by default! But revdep-rebuild also shouldn't stop fixing system meeting first became masked atom (may be the correct behaviour will be to remove such atoms with the proper report, because in any case they are inoperable, and first of all user should make a choice: unmask or remove the program), but at least continue the rebuilding process.
There is currently a python rewrite underway for revdep-rebuild. It is very possible for it to use portage's python api to check if pkgs are masked at all. Excluding them from the current build and reporting them. I'll pass this bug on to the person doing the rewrite. This could very well be included in it's release.
The python version of revdep-rebuild in recent gentoolit versions has this capability. In gentoolkit-0.3.0.7 the default revdep-rebuild is symlinked to the old bash version. The python version can be run instead by adding the .py extension to the command revdep-rebuild.py Since the python version is not yet the default (a bit more fine tuning required) I'll leave this bug open