Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 291414

Summary: Doesn't works extend, remove and intersect options with sets in sys-apps/portage-2.2_rc48
Product: Portage Development Reporter: Evgeny <worklord>
Component: Core - Interface (emerge)Assignee: Portage team <dev-portage>
Severity: minor CC: esigra,
Priority: High    
Version: 2.2   
Hardware: AMD64   
OS: Linux   
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 144480    
Attachments: revert-r11597.patch (re-add "repository" option in CategorySet)

Description Evgeny 2009-11-01 10:50:46 UTC
I'm installed sys-apps/portage-2.2_rc48 and look that extend, remove and intersect features doesn't works. sys-apps/portage-2.2_rc33 works with it without error but uncorrect, foe i.e.:

# emerge -upv @world-@downgrade

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ] sys-apps/portage-2.2_rc48 [2.2_rc33] USE="-build -doc -epydoc -python3% (-selinux)" LINGUAS="-pl" 0 kB [0]
[ebuild     UD] app-cdr/brasero-2.26.3 [2.28.2] USE="cdr css libburn nautilus totem* -beagle (-test%)" 3,235 kB [0]
[ebuild     U ] app-text/fbreader-0.10.7-r2 [0.10.7] USE="gtk -debug -qt3 -qt4" 1,564 kB [0]

brasero in downgrade set, but it not remove from upgrade list.

So, on sys-apps/portage-2.2_rc48 I can see only: 

# emerge -upv @world-@downgrade
emerge: There are no sets to satisfy 'world-@downgrade'. The following sets exist:… list sets

Reproducible: Always
Comment 1 Evgeny 2009-11-01 10:51:47 UTC
And add my emerge --info: 

Portage 2.2_rc48 (default/linux/amd64/10.0/desktop, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.31-gentoo-r3 x86_64)
System uname: Linux-2.6.31-gentoo-r3-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9400_@_2.66GHz-with-gentoo-2.0.0
Timestamp of tree: Sun, 01 Nov 2009 09:30:01 +0000
app-shells/bash:     4.0_p28
dev-lang/python:     2.6.2-r1
dev-python/pycrypto: 2.0.1-r8
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.5.2-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.7.9-r1, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.27-r2
CFLAGS="-march=core2 -O2 -pipe"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /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 /etc/udev/rules.d"
CXXFLAGS="-march=core2 -O2 -pipe"
FEATURES="assume-digests buildpkg distlocks fixpackages metadata-transfer news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTDIR_OVERLAY="/usr/portage/local/layman/devnull /usr/portage/local"
USE="X a52 aac acl acpi alsa amd64 amr animgif bash-completion branding bzip2 cairo cdr cli consolekit cracklib crypt cups dbus dirac dri dts dvd dvdr encode fam ffmpeg firefox flac fontconfig fuse gif gnome gpm gsm gtk hal iconv jpeg latex ldap libnotify lm_sensors mad mikmod mmx modules mp3 mp4 mpeg mudflap multilib nautilus ncurses nls nptl nptlonly nvidia ogg opengl openmp pam pcre pdf perl png ppds python quicktime readline reflection schroedinger sdl session speex spell spl sse sse2 ssl ssse3 startup-notification svg sysfs tcpd theora threads thunar tiff truetype unicode usb vhook vim-syntax vorbis x264 xml xorg xpm xulrunner xv xvid zlib" ALSA_CARDS="hda-intel ctxfi" 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 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" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ru" USERLAND="GNU" VIDEO_CARDS="nvidia" 
Comment 2 Zac Medico gentoo-dev 2009-11-01 17:51:16 UTC
As noted in bug #253802, comment #7, I've removed the extend, remove and intersect implementation (that existed in 2.2_rc33) because it did not meet all user expectations of how it should behave. When it is re-implemented in the future, it will behave differently, and the sets.conf usage may be different.

In addition to the problem of not meeting user expectations, I also removed it because it would have conflicted with a change I have made in the --depclean --verbose output which displays reverse dependencies of package sets that are nested inside of world.
Comment 3 TGL 2009-11-21 11:27:09 UTC
In r11597, the "repository" options for "CategorySet" has been removed, in favor of the "intersect" operator.  Now that there is no more "intersect", could you add the "repository" option back?  I find this kind of sets much more useful when they can be restricted to installed packages only (ie. with repository=vartree instead of porttree).

I will attach a cleaned up revert patch.
Comment 4 TGL 2009-11-21 11:28:15 UTC
Created attachment 210778 [details, diff]
revert-r11597.patch (re-add "repository" option in CategorySet)
Comment 5 Zac Medico gentoo-dev 2009-11-22 05:16:43 UTC
(In reply to comment #4)
> Created an attachment (id=210778) [details]
> revert-r11597.patch (re-add "repository" option in CategorySet)

Thanks, that's in svn r14874.
Comment 6 Zac Medico gentoo-dev 2010-06-05 17:17:35 UTC
I guess we can close this since now it's been released for some time.

FYI, bug 322883 outlines plans for package set operator expressions.