<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>252167</bug_id>
          
          <creation_ts>2008-12-22 12:11 0000</creation_ts>
          <short_desc>sys-apps/portage-2.1.6.2 doesn&apos;t attempt to downgrade packages on keyword changes...</short_desc>
          <delta_ts>2009-02-02 02:13:01 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Core system</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <keywords>InSVN</keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>174509</blocked>
    
    <blocked>197810</blocked>
    
    <blocked>210077</blocked>
    
    <blocked>216231</blocked>
          
          <everconfirmed>1</everconfirmed>
          <reporter>xenoterracide@gmail.com</reporter>
          <assigned_to>dev-portage@gentoo.org</assigned_to>
          <cc>ferringb@gmail.com</cc>
    
    <cc>tove@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>xenoterracide@gmail.com</who>
            <bug_when>2008-12-22 12:11:37 0000</bug_when>
            <thetext>I have a local overlay with mysql-community-5.1.30 when I remove the overlay. by removing PORTDIR_OVERLAY from make.conf and try emerge -avuDN world mysql-community doesn&apos;t attempt to downgrade. I also suspect several packages that are not upgrading... but don&apos;t have a specific example at this time.

Reproducible: Always</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>xenoterracide@gmail.com</who>
            <bug_when>2008-12-22 12:12:08 0000</bug_when>
            <thetext>Created an attachment (id=176142)
emerge --info

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>xenoterracide@gmail.com</who>
            <bug_when>2008-12-22 16:44:00 0000</bug_when>
            <thetext>it doesn&apos;t downgrade things in world either. created ghc 6.10.1 ebuild... which was marked stable, forgot to change keywords to ~arch. decided it wasn&apos;t quite ready. removed package from package.keywords and then change ebuild to have ~arch keywords. it won&apos;t downgrade unless I specifically emerge -av ghc.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>polynomial-c@gentoo.org</who>
            <bug_when>2008-12-22 18:14:39 0000</bug_when>
            <thetext>please try 

  emerge --with-bdeps=y -uDav world

and report if this downgrades your mentioned packages.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>xenoterracide@gmail.com</who>
            <bug_when>2008-12-22 19:10:00 0000</bug_when>
            <thetext>it does not in either case.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>polynomial-c@gentoo.org</who>
            <bug_when>2008-12-22 19:50:45 0000</bug_when>
            <thetext>Alright, could reproduce the problem. I emerged some ebuild from my local overlay which has x86 keyword. Then I changed the ebuild in the overlay to contain ~x86 keyword so emerge should downgrade to the next lower version of the package containing the x86 keyword, which portage-2.1.6.2 did not do upon &quot;emerge --with-bdeps=y -uDav world&quot;.

If you want to reproduce, take some ebuild with at leat two different versions. Mark the higher one stable on your arch and emerge the package. Then move the ebuild from arch to ~arch so the only remaining stable ebuild is the lower one. then run &quot;emerge -uDpv world&quot; and watch the output.


# emerge --info
Portage 2.1.6.2 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25.20 i686)
=================================================================
System uname: Linux-2.6.25.20-i686-AMD_Athlon-TM-_XP_2000+-with-glibc2.0
Timestamp of tree: Mon, 22 Dec 2008 07:00:01 +0000
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7-r1, 2.1.6-r1
dev-lang/python:     2.5.2-r7
dev-util/cmake:      2.4.6-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS=&quot;x86&quot;
CBUILD=&quot;i686-pc-linux-gnu&quot;
CFLAGS=&quot;-march=athlon-xp -mtune=athlon-xp -O2 -pipe -fomit-frame-pointer -finline-functions&quot;
CHOST=&quot;i686-pc-linux-gnu&quot;
CONFIG_PROTECT=&quot;/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config&quot;
CONFIG_PROTECT_MASK=&quot;/etc/X11/gdm /etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gnome /etc/gnome-vfs-2.0 /etc/init.d /etc/pango /etc/revdep-rebuild /etc/ssl /etc/terminfo /etc/udev/rules.d&quot;
CXXFLAGS=&quot;-march=athlon-xp -mtune=athlon-xp -O2 -pipe -fomit-frame-pointer -finline-functions&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
EMERGE_DEFAULT_OPTS=&quot;--alphabetical&quot;
FEATURES=&quot;collision-protect distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox&quot;
GENTOO_MIRRORS=&quot;ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo&quot;
LDFLAGS=&quot;-Wl,--as-needed&quot;
LINGUAS=&quot;de&quot;
MAKEOPTS=&quot;-j1 -s&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_RSYNC_OPTS=&quot;--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
PORTDIR_OVERLAY=&quot;/usr/local/layman/poly-c&quot;
SYNC=&quot;rsync://192.168.0.254/gentoo-portage&quot;
USE=&quot;3dnow 3dnowext X a52 aac acpi alsa asf avi berkdb bluetooth branding bzip2 cairo cdr cli cracklib crypt dvd dvdr dvdread emboss encode evo fam ffmpeg flac gdbm gif gnutls gtk gtk2 iconv imagemagick imlib isdnlog jpeg kde kdehiddenvisibility lame libwww mad midi mikmod mmx mp3 mpeg mudflap ncurses nls nptl nptlonly nsplugin ogg oggvorbis opengl openmp pam pcre pdf png ppds pppd qt3 qt3support quicktime readline reflection sdl session slang spell spl sse ssl startup-notification svg sysfs theora tiff truetype usb vcd vorbis win32codecs x264 x86 xml xml2 xorg xulrunner xv xvid zlib&quot; ALSA_CARDS=&quot;emu10k1 via82xx usb-audio&quot; ALSA_PCM_PLUGINS=&quot;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&quot; ELIBC=&quot;glibc&quot; INPUT_DEVICES=&quot;keyboard mouse&quot; KERNEL=&quot;linux&quot; LINGUAS=&quot;de&quot; USERLAND=&quot;GNU&quot; VIDEO_CARDS=&quot;nv nvidia&quot;
Unset:  CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>xenoterracide@gmail.com</who>
            <bug_when>2008-12-22 22:10:06 0000</bug_when>
            <thetext>not sure I agree with the title change as it&apos;s more than just keyword changes... I had portage convinced it wanted to emerge something I&apos;d deleted.

can I suggest this block the stabilization of 2.1.6 (if that&apos;s still possible). It seems thus far it may only affect overlays. I&apos;ve not been able to reproduce with in tree packages, yet I don&apos;t want to hold my breath that it couldn&apos;t have affects there.

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>zmedico@gentoo.org</who>
            <bug_when>2008-12-22 22:17:59 0000</bug_when>
            <thetext>(In reply to comment #6)
&gt; not sure I agree with the title change as it&apos;s more than just keyword
&gt; changes... I had portage convinced it wanted to emerge something I&apos;d deleted.

It should never try to install a package that does not exist. However, if the package happens to be installed already, it will use it to satisfy dependencies. Is that what you mean? If so, I think the new title is more accurate.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>xenoterracide@gmail.com</who>
            <bug_when>2008-12-22 22:31:35 0000</bug_when>
            <thetext>I had deleted the ebuild and ran emerge -av packagename it was still trying to install the deleted ebuild. had to run emerge -avu packagename to get it to attempt to downgrade. So far I&apos;ve only been able to see these odd behaviors in overlays.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>zmedico@gentoo.org</who>
            <bug_when>2008-12-22 22:45:37 0000</bug_when>
            <thetext>(In reply to comment #8)
&gt; I had deleted the ebuild and ran emerge -av packagename it was still trying to
&gt; install the deleted ebuild.

This doesn&apos;t seem possible so I will assume that you still had a copy of the ebuild somewhere. If you are able to reproduce that case then please attach emerge --pretend --debug output for the command which would install the supposedly non-existent ebuild.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>xenoterracide@gmail.com</who>
            <bug_when>2008-12-22 23:10:30 0000</bug_when>
            <thetext>doing some extra testing... doesn&apos;t seem to exist in 2.1.4. seems to partially exist in 2.2... this is possibly multiple bugs. actually 2.2 emerge -av missing package will attempt to downgrade while emerge -avu missing package does nothing. emerge -avuDN (bdeps or no) still fails. going back to get info on the missing package merge.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>xenoterracide@gmail.com</who>
            <bug_when>2008-12-22 23:21:46 0000</bug_when>
            <thetext>hmm... can&apos;t reproduce emerge -av ghc trying to remerge a non-existent ebuild. I can show emerge -avu ghc not attempting to downgrade though.

Calculating dependencies
      Arg: ghc
     Atom: dev-lang/ghc
   ebuild: dev-lang/ghc-6.8.2
installed: dev-lang/ghc-6.10.1
      Arg: ghc
     Atom: dev-lang/ghc:0
installed: dev-lang/ghc-6.10.1

digraph:

ghc depends on
  (&apos;installed&apos;, &apos;/&apos;, &apos;dev-lang/ghc-6.10.1&apos;, &apos;nomerge&apos;) (soft)
ghc depends on
  (&apos;installed&apos;, &apos;/&apos;, &apos;dev-lang/ghc-6.10.1&apos;, &apos;nomerge&apos;) (soft)
(&apos;installed&apos;, &apos;/&apos;, &apos;dev-lang/ghc-6.10.1&apos;, &apos;nomerge&apos;) (no children)

... done!</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>zmedico@gentoo.org</who>
            <bug_when>2008-12-23 08:25:00 0000</bug_when>
            <thetext>Created an attachment (id=176202)
reject installed or binary packages if ebuild has been masked or removed

If this patch is saved as /tmp/masked_or_removed.patch then it can be applied as follows:

 patch /usr/lib/portage/pym/_emerge/__init__.py /tmp/masked_or_removed.patch</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>polynomial-c@gentoo.org</who>
            <bug_when>2008-12-23 14:05:33 0000</bug_when>
            <thetext>Applied the patch to portage-2.1.6.2, repeated the tests described in comment #5 and now I get the expected results (downgrade of the package).

What I did not was doing the same tests with portage-2.2_rc18 as the only machine I&apos;m using portage-2.2* is ~arch anyway.

Thanks for the quick fix, Zac.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>polynomial-c@gentoo.org</who>
            <bug_when>2008-12-23 18:44:57 0000</bug_when>
            <thetext>Now I finally could reproduce Caleb&apos;s specific problem as well. portage-2.2 is affected as well. It doesn&apos;t really matter what keywords were used. Zacs patch fixes this problem as well.

Short description:
* copy x11-wm/icewm-1.3.5 into some local overlay and rename it to icewm-1.3.6
* Install this package so that it gets written into world file.
* remove the ebuild from your overlay and run &quot;emerge -uDav world&quot; which fails to downgrade to icewm-1.3.5

I did this with portage-2.2_rc18 on my ~amd64 machine, so the patch is currently needed for both branches.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>zmedico@gentoo.org</who>
            <bug_when>2008-12-25 07:23:10 0000</bug_when>
            <thetext>Thanks for testing. This is released in 2.1.6.3 and 2.2_rc19.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>176142</attachid>
            <date>2008-12-22 12:12 0000</date>
            <desc>emerge --info</desc>
            <filename>emerge.info</filename>
            <type>text/plain</type>
            <data encoding="base64">UG9ydGFnZSAyLjEuNi4yIChkZWZhdWx0L2xpbnV4L2FtZDY0LzIwMDguMCwgZ2NjLTQuMS4yLCBn
bGliYy0yLjYuMS1yMCwgMi42LjI4LXJjOSB4ODZfNjQpCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClN5c3RlbSB1bmFtZTog
TGludXgtMi42LjI4LXJjOS14ODZfNjQtSW50ZWwtUi1fQ29yZS1UTS0yX1F1YWRfQ1BVX1E2NjAw
X0BfMi40MEdIei13aXRoLWdsaWJjMi4yLjUKVGltZXN0YW1wIG9mIHRyZWU6IFN1biwgMjEgRGVj
IDIwMDggMDU6MDA6MDEgKzAwMDAKY2NhY2hlIHZlcnNpb24gMi40IFtlbmFibGVkXQphcHAtc2hl
bGxzL2Jhc2g6ICAgICAzLjJfcDMzCmRldi1qYXZhL2phdmEtY29uZmlnOiAxLjMuNy1yMSwgMi4x
LjYtcjEKZGV2LWxhbmcvcHl0aG9uOiAgICAgMi41LjItcjcKZGV2LXV0aWwvY2NhY2hlOiAgICAg
Mi40LXI3CmRldi11dGlsL2NtYWtlOiAgICAgIDIuNi4yCnN5cy1hcHBzL2Jhc2VsYXlvdXQ6IDEu
MTIuMTEuMQpzeXMtYXBwcy9zYW5kYm94OiAgICAxLjIuMTguMS1yMgpzeXMtZGV2ZWwvYXV0b2Nv
bmY6ICAyLjEzLCAyLjYxLXIyCnN5cy1kZXZlbC9hdXRvbWFrZTogIDEuNSwgMS43LjktcjEsIDEu
OC41LXIzLCAxLjkuNi1yMiwgMS4xMC4xLXIxCnN5cy1kZXZlbC9iaW51dGlsczogIDIuMTgtcjMK
c3lzLWRldmVsL2djYy1jb25maWc6IDEuNC4wLXI0CnN5cy1kZXZlbC9saWJ0b29sOiAgIDEuNS4y
Ngp2aXJ0dWFsL29zLWhlYWRlcnM6ICAyLjYuMjMtcjMKQUNDRVBUX0tFWVdPUkRTPSJhbWQ2NCIK
Q0JVSUxEPSJ4ODZfNjQtcGMtbGludXgtZ251IgpDRkxBR1M9Ii1tYXJjaD1ub2NvbmEgLU8yIC1w
aXBlIgpDSE9TVD0ieDg2XzY0LXBjLWxpbnV4LWdudSIKQ09ORklHX1BST1RFQ1Q9Ii9ldGMgL3Vz
ci9rZGUvMy41L2VudiAvdXNyL2tkZS8zLjUvc2hhcmUvY29uZmlnIC91c3Iva2RlLzMuNS9zaHV0
ZG93biAvdXNyL2tkZS80LjEvZW52IC91c3Iva2RlLzQuMS9zaGFyZS9jb25maWcgL3Vzci9rZGUv
NC4xL3NodXRkb3duIC91c3Ivc2hhcmUvY29uZmlnIC92YXIvYmluZCAvdmFyL2xpYi9oc3FsZGIi
CkNPTkZJR19QUk9URUNUX01BU0s9Ii9ldGMvY2EtY2VydGlmaWNhdGVzLmNvbmYgL2V0Yy9lbnYu
ZCAvZXRjL2Vudi5kL2phdmEvIC9ldGMvZXNlbGVjdC9wb3N0Z3Jlc3FsIC9ldGMvZm9udHMvZm9u
dHMuY29uZiAvZXRjL2djb25mIC9ldGMvcmV2ZGVwLXJlYnVpbGQgL2V0Yy90ZXJtaW5mbyAvZXRj
L3VkZXYvcnVsZXMuZCIKQ1hYRkxBR1M9Ii1PMiAtcGlwZSIKRElTVERJUj0iL3Zhci9kaXN0Zmls
ZXMvIgpGRUFUVVJFUz0iY2NhY2hlIGRpc3Rsb2NrcyBmaXhwYWNrYWdlcyBwYXJhbGxlbC1mZXRj
aCBwcm90ZWN0LW93bmVkIHNhbmRib3ggc2ZwZXJtcyBzdHJpY3QgdW5tZXJnZS1vcnBoYW5zIHVz
ZXJmZXRjaCIKR0VOVE9PX01JUlJPUlM9Imh0dHA6Ly9kaXN0ZmlsZXMuZ2VudG9vLm9yZyBodHRw
Oi8vZGlzdHJvLmliaWJsaW8ub3JnL3B1Yi9saW51eC9kaXN0cmlidXRpb25zL2dlbnRvbyIKTEFO
Rz0iZW5fVVMuaXNvODg1OTEiCkxERkxBR1M9Ii1XbCwtTzEiCkxJTkdVQVM9ImVuX1VTIGVuIgpN
QUtFT1BUUz0iLWoyIgpQS0dESVI9Ii92YXIvcGFja2FnZXMvIgpQT1JUQUdFX1JTWU5DX09QVFM9
Ii0tcmVjdXJzaXZlIC0tbGlua3MgLS1zYWZlLWxpbmtzIC0tcGVybXMgLS10aW1lcyAtLWNvbXBy
ZXNzIC0tZm9yY2UgLS13aG9sZS1maWxlIC0tZGVsZXRlIC0tc3RhdHMgLS10aW1lb3V0PTE4MCAt
LWV4Y2x1ZGU9L2Rpc3RmaWxlcyAtLWV4Y2x1ZGU9L2xvY2FsIC0tZXhjbHVkZT0vcGFja2FnZXMi
ClBPUlRBR0VfVE1QRElSPSIvdmFyL3RtcCIKUE9SVERJUj0iL3Zhci9wb3J0YWdlLyIKUE9SVERJ
Ul9PVkVSTEFZPSIvdXNyL2xvY2FsL3BvcnRhZ2UiClNZTkM9InJzeW5jOi8vcnN5bmMuZ2VudG9v
Lm9yZy9nZW50b28tcG9ydGFnZSIKVVNFPSJhYWMgYWNsIGFsc2EgYW1kNjQgYnppcDIgY2xpIGNy
YWNrbGliIGNyeXB0IGNzcyBjdXBzIGRidXMgZHJpIGR2ZHIgZHZkcmVhZCBlbmNvZGUgZmZtcGVn
IGZsYWMgZm9ydHJhbiBnZGJtIGdpZiBncG0gaGFsIGljb252IGlzZG5sb2cgamF2YTYganBlZyBq
cGVnMmsga2RlcHJlZml4IG1hZCBtaWRpIG1teCBtcDMgbXA0IG1wZWcgbXVkZmxhcCBtdWx0aWxp
YiBuY3Vyc2VzIG5scyBucHRsIG5wdGxvbmx5IG5zcGx1Z2luIG9nZyBvcGVuZ2wgb3Blbm1wIHBh
bSBwY3JlIHBlcmwgcG5nIHBwcGQgcHl0aG9uIHF1aWNrdGltZSByZWFkbGluZSByZWZsZWN0aW9u
IHNlc3Npb24gc3BsIHNxbGl0ZSBzc2Ugc3NlMiBzc2wgc3NzZTMgc3ltbGluayBzeXNmcyB0Y3Bk
IHRoZW9yYSB0aWZmIHVuaWNvZGUgdmltLXN5bnRheCB2b3JiaXMgeDI2NCB4Y29tcG9zaXRlIHhv
cmcgeHZpZCB6bGliIiBBTFNBX1BDTV9QTFVHSU5TPSJhZHBjbSBhbGF3IGFzeW0gY29weSBkbWl4
IGRzaGFyZSBkc25vb3AgZW1wdHkgZXh0cGx1ZyBmaWxlIGhvb2tzIGllYzk1OCBpb3BsdWcgbGFk
c3BhIGxmbG9hdCBsaW5lYXIgbWV0ZXIgbW1hcF9lbXVsIG11bGF3IG11bHRpIG51bGwgcGx1ZyBy
YXRlIHJvdXRlIHNoYXJlIHNobSBzb2Z0dm9sIiBBUEFDSEUyX01PRFVMRVM9ImFjdGlvbnMgYWxp
YXMgYXV0aF9iYXNpYyBhdXRobl9hbGlhcyBhdXRobl9hbm9uIGF1dGhuX2RibSBhdXRobl9kZWZh
dWx0IGF1dGhuX2ZpbGUgYXV0aHpfZGJtIGF1dGh6X2RlZmF1bHQgYXV0aHpfZ3JvdXBmaWxlIGF1
dGh6X2hvc3QgYXV0aHpfb3duZXIgYXV0aHpfdXNlciBhdXRvaW5kZXggY2FjaGUgZGF2IGRhdl9m
cyBkYXZfbG9jayBkZWZsYXRlIGRpciBkaXNrX2NhY2hlIGVudiBleHBpcmVzIGV4dF9maWx0ZXIg
ZmlsZV9jYWNoZSBmaWx0ZXIgaGVhZGVycyBpbmNsdWRlIGluZm8gbG9nX2NvbmZpZyBsb2dpbyBt
ZW1fY2FjaGUgbWltZSBtaW1lX21hZ2ljIG5lZ290aWF0aW9uIHJld3JpdGUgc2V0ZW52aWYgc3Bl
bGluZyBzdGF0dXMgdW5pcXVlX2lkIHVzZXJkaXIgdXNlcnRyYWNrIHZob3N0X2FsaWFzIiBBUEFD
SEUyX01QTVM9InByZWZvcmsiIEVMSUJDPSJnbGliYyIgSU5QVVRfREVWSUNFUz0ibW91c2Uga2V5
Ym9hcmQgZXZkZXYiIEtFUk5FTD0ibGludXgiIExDRF9ERVZJQ0VTPSJiYXlyYWQgY2ZvbnR6IGNm
b250ejYzMyBnbGsgaGQ0NDc4MCBsYjIxNiBsY2RtMDAxIG10eG9yYiBuY3Vyc2VzIHRleHQiIExJ
TkdVQVM9ImVuX1VTIGVuIiBVU0VSTEFORD0iR05VIiBWSURFT19DQVJEUz0iaW50ZWwiClVuc2V0
OiAgQ1BQRkxBR1MsIENUQVJHRVQsIEVNRVJHRV9ERUZBVUxUX09QVFMsIEZGTEFHUywgSU5TVEFM
TF9NQVNLLCBMQ19BTEwsIFBPUlRBR0VfQ09NUFJFU1MsIFBPUlRBR0VfQ09NUFJFU1NfRkxBR1Ms
IFBPUlRBR0VfUlNZTkNfRVhUUkFfT1BUUwoK
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176202</attachid>
            <date>2008-12-23 08:25 0000</date>
            <desc>reject installed or binary packages if ebuild has been masked or removed</desc>
            <filename>masked_or_removed.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">SW5kZXg6IHB5bS9fZW1lcmdlL19faW5pdF9fLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHB5bS9fZW1lcmdl
L19faW5pdF9fLnB5CShyZXZpc2lvbiAxMjI3NykKKysrIHB5bS9fZW1lcmdlL19faW5pdF9fLnB5
CShyZXZpc2lvbiAxMjI3OSkKQEAgLTQzMDcsNyArNDMwNyw3IEBACiAJCSMgdG8gdGhlIGdyYXBo
LgogCQlzZWxmLl9ncmFwaF90cmVlcyA9IHt9CiAJCSMgQWxsIFBhY2thZ2UgaW5zdGFuY2VzCi0J
CXNlbGYuX3BrZ19jYWNoZSA9IHNlbGYuX3BhY2thZ2VfY2FjaGUoc2VsZikKKwkJc2VsZi5fcGtn
X2NhY2hlID0ge30KIAkJZm9yIG15cm9vdCBpbiB0cmVlczoKIAkJCXNlbGYudHJlZXNbbXlyb290
XSA9IHt9CiAJCQkjIENyZWF0ZSBhIFJvb3RDb25maWcgaW5zdGFuY2UgdGhhdCByZWZlcmVuY2Vz
CkBAIC01NzA2LDYgKzU3MDYsMTIgQEAKIAkJCXJldHVybiByZXQKIAkJcmV0ID0gc2VsZi5fc2Vs
ZWN0X3BrZ19oaWdoZXN0X2F2YWlsYWJsZV9pbXAocm9vdCwgYXRvbSwgb25seWRlcHM9b25seWRl
cHMpCiAJCXNlbGYuX2hpZ2hlc3RfcGtnX2NhY2hlW2NhY2hlX2tleV0gPSByZXQKKwkJcGtnLCBl
eGlzdGluZyA9IHJldAorCQlpZiBwa2cgaXMgbm90IE5vbmU6CisJCQlzZXR0aW5ncyA9IHBrZy5y
b290X2NvbmZpZy5zZXR0aW5ncworCQkJaWYgdmlzaWJsZShzZXR0aW5ncywgcGtnKSBhbmQgbm90
IChwa2cuaW5zdGFsbGVkIGFuZCBcCisJCQkJc2V0dGluZ3MuX2dldE1pc3NpbmdLZXl3b3Jkcyhw
a2cuY3B2LCBwa2cubWV0YWRhdGEpKToKKwkJCQlwa2cucm9vdF9jb25maWcudmlzaWJsZV9wa2dz
LmNwdl9pbmplY3QocGtnKQogCQlyZXR1cm4gcmV0CiAKIAlkZWYgX3NlbGVjdF9wa2dfaGlnaGVz
dF9hdmFpbGFibGVfaW1wKHNlbGYsIHJvb3QsIGF0b20sIG9ubHlkZXBzPUZhbHNlKToKQEAgLTU4
MjksNyArNTgzNSw3IEBACiAJCQkJCQkJY2FsY3VsYXRlZF91c2UgPSBUcnVlCiAJCQkJCQlzZWxm
Ll9wa2dfY2FjaGVbcGtnXSA9IHBrZwogCi0JCQkJCWlmIG5vdCBpbnN0YWxsZWQgb3IgKGluc3Rh
bGxlZCBhbmQgbWF0Y2hlZF9wYWNrYWdlcyk6CisJCQkJCWlmIG5vdCBpbnN0YWxsZWQgb3IgKGJ1
aWx0IGFuZCBtYXRjaGVkX3BhY2thZ2VzKToKIAkJCQkJCSMgT25seSBlbmZvcmNlIHZpc2liaWxp
dHkgb24gaW5zdGFsbGVkIHBhY2thZ2VzCiAJCQkJCQkjIGlmIHRoZXJlIGlzIGF0IGxlYXN0IG9u
ZSBvdGhlciB2aXNpYmxlIHBhY2thZ2UKIAkJCQkJCSMgYXZhaWxhYmxlLiBCeSBmaWx0ZXJpbmcg
aW5zdGFsbGVkIG1hc2tlZCBwYWNrYWdlcwpAQCAtNTg0OCw5ICs1ODU0LDggQEAKIAkJCQkJCSMg
dmVyc2lvbiBpcyBtYXNrZWQgYnkgS0VZV09SRFMsIGJ1dCBuZXZlcgogCQkJCQkJIyByZWluc3Rh
bGwgdGhlIHNhbWUgZXhhY3QgdmVyc2lvbiBvbmx5IGR1ZQogCQkJCQkJIyB0byBhIEtFWVdPUkRT
IG1hc2suCi0JCQkJCQlpZiBpbnN0YWxsZWQgYW5kIG1hdGNoZWRfcGFja2FnZXMgYW5kIFwKLQkJ
CQkJCQlwa2dzZXR0aW5ncy5fZ2V0TWlzc2luZ0tleXdvcmRzKAotCQkJCQkJCXBrZy5jcHYsIHBr
Zy5tZXRhZGF0YSk6CisJCQkJCQlpZiBidWlsdCBhbmQgbWF0Y2hlZF9wYWNrYWdlczoKKwogCQkJ
CQkJCWRpZmZlcmVudF92ZXJzaW9uID0gTm9uZQogCQkJCQkJCWZvciBhdmFpbF9wa2cgaW4gbWF0
Y2hlZF9wYWNrYWdlczoKIAkJCQkJCQkJaWYgbm90IHBvcnRhZ2UuZGVwLmNwdmVxdWFsKApAQCAt
NTg1OCwxMCArNTg2MywyNyBAQAogCQkJCQkJCQkJZGlmZmVyZW50X3ZlcnNpb24gPSBhdmFpbF9w
a2cKIAkJCQkJCQkJCWJyZWFrCiAJCQkJCQkJaWYgZGlmZmVyZW50X3ZlcnNpb24gaXMgbm90IE5v
bmU6Ci0JCQkJCQkJCSMgT25seSByZWluc3RhbGwgZm9yIEtFWVdPUkRTIGlmCi0JCQkJCQkJCSMg
aXQncyBub3QgdGhlIHNhbWUgdmVyc2lvbi4KLQkJCQkJCQkJY29udGludWUKIAorCQkJCQkJCQlp
ZiBpbnN0YWxsZWQgYW5kIFwKKwkJCQkJCQkJCXBrZ3NldHRpbmdzLl9nZXRNaXNzaW5nS2V5d29y
ZHMoCisJCQkJCQkJCQlwa2cuY3B2LCBwa2cubWV0YWRhdGEpOgorCQkJCQkJCQkJY29udGludWUK
KworCQkJCQkJCQkjIElmIHRoZSBlYnVpbGQgbm8gbG9uZ2VyIGV4aXN0cyBvciBpdCdzCisJCQkJ
CQkJCSMga2V5d29yZHMgaGF2ZSBiZWVuIGRyb3BwZWQsIHJlamVjdCBidWlsdAorCQkJCQkJCQkj
IGluc3RhbmNlcyAoaW5zdGFsbGVkIG9yIGJpbmFyeSkuCisJCQkJCQkJCSMgSWYgLS11c2Vwa2dv
bmx5IGlzIGVuYWJsZWQsIGFzc3VtZSB0aGF0CisJCQkJCQkJCSMgdGhlIGVidWlsZCBzdGF0dXMg
c2hvdWxkIGJlIGlnbm9yZWQuCisJCQkJCQkJCWlmIG5vdCB1c2Vwa2dvbmx5OgorCQkJCQkJCQkJ
dHJ5OgorCQkJCQkJCQkJCXBrZ19lYiA9IHNlbGYuX3BrZygKKwkJCQkJCQkJCQkJcGtnLmNwdiwg
ImVidWlsZCIsIHJvb3RfY29uZmlnKQorCQkJCQkJCQkJZXhjZXB0IHBvcnRhZ2UuZXhjZXB0aW9u
LlBhY2thZ2VOb3RGb3VuZDoKKwkJCQkJCQkJCQljb250aW51ZQorCQkJCQkJCQkJZWxzZToKKwkJ
CQkJCQkJCQlpZiBub3QgdmlzaWJsZShwa2dzZXR0aW5ncywgcGtnX2ViKToKKwkJCQkJCQkJCQkJ
Y29udGludWUKKwogCQkJCQlpZiBub3QgcGtnLmJ1aWx0IGFuZCBub3QgY2FsY3VsYXRlZF91c2U6
CiAJCQkJCQkjIFRoaXMgaXMgYXZvaWRlZCB3aGVuZXZlciBwb3NzaWJsZSBiZWNhdXNlCiAJCQkJ
CQkjIGl0J3MgZXhwZW5zaXZlLgpAQCAtNTk5NywyMiArNjAxOSw2IEBACiAJCQkJCWlmIHBrZy5j
cCA9PSBjcF0KIAkJCQlicmVhawogCi0JCSMgSWYgdGhlIGluc3RhbGxlZCB2ZXJzaW9uIGlzIGlu
IGEgZGlmZmVyZW50IHNsb3QgYW5kIGl0IGlzIGhpZ2hlciB0aGFuCi0JCSMgdGhlIGhpZ2hlc3Qg
YXZhaWxhYmxlIHZpc2libGUgcGFja2FnZSwgX2l0ZXJfYXRvbXNfZm9yX3BrZygpIG1heSBmYWls
Ci0JCSMgdG8gcHJvcGVybHkgbWF0Y2ggdGhlIGF2YWlsYWJsZSBwYWNrYWdlIHdpdGggYSBjb3Jy
ZXNwb25kaW5nIGFyZ3VtZW50Ci0JCSMgYXRvbS4gRGV0ZWN0IHRoaXMgY2FzZSBhbmQgY29ycmVj
dCBpdCBoZXJlLgotCQlpZiBub3Qgc2VsZWN0aXZlIGFuZCBsZW4obWF0Y2hlZF9wYWNrYWdlcykg
PiAxIGFuZCBcCi0JCQltYXRjaGVkX3BhY2thZ2VzWy0xXS5pbnN0YWxsZWQgYW5kIFwKLQkJCW1h
dGNoZWRfcGFja2FnZXNbLTFdLnNsb3RfYXRvbSAhPSBcCi0JCQltYXRjaGVkX3BhY2thZ2VzWy0y
XS5zbG90X2F0b20gYW5kIFwKLQkJCW1hdGNoZWRfcGFja2FnZXNbLTFdID4gbWF0Y2hlZF9wYWNr
YWdlc1stMl06Ci0JCQlwa2cgPSBtYXRjaGVkX3BhY2thZ2VzWy0yXQotCQkJaWYgcGtnLnJvb3Qg
PT0gc2VsZi50YXJnZXRfcm9vdCBhbmQgXAotCQkJCXNlbGYuX3NldF9hdG9tcy5maW5kQXRvbUZv
clBhY2thZ2UocGtnKToKLQkJCQkjIFNlbGVjdCB0aGUgYXZhaWxhYmxlIHBhY2thZ2UgaW5zdGVh
ZAotCQkJCSMgb2YgdGhlIGluc3RhbGxlZCBwYWNrYWdlLgotCQkJCW1hdGNoZWRfcGFja2FnZXMu
cG9wKCkKLQogCQlpZiBsZW4obWF0Y2hlZF9wYWNrYWdlcykgPiAxOgogCQkJYmVzdG1hdGNoID0g
cG9ydGFnZS5iZXN0KAogCQkJCVtwa2cuY3B2IGZvciBwa2cgaW4gbWF0Y2hlZF9wYWNrYWdlc10p
CkBAIC02MTQ5LDcgKzYxNTUsMTAgQEAKIAkJCWRiID0gcm9vdF9jb25maWcudHJlZXNbdHJlZV90
eXBlXS5kYmFwaQogCQkJZGJfa2V5cyA9IGxpc3Qoc2VsZi5fdHJlZXNfb3JpZ1tyb290X2NvbmZp
Zy5yb290XVsKIAkJCQl0cmVlX3R5cGVdLmRiYXBpLl9hdXhfY2FjaGVfa2V5cykKLQkJCW1ldGFk
YXRhID0gaXppcChkYl9rZXlzLCBkYi5hdXhfZ2V0KGNwdiwgZGJfa2V5cykpCisJCQl0cnk6CisJ
CQkJbWV0YWRhdGEgPSBpemlwKGRiX2tleXMsIGRiLmF1eF9nZXQoY3B2LCBkYl9rZXlzKSkKKwkJ
CWV4Y2VwdCBLZXlFcnJvcjoKKwkJCQlyYWlzZSBwb3J0YWdlLmV4Y2VwdGlvbi5QYWNrYWdlTm90
Rm91bmQoY3B2KQogCQkJcGtnID0gUGFja2FnZShjcHY9Y3B2LCBtZXRhZGF0YT1tZXRhZGF0YSwK
IAkJCQlyb290X2NvbmZpZz1yb290X2NvbmZpZywgaW5zdGFsbGVkPWluc3RhbGxlZCkKIAkJCWlm
IHR5cGVfbmFtZSA9PSAiZWJ1aWxkIjoKQEAgLTg0NTMsMjIgKzg0NjIsNiBAQAogCQkJbWV0YWRh
dGEgPSBzZWxmLl9jcHZfcGtnX21hcFtjcHZdLm1ldGFkYXRhCiAJCQlyZXR1cm4gW21ldGFkYXRh
LmdldCh4LCAiIikgZm9yIHggaW4gd2FudHNdCiAKLQljbGFzcyBfcGFja2FnZV9jYWNoZShkaWN0
KToKLQkJZGVmIF9faW5pdF9fKHNlbGYsIGRlcGdyYXBoKToKLQkJCWRpY3QuX19pbml0X18oc2Vs
ZikKLQkJCXNlbGYuX2RlcGdyYXBoID0gZGVwZ3JhcGgKLQotCQlkZWYgX19zZXRpdGVtX18oc2Vs
Ziwgaywgdik6Ci0JCQlkaWN0Ll9fc2V0aXRlbV9fKHNlbGYsIGssIHYpCi0JCQlyb290X2NvbmZp
ZyA9IHNlbGYuX2RlcGdyYXBoLnJvb3RzW3Yucm9vdF0KLQkJCXRyeToKLQkJCQlpZiB2aXNpYmxl
KHJvb3RfY29uZmlnLnNldHRpbmdzLCB2KSBhbmQgXAotCQkJCQlub3QgKHYuaW5zdGFsbGVkIGFu
ZCBcCi0JCQkJCXYucm9vdF9jb25maWcuc2V0dGluZ3MuX2dldE1pc3NpbmdLZXl3b3Jkcyh2LmNw
diwgdi5tZXRhZGF0YSkpOgotCQkJCQlyb290X2NvbmZpZy52aXNpYmxlX3BrZ3MuY3B2X2luamVj
dCh2KQotCQkJZXhjZXB0IHBvcnRhZ2UuZXhjZXB0aW9uLkludmFsaWREZXBlbmRTdHJpbmc6Ci0J
CQkJcGFzcwotCiBjbGFzcyBSZXBvRGlzcGxheShvYmplY3QpOgogCWRlZiBfX2luaXRfXyhzZWxm
LCByb290cyk6CiAJCXNlbGYuX3Nob3duX3JlcG9zID0ge30K
</data>        

          </attachment>
    </bug>

</bugzilla>