Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 353518 - app-portage/gentoolkit-0.2.4.6.1-r1 revdep-rebuild rebuilds nothing if one of atoms became ~ARCH
Summary: app-portage/gentoolkit-0.2.4.6.1-r1 revdep-rebuild rebuilds nothing if one of...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: Portage Tools Team
URL:
Whiteboard:
Keywords: Inclusion
Depends on:
Blocks:
 
Reported: 2011-02-02 12:47 UTC by Sergey S. Starikoff
Modified: 2022-07-10 23:14 UTC (History)
0 users

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 Sergey S. Starikoff 2011-02-02 12:47:44 UTC
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
Comment 1 Brian Dolbec (RETIRED) gentoo-dev 2011-02-06 04:45:05 UTC
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. 
Comment 2 Zac Medico gentoo-dev 2011-02-06 20:15:08 UTC
(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.
Comment 3 Zac Medico gentoo-dev 2011-02-06 20:54:41 UTC
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.
Comment 4 Sergey S. Starikoff 2011-02-07 06:16:12 UTC
(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.
Comment 5 Brian Dolbec (RETIRED) gentoo-dev 2011-02-07 06:28:26 UTC
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.
Comment 6 Brian Dolbec (RETIRED) gentoo-dev 2012-12-23 03:46:34 UTC
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