Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 154628 - app-portage/ufed-0.40-r3 package.use.{force,mask} issues
Summary: app-portage/ufed-0.40-r3 package.use.{force,mask} issues
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Tools (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Harald van Dijk (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-11-09 19:47 UTC by Petter Häggholm
Modified: 2006-11-25 19:30 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
ufed-packageusemask.patch (ufed-packageusemask.patch,1.69 KB, patch)
2006-11-12 13:07 UTC, Harald van Dijk (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Petter Häggholm 2006-11-09 19:47:13 UTC
When I run ufed, certain USE flags (the ones I have noticed are mmx, sse, and sse2) do not show up. Worse, if I use ufed to save settings to make.conf, these flags will be explicitly UNset; that is, if I have manually entered them as USE="[...] mmx sse sse2", then ufed will modify make.conf to contain instead USE="[...] -mmx -sse -sse2". (This appears whether or not I have make.conf source layman's make.conf.)

dreadfort ~ # emerge --info
Portage 2.1.2_rc1-r5 (default-linux/amd64/2006.1, gcc-4.1.1, glibc-2.5-r0, 2.6.18-gentoo x86_64)
=================================================================
System uname: 2.6.18-gentoo x86_64 AMD Athlon(tm) 64 Processor 3000+
Gentoo Base System version 1.12.6
Last Sync: Fri, 10 Nov 2006 03:00:01 +0000
ccache version 2.4 [disabled]
dev-java/java-config: 1.3.7, 2.0.30
dev-lang/python:     2.4.4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r6
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.60
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O2 -fomit-frame-pointer -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-march=athlon64 -O2 -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.cites.uiuc.edu/pub/gentoo http://prometheus.cs.wmich.edu/gentoo http://gentoo.chem.wisc.edu/gentoo/ http://mirror.espri.arizona.edu/gentoo/ http://cudlug.cudenver.edu/gentoo/ http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="en"
MAKEOPTS="-j2 -l1"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://castleblack/gentoo-portage"
USE="amd64 7zip X a52 aac acpi aiglx aim aimextras alsa amr apache2 artworkextra avahi bash-completion beagle berkdb bitmap-fonts branding bzip2 cairo cdinstall cdr cdrom cdsound cli cracklib crypt cscope cups cursors daap dba dbus divx dlloader doc dri dts dvd dvi editor eds elibc_glibc encode fam ffmpeg firefox flac foomaticdb fortran gcc64 gdbm gdm gif gimp gimpprint glibc-omitfp glitz glut gmail gmailtimestamps gmedia gnome gnome-print gnuplot gnutls gphoto2 gpm gstreamer gstreamer010 gtalk gtk gtk2 gtkhtml hal howl-compat icons iconv icq id3 imlib initng_plugins_also initng_plugins_bash_launcher initng_plugins_chdir initng_plugins_chroot initng_plugins_conflict initng_plugins_cpout initng_plugins_critical initng_plugins_cron initng_plugins_daemon initng_plugins_dev initng_plugins_dllaunch initng_plugins_envparser initng_plugins_find initng_plugins_fstat initng_plugins_history initng_plugins_idleprobe initng_plugins_initctl initng_plugins_interactive initng_plugins_iparser initng_plugins_last initng_plugins_limit initng_plugins_logfile initng_plugins_netprobe initng_plugins_ngc4 initng_plugins_pause initng_plugins_pidfile initng_plugins_reload initng_plugins_renice initng_plugins_rlparser initng_plugins_simple_launcher initng_plugins_stcmd initng_plugins_stdout initng_plugins_suid initng_plugins_syncron initng_plugins_syslog initng_plugins_unneeded input_devices_evdev input_devices_keyboard input_devices_mouse ipod iproute2 ipv6 isdnlog jabber jpeg jpeg2k kernel_linux libg++ libnotify linguas_en lm_sensors logitech-mouse logrotate mad math mdnsresponder-compat mikmod modplug mono mozbranding mozcalendar mozdevelop moznocompose moznoirc moznomail mozsvg mp3 mp4 mp4live mpeg msn musepack music musicbrainz nautilus ncurses network nls nptl nptlonly nsplugin nvidia offensive ogg oggvorbis openal opengl pam pcre pdf perl png ppds pppd python qt-static quicktime readline realmedia reflection reiserfs rhythmbox rtc scanner sdl session sid spl ssl stencil-buffer stream svg t1lib tcpd tetex textures themes theora threads thunderbird tiff truetype truetype-fonts type1-fonts udev unicode usb userland_GNU userlocales vcd video_cards_nvidia video_cards_vesa videos vim vim-with-x vorbis wma wma123 wmf wmp xchat xchatdccserver xcomposite xforms xml xorg xpm xprint xrandr xv xvid xvmc yahoo zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-11-10 00:15:37 UTC
Don't mess with these flags, they are dealt with by amd64 profiles as needed and enabling/disabling them in make.conf won't have any effect.
Comment 2 Petter Häggholm 2006-11-10 09:15:56 UTC
According to Simon Stelling, this is no longer the case: http://www.mail-archive.com/gentoo-amd64@lists.gentoo.org/msg06170.html

Also, I assure you that toggling them in make.conf has SOME effect, at least to the degree that emerge appears to treat them "properly": E.g. if I `emerge -va gimp` it gives all appearances of respecting them. (This is not to say that the ebuild couldn't be filtering them, but from the recent guideline referred to above, this is the CORRECT way of dealing with them.)

In any case, even if I should leave these USE flags be and what I'm doing is folly, I still don't like the way that ufed deals with it. If they are masked, then perhaps ufed could indicate that I can't set them, or something; having it silently disable flags is puzzling and disconcerting. (As I've no idea why it does it, I also wonder whether it might, at some point, start disabling other flags.)
Comment 3 Harald van Dijk (RETIRED) gentoo-dev 2006-11-10 11:43:36 UTC
(In reply to comment #2)
> In any case, even if I should leave these USE flags be and what I'm doing is
> folly, I still don't like the way that ufed deals with it. If they are masked,
> then perhaps ufed could indicate that I can't set them, or something; having it
> silently disable flags is puzzling and disconcerting. (As I've no idea why it
> does it, I also wonder whether it might, at some point, start disabling other
> flags.)

It does this because the flags are enabled by the profile, but after quitting ufed, are not in your selected list of flags. The reason they cannot be in your selected list of flags is because they are masked, meaning they do not appear in the list at all. This is a design flaw.

It should be fairly easy to modify ufed to get rid of anything masked. However, the proper solution for this bug involves parsing package.use.*, and to be honest, I'm not completely sure how the files interact yet. I'll try to get the more direct workaround (not allowing "mmx" e.a. to be selected, but not putting "-mmx" in make.conf either) done in the weekend.
Comment 4 Harald van Dijk (RETIRED) gentoo-dev 2006-11-10 14:16:32 UTC
0.40-r4 should no longer have this problem. You won't be able to select the mmx flag, and ufed will not put it in /etc/make.conf. I'll not close this yet, because as noted, this is less buggy behaviour, but not correct yet. It should allow the mmx flag to be enabled or disabled.
Comment 5 Harald van Dijk (RETIRED) gentoo-dev 2006-11-12 13:07:31 UTC
Created attachment 101777 [details, diff]
ufed-packageusemask.patch

This should fix the bug, although it may give a few false positives (such as possibly allowing mmx in the list even when there isn't any single package for which you can choose whether to enable it), but since those false positives should be temporary, it doesn't really do any harm either. Could you give it a try to see if I missed anything in my testing (since I don't have an amd64, and only amd64 profiles use package.use.* so far)? Just save the patch, and run
  patch -d/ -p0 <ufed-packageusemask.patch
as root.
Comment 6 Harald van Dijk (RETIRED) gentoo-dev 2006-11-25 19:30:37 UTC
Fixed slightly differently after comments on bug #156191.