Summary: | sys-apps/portage-2.1.11.62: excluding package that needs rebuild due to sub-slot change triggers unsolved slot conflicts | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Pacho Ramos <pacho> |
Component: | Core - Dependencies | Assignee: | Portage team <dev-portage> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | esigra, rhill |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 300071 |
Description
Pacho Ramos
2013-04-29 22:02:18 UTC
# emerge --info Portage 2.1.11.62 (default/linux/amd64/13.0/desktop/gnome, gcc-4.6.3, glibc-2.15-r3, 3.8.8-gentoo x86_64) ================================================================= System uname: Linux-3.8.8-gentoo-x86_64-Intel-R-_Core-TM-_i5-2410M_CPU_@_2.30GHz-with-gentoo-2.1 KiB Mem: 6008200 total, 1133952 free KiB Swap: 5140476 total, 4821640 free Timestamp of tree: Mon, 29 Apr 2013 21:00:01 +0000 ld GNU ld (GNU Binutils) 2.22 ccache version 3.1.9 [enabled] app-shells/bash: 4.2_p37 dev-java/java-config: 2.1.12-r1 dev-lang/python: 2.7.3-r3, 3.2.3-r2 dev-util/ccache: 3.1.9 dev-util/cmake: 2.8.9 dev-util/pkgconfig: 0.28 sys-apps/baselayout: 2.1-r1 sys-apps/openrc: 0.11.8 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.10.3, 1.11.6, 1.12.6 sys-devel/binutils: 2.22-r1 sys-devel/gcc: 4.6.3, 4.7.2-r1 sys-devel/gcc-config: 1.7.3 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r4 sys-kernel/linux-headers: 3.7 (virtual/os-headers) sys-libs/glibc: 2.15-r3 Repositories: gentoo local ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -march=native" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /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 -pipe -march=native" DISTDIR="/usr/distfiles" EMERGE_DEFAULT_OPTS="--quiet-build=n --autounmask-write" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms sign split-log strict test test-fail-continue unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://mirror.ovh.net/gentoo-distfiles/ http://ftp.heanet.ie/pub/gentoo/" LANG="es_ES.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu" MAKEOPTS="-j5" PKGDIR="/usr/local/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi alsa amd64 applet bash-completion berkdb bluetooth branding bzip2 cairo cdda cddb cdr cli colord consolekit cracklib crypt cups cvs cxx dbus djvu dri dts dvd dvdr dvi eds emboss enchant encode evo exif fam fat ffmpeg firefox flac fortran fuse gdbm gif gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk gtk3 gtkstyle http iconv infinality irc jabber jpeg kpathsea latex lcms ldap libnotify libsecret libvisual lyx mad mms mmx mmxext mng modules mono monolithic-build mp3 mp4 mpeg mudflap multilib musicbrainz nautilus ncurses network-cron networkmanager nls nptl ntfs ntp numa nvidia ogg opengl openmp optimized-qmake pam pango pch pdf png policykit ppds pulseaudio qt3support readline reiserfs scanner sdl session smp sna socialweb spell sse sse2 sse3 ssl ssse3 startup-notification svg t1lib tcpd test theora threads tiff truetype udev udisks unicode upnp-av upower usb v4l vaapi vala vcd vdpau vorbis wifi wxwidgets x264 xcb xfs xml xv xvid youtube zlib" ABI_X86="64" ALSA_CARDS="hda-intel" 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="authn_core authz_core socache_shmcb unixd 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" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" 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="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="es es_ES en_US" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="fbdev nvidia vesa intel i915 i965" 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, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON It looks like your arguments caused it to hit the backtracking limit, and it ended up automatically masking the icu update while backtracking. It probably would have behaved much better if you had used --exclude="icu webkit-gtk", since icu is what triggers the webkit-gtk rebuild (by excluding the icu update, you could have avoided needless backtracking). You can try it with a larger --backtrack setting to see if that solves it. If --backtrack=30 doesn't work, maybe try 100 or more. (In reply to comment #2) > It looks like your arguments caused it to hit the backtracking limit, and it > ended up automatically masking the icu update while backtracking. > > It probably would have behaved much better if you had used --exclude="icu > webkit-gtk", since icu is what triggers the webkit-gtk rebuild (by excluding > the icu update, you could have avoided needless backtracking). Thanks, will try this night Only one more think, maybe would be interesting to show in some way what package is triggering rebuilds, how did you found it was "icu"? Well, icu seems to change sub-slot at least once a week, so if I was gambling then I would bet on icu. Also, I saw "[ebuild r U ] dev-libs/icu-51.1:0/51.1 [49.1.2:0/0]" in the merge list that you posted on bug 467924, and checked for icu in the webkit-gtk deps like this: grep icu /usr/portage/metadata/md5-cache/net-libs/webkit-gtk* (In reply to Pacho Ramos from comment #4) > Only one more think, maybe would be interesting to show in some way what > package is triggering rebuilds, how did you found it was "icu"? Bug 472104 requests display improvements in this area. Anything that needs to be done here? Note that the display improvements are already implemented (but not released). what's need to be done here? i can tell. sub-slot should go away from package manager. You, portage developers, are so far away from understanding what package manager should do. Users should have controllable, clean, straight-forward updates, no blocks, no idiotic message about slots, sub-slots, unresolveable dependencies. We, humble users, who likes Gentoo philosophy and the way we control their systems, are seriously depressed about *declining* portage speed and *performance*. Currently it takes so much time maintaining updates, specially dealing with sub-slots. Portage output is just hilarious, it chokes in an output it generate itself. Is this a package manager does it? Yes. So how, on earth regular user deal with that? --backtrack? Oh c'mon. This is about curing legs, when you have head injury, i'd say. What is sub-slot? First of all, this is absolutely incorrect term. sub-slot means there is a slot within a slot. Is this true? No, it's not. This artificial, super-smart technique using mind-lowing "graph-theory-based-resolver" which does exactly this idiotic things. In theory, idea of rebuilding packages after a soname bumps is good. The way it's implemented, is absolutely unacceptable. So, we, humble Gentoo users, ask portage devs to stop generate random crap. Call 2016 Year, a Year of Portage, a heart of Gentoo and finally do the heart surgery, do not add shit in package manager. Freeze developement. Freeze EAPI updates. Clean up code, fix resolver. Create something better than sub-slots or fix this feature to be working. Only then release portage version, that are known to not giving so much maintenance burden. (In reply to Oleg from comment #8) > what's need to be done here? i can tell. > sub-slot should go away from package manager. Just set EMERGE_DEFAULT_OPTS="--ignore-built-slot-operator-deps=y" and you won't be bothered with them anymore. Is there any reason why this can't be the default? Some of these blocker messages where you have a half dozen packages conflicting are completely incomprehensible. If I have trouble untangling them what hope does someone who's just starting out have? (In reply to Ryan Hill from comment #10) > Is there any reason why this can't be the default? Some of these blocker > messages where you have a half dozen packages conflicting are completely > incomprehensible. If I have trouble untangling them what hope does someone > who's just starting out have? Hmm, I suppose that in the event of an unsolved conflict, it would make sense to filter out the noise that comes from the built slot operator deps. I don't want to disable slot operator rebuilds by default, because it works very well in many cases, especially smaller systems. It also works very well on larger systems, but that fact tends to be obscured by a bunch of conflicts that are unrelated to built slot operator deps. In this case, it seems like we could greatly benefit by filtering out the noise that comes from the built slot operator deps. (In reply to Zac Medico from comment #11) > Hmm, I suppose that in the event of an unsolved conflict, it would make > sense to filter out the noise that comes from the built slot operator deps. Filed as bug 598503. |