Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 483548 - =app-portage/eix-0.29.3 reads profile/package.mask in overlays while portage does not
Summary: =app-portage/eix-0.29.3 reads profile/package.mask in overlays while portage ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Martin Väth
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-09-04 00:08 UTC by Samuel Bauer
Modified: 2013-11-07 21:54 UTC (History)
4 users (show)

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 Samuel Bauer 2013-09-04 00:08:04 UTC
Since last update, eix have a weird output, for only one package

$ eix -uc
[D] sci-libs/blas-reference (20070226{tbz2}@09/02/13 -> ~20120925[1]): Reference implementation of BLAS
[1] "science" /usr/gentoo/overlay/science

Wich means: "downgrade to higher version, from stable to instable"

blas-reference isn't listed in /etc/portage/package.keywords.
virtual-blas can't ask for a version outside from the portage tree.

The only line not commented from /etc/eixrc/00-eixrc (which I copied from /etc/eixrc after upgrade):
UPGRADE_TO_HIGHEST_SLOT="false"

Reproducible: Always




Portage 2.1.12.2 (default/linux/amd64/13.0, gcc-4.6.3, glibc-2.15-r3, 3.8.13-gentoo-nvidia x86_64)
=================================================================
System uname: Linux-3.8.13-gentoo-nvidia-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T9300_@_2.50GHz-with-gentoo-2.2
KiB Mem:     4045404 total,   1015516 free
KiB Swap:    2711892 total,   2442932 free
Timestamp of tree: Tue, 03 Sep 2013 15:00:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
ccache version 3.1.9 [disabled]
app-shells/bash:          4.2_p45
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.7.5-r2, 3.2.5-r2, 3.3.2-r2
dev-util/ccache:          3.1.9
dev-util/cmake:           2.8.10.2-r2
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.11.6, 1.12.6
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.4.7, 4.6.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.9 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: sunrise science desktop-effects sabayon gentoo various sam
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/easy-rsa /usr/share/gnupg/qualified.txt /var/bind /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.5/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cli-php5.5/ext-active/ /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="-march=native -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/gentoo/files/distfiles"
EMERGE_DEFAULT_OPTS="--misspell-suggestions=n"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync metadata-transfer news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://gentoo.cites.uiuc.edu/pub/gentoo/ http://mirror.qubenet.net/mirror/gentoo/ rsync://ftp.snt.utwente.nl/gentoo http://ftp.twaren.net/Linux/Gentoo/ ftp://ftp.mirrorservice.org/sites/distfiles.gentoo.org/"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/gentoo/files/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/excludes"
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/gentoo/portage"
PORTDIR_OVERLAY="/usr/gentoo/overlay/sunrise /usr/gentoo/overlay/science /usr/gentoo/overlay/desktop-effects /usr/gentoo/overlay/sabayon /usr/gentoo/portage /usr/gentoo/overlay/various /usr/gentoo/overlay/sam"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="7zip X a52 aac acl acpi aio alsa amd64 amr apache2 audiofile audit bash-completion berkdb bidi bs2b bzip2 cairo caps cdda cddb cdparanoia cdr cg cli cracklib crypt cscope css cue cups curl cxx dbus dga dia directfb dri dts dvd dvdr dvdread egl encode exif faac fam fat fbcon ffmpeg fftw fits flac fluidsynth fontconfig fortran fuse gallium gcrypt gd gdbm gif gimp glade gmp gnutls gphoto2 gpm graphviz gsm gtk gtk2 iconv icu id3 id3tag idn imlib introspection iodbc ipv6 jack jbig joystick jpeg jpeg2k kerberos ladspa lapack lash lcms ldap libass libcaca libkms libsamplerate lm_sensors lzma lzo mad midi mikmod mmx mmxext mng modules mozilla mp3 mp4 mpeg mpi mtp mudflap multilib ncurses nls nptl ntfs odbc offensive ogg openal opencl openexr opengl openmp openvg oss pam pango pcap pch pcre pdf png pnm portaudio postscript pvr qt3support rar raw readline rle romio rtc rtmp rtsp samba sasl sdl session smime smp sndfile sockets soundtouch spell srt sse sse2 sse3 sse4_1 ssl ssse3 startup-notification svg syslog tcpd tga theora threads tiff truetype twolame unicode urandom usb v4l v4l2 vaapi vdpau vim-syntax vorbis vpx wavpack wma wmf x264 xattr xcb xcomposite xdb xface xft xinetd xml xmp xosd xpm xrandr xv xvid xvmc zip zlib zsh-completion" ABI_X86="64" ALSA_CARDS="hda-intel" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_core authn_dbd authn_dbm authn_default authn_file authz_core authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info lbmethod_byrequests lbmethod_bytraffic lbmethod_bybusyness lbmethod_heartbeat log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif sosocache_shmbc speling status unique_id unixd 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" DRACUT_MODULES="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 joystick keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="pdfimport presenter-console presenter-minimizer" LINGUAS="fr fr_FR en vi" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-4" PYTHON_SINGLE_TARGET="python3_2" PYTHON_TARGETS="python3_3 python3_2 python2_7" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="nouveau nvidia fbdev vesa none v4l" 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, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, USE_PYTHON
Comment 1 Samuel Bauer 2013-09-04 00:30:45 UTC
re-launching eix-update fixed it.

I thought it had already been done through eix-sync (launched after eix update)

Sorry for opening this bug
Comment 2 Samuel Bauer 2013-09-04 21:34:05 UTC
Sorry, again for comment #1, even after eix-update this wrong behavior still appears.
Maybe it was a bit late yesterday when I invalided this bug.
Comment 3 Martin Väth 2013-09-05 16:00:33 UTC
The issue is discussed in http://forums.gentoo.org/viewtopic-p-7389450.html

Summarizing: The science overlay has a profile/package.mask file which masks the stable in-tree versions.

eix honours profile/package.mask of all overlays.

In contrast, portage (and according to pms portage is right), honours only those ackage.mask files which explicitly are contained in some profile listed throught the "parents" mechanism.

Unfortunately, according to pms/portage, overlay maintainers have no way of masking any package which IMHO is very bad. So it *might* be a good idea to keep the current eix behaviour so that users see that someone *wants* to mask the package. On this other hand, the information is then inconsistent with portage,

I plan to include a variable ADD_OVERLAY_PROFILES to >=eix-0.23.4 which if "false" uses pms-compliant behaviour while if "true" uses current behaviour.

Any suggestions what the default value of this variable should be?

(Clearly, pms-compliance is crucial, but OTOH if the default is "false" practically no user will realize the mask suggestions of the overlay-maintainers - certainly the masks are there for a reason.)

Perhaps this is something which should be changed in pms/portage?
Comment 4 Samuel Bauer 2013-09-05 20:17:11 UTC
As, said in the first comment, I use UPGRADE_TO_HIGHEST_SLOT="false"

Here also is an issue with eix:
$ eix -e dev-java/antlr
[U] dev-java/antlr
     Available versions:  
     (0)    2.7.7 ~2.7.7-r1 2.7.7-r2 ~2.7.7-r3 ~2.7.7-r4 ~2.7.7-r5
     (3)    3.1.3-r3
       {+cxx debug doc examples gunit +java mono python script source static-libs ELIBC="FreeBSD" PYTHON_SINGLE_TARGET="python2_5 python2_6 python2_7" PYTHON_TARGETS="python2_5 python2_6 python2_7"}
     Installed versions:  2.7.7-r2(00:10:25 10/14/12)(cxx java -debug -doc -examples -mono -python -script -source -static-libs ELIBC="-FreeBSD") 3.1.3-r2(3)(23:06:28 10/13/12)(-gunit -source ELIBC="-FreeBSD")
     Homepage:            http://www.antlr.org/
     Description:         A parser generator for C++, C#, Java, and Python

suggesting me to upgrade dev-java/antlr (in this case nothing is masked in overlays). this package is the only false positive to upgrade when I use eix -uc

For other multislot packages, no problems
$ eix -e automake
[I] sys-devel/automake
     Available versions:  
     (1.4)  1.4_p6-r1
     (1.5)  1.5-r1
     (1.6)  1.6.3-r1
     (1.7)  1.7.9-r2
     (1.8)  1.8.5-r4
     (1.9)  1.9.6-r3
     (1.10) 1.10.3
     (1.11) 1.11.6
     (1.12) 1.12.6
     (1.13) ~1.13.1 ~1.13.2 ~1.13.3 1.13.4
     (1.14) ~1.14
     (9999) **9999
     Installed versions:  1.9.6-r3(1.9)(02:55:17 10/14/12) 1.11.6(1.11)(02:56:08 10/14/12) 1.12.6(1.12)(16:30:02 04/16/13)
     Homepage:            http://www.gnu.org/software/automake/
     Description:         Used to generate Makefile.in from Makefile.am
Comment 5 Samuel Bauer 2013-09-05 20:32:51 UTC
In reply to #comment3

thanks for your explanations, i'll keep in mind ADD_OVERLAY_PROFILE for next release.

By the way, I would be afraid if any overlay can mask packages. Lot of aren't up to  date.
Copying the content of package.mask from "trusted" overlay list to portage configuration isn't so difficult.
Comment 6 Arfrever Frehtes Taifersar Arahesis 2013-09-06 12:52:37 UTC
(In reply to Martin Väth from comment #3)
> portage (and according to pms portage is right), honours only
> those package.mask files which explicitly are contained in some profile
> listed throught the "parents" mechanism.

Portage supports package.mask (and some other files) in profile-specific locations (/etc/portage/make.profile and parent profiles) and repository-specific locations (${repository_path}/profiles). Repository-specific package.mask in repository A affects ebuilds in repository A and ebuilds in repositories, which specify repository A as master repository (masters attribute in ${repository_path}/metadata/layout.conf).

> Unfortunately, according to pms/portage, overlay maintainers have no way of
> masking any package which IMHO is very bad.

If EAPI of repository (${repository_path}/profiles/eapi) is set to "5-progress", then entries with "::${some_repository}" are supported in repository-specific package.mask in this repository, and these entries allow to mask ebuilds in an unrelated repository.
Comment 7 Martin Väth 2013-09-06 13:23:58 UTC
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #6)
 
> "5-progress", then entries with "::${some_repository}" are supported in
> repository-specific package.mask in this repository

Thanks. Then perhaps the science overlay missed to set this EAPI.
(I did not check but considered it as given that portage ignored the mask
as described in http://forums.gentoo.org/viewtopic-p-7389450.html)

When I consider this situation, I think that the current behavior of eix
concerning $OVERLAY/profile/package.mask is appropriate and either I will
remove support for ADD_OVERLAY_PROFILE again or I let it default to "true":
It is unlikely that somebody uses "::..." without appropriate EAPI.
Comment 8 Martin Väth 2013-09-06 14:01:02 UTC
(In reply to Samuel BAUER from comment #4)
> $ eix -e dev-java/antlr

This is unlreted and seems to be correct behaviour of eix:
You have installed version 3.1.3-r2:3, and the current stable veresion in this slot is higher, namely 3.1.3-r3:3, so eix reports correctly.
Comment 9 Samuel Bauer 2013-09-06 20:23:15 UTC
In reply to #comment8

Yes this was unrelated, and no buggy behavior, the only wrong behavior comes from me, I didn't checked which version were installed (antlr:3). Sorry, and thanks for the reply
Comment 10 Samuel Bauer 2013-10-23 01:24:23 UTC
From comment #1
> Wich means: "downgrade to higher version, from stable to instable"

I understood why blas-reference::gentoo was masked. But I still do not understand why eix marks this as a downgrade.
Comment 11 Martin Väth 2013-10-23 07:30:32 UTC
There is no version which could emerged which is higher or equal to the currently installed version.
If you put blas-reference into your /etc/portage/package.accept_keywords, then blas-reference-20120925[1] could be emerged; since this is higher than your currently installed version you would see [U].
Comment 12 Martin Väth 2013-11-07 21:54:26 UTC
Since it seems that reading profile/package.mask in overlays is in accordance with current portage, I mark this bug as fixed.