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

Bug 382557

Summary: portage-2.1.10.15 regression of masked item acceptance
Product: Portage Development Reporter: Derk W te Bokkel <derk.tebokkel>
Component: CoreAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: normal Keywords: InVCS
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=547332
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 381649    

Description Derk W te Bokkel 2011-09-11 02:33:03 UTC
using portage-2.1.10.14   no  ebuilds are requested for dev-java/oracle-jdk-bin masked (icedtea6 is installed for java-vm) (also virtuals as below)

when portage-2.1.10.15 installed  and virtual/jdk-1.7 and virtual/jre-1.7 plus dev-java/oracle-jdk-bin are masked it we get this :

 The following license changes are necessary to proceed:
#required by virtual/jdk-1.7.0, required by virtual/jre-1.7.0, required by dev-java/xerces-2.9.1, required by dev-java/xalan-2.7.1, required by dev-java/ant-owanttask-1.1-r12, required by dev-java/asm-2.0-r1, required by dev-java/jarjar-0.9, required by dev-java/xom-1.2.6, required by dev-java/jaxen-1.1.1, required by dev-java/jdom-jaxen-1.0-r1, required by dev-java/jdom-1.0-r4, required by dev-java/saxon-8.4b-r3, required by app-office/libreoffice-3.4.3.2-r1[java], required by @selected, required by @world (argument)
>=dev-java/oracle-jdk-bin-1.7.0 Oracle-BCLA-JavaSE

although all requirements are satisfied by icedtea6 for every single ebuild listed.


Reproducible: Always

Steps to Reproduce:
1. install portage-2.1.10.15
2.
3.



 emerge --info
Portage 2.1.10.14 (default/linux/amd64/10.0, gcc-4.5.3, glibc-2.13-r4, 3.0.4-gentoo x86_64)
=================================================================
System uname: Linux-3.0.4-gentoo-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T5870_@_2.00GHz-with-gentoo-2.0.3
Timestamp of tree: Sun, 11 Sep 2011 01:00:01 +0000
app-shells/bash:          4.2_p10
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r2, 3.2-r2
dev-util/cmake:           2.8.5-r2
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.9.3-r1
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.11.1-r1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.5.3-r1
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 2.6.39 (virtual/os-headers)
sys-libs/glibc:           2.13-r4
Repositories: gentoo x-portage derk-personal
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--autounmask-write"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_GB en_US"
MAKEOPTS="-j4"
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 /home/derk/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl acpi alsa amd64 apng archive berkdb bzip2 cairo cdda cddax cddb cdr cifs cli cracklib crypt cups cxx dbus device-mapper dri dvd dvdr encode extras ffmpeg flac fortran gallium gdbm gdu gnome gnome-keyring gnutls gphoto2 gpm gstreamer gtk h323 iconv id3tag introspection ipv6 java jpeg jpeg2k lame laptop libnotify lvm mad mmx modules mp3 mpeg mudflap multilib ncurses nfs nls nptl nptlonly nsplugin ntp ofx ogg opengl openmp pam parted pcre pdf perl png policykit ppds pppd python qt4 readline samba sdl session sip smbclient sqlite sse sse2 ssl svg sysfs tcl tcpd theora tiff tk twolame udev unicode vorbis wav x264 xcb xorg xulrunner zlib" ALSA_CARDS="hda-intel intel8x0 intel8x0m" 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" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="*" 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 evdev synaptics wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_GB en_US" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="intel vesa fbdev" 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
Comment 1 Derk W te Bokkel 2011-09-11 02:36:28 UTC
#current package.mask
=virtual/jre-1.7
=virtual/jdk-1.7
dev-java/oracle-jdk-bin
dev-java/oracle-jre-bin
>=sys-block/parted-3.0
>=sys-block/gparted-0.9.0

# no issues with portage 2.1.10.14
=sys-apps/portage-2.1.10.15
Comment 2 Zac Medico gentoo-dev 2011-09-11 09:00:53 UTC
It's due to this commit which is needed in order for the latest version to be pulled in:

http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=21330075f07248765016e104b3ba8216903f1ecb

Generally, newer versions are a good thing, and this wouldn't be a problem if there was another virtual/jdk-1.7.0 provider with a license matched by the default ACCEPT_LICENSE settings. I'll have to ponder this to see if I can come up with some kind of compromise.
Comment 3 Derk W te Bokkel 2011-09-11 11:14:20 UTC
note: I forgot to add that it also requests the unmask  of oracle-jdk-bin as well.
i.e make the changes to package.mask as well ... virtually the same lines ..

.. even if the package.mask is set-up as above ..

 it is reaching around the all the masks to pull the newer versions in  .. which defeats the purpose of the masking .. 

the emerge list includes virtual/jdk-1.7, virtual/jre-1.7 and  dev-java/oracle-jdk-bin-1.7... 

note the other items in the mask list  .. the newest version of gparted and parted  together have reduced functionality  I want the older added functionallity  so I mask the newer versions .. if portage starts reaching past these masks why bother masking at all .. then I have to start using customized ebuilds in my personal tree .. not every-one will do this.
Comment 4 Derk W te Bokkel 2011-09-11 11:33:56 UTC
we should be able to select via masking whether  we want those packages or not.. when we mask intentionally and they still become available (messing up emerges) it can cause real issues. At the worst a warning that certain software needs these masks but will not be installed due to missing dependencies is okay .. a masks change request is okay as well.. but if I choose not to ..it should not stop the emerge ..locking out the entire emerge is  a real pain .. especially for a large number of packages when not all are effected.  

Would a two pass model work .. if we turn down a request for mask changes .. request if we want the rest of the packages emerged .. and pop-out offending packages .. then re-run emerge with all emergeable packages ..

Note: I usually use --ask (-a) in my emerge requests
Comment 5 Zac Medico gentoo-dev 2011-09-11 17:34:27 UTC
I've reverted the change in behavior:

http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=a83f1864180ac88675bfd633617d835e9e42c1de

I'll try for less different approach that will only pull in the update if the dependencies aren't masked.
Comment 6 Derk W te Bokkel 2011-09-11 20:27:46 UTC
thank you .. let me know if i can test anything for you .. Derk
Comment 7 Zac Medico gentoo-dev 2011-09-11 21:13:53 UTC
I've got a new patch here that pulls in the virtual slot updates only if their dependencies are not masked:

http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=b95cbb6b78ad6d9b8e2d3edc5fafff122c3ce7c5

It has tests that prove that it works, so it's not necessary for you to test it.
Comment 8 Zac Medico gentoo-dev 2011-09-14 06:06:49 UTC
This is fixed in 2.1.10.16 and 2.2.0_alpha56.