<?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>106287</bug_id>
          
          <creation_ts>2005-09-17 09:58 0000</creation_ts>
          <short_desc>Portage switches back and forth between grass-6.0.1 and 6.0.0-r2 on emerge -u world</short_desc>
          <delta_ts>2005-09-19 22:23:59 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>Ebuilds</component>
          <version>2005.1</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>CANTFIX</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>kzeiler@fastmail.fm</reporter>
          <assigned_to>nerdboy@gentoo.org</assigned_to>
          <cc>sci@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>kzeiler@fastmail.fm</who>
            <bug_when>2005-09-17 09:58:33 0000</bug_when>
            <thetext>I added the following line to /etc/portage/package.keywords:
&gt;=sci-geosciences/grass-6.0.1 ~x86
Then &quot;emerge -u world&quot; upgrades GRASS to 6.0.1.  Subsequent &quot;emerge -u world&quot;
reverts GRASS to 6.0.0-r2.  The versions switch back and forth on each &quot;emerge
-u world&quot; but &quot;emerge -pv grass&quot; always shows that it wants to emerge 6.0.1 (if
6.0.0-r2 currently installed) or replace 6.0.1 (if 6.0.1 is currently installed).

I had followed the exact same process with 6.0.0-r2 when it was marked ~x86
without this problem.


Reproducible: Always
Steps to Reproduce:
1. Add &quot;&gt;=sci-geosciences/grass-6.0.1 ~x86&quot; to /etc/packages.keywords
2. emerge -u world --&gt; grass-6.0.1 emerge&apos;d
3. emerge -u world --&gt; grass downgraded to 6.0.0-r2
4. goto 2

Actual Results:  
Portage switches back &amp; forth between grass-6.0.1 and grass-6.0.0-r2 when
&quot;emerge -u world&quot; requests are issued.

Expected Results:  
Emerge&apos;d grass-6.0.1 and left it in place on subsequent &quot;emerge -u world&quot; commands.

emerge --info
Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.3.6, glibc-2.3.5-r1, 2.6.1
2-gentoo-r10 i686)
=================================================================
System uname: 2.6.12-gentoo-r10 i686 AMD Athlon(tm) processor
Gentoo Base System version 1.6.13
dev-lang/python:     2.3.5-r2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.18-r1
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS=&quot;x86&quot;
AUTOCLEAN=&quot;yes&quot;
CBUILD=&quot;i686-pc-linux-gnu&quot;
CFLAGS=&quot;-O3 -march=athlon -pipe -fomit-frame-pointer&quot;
CHOST=&quot;i686-pc-linux-gnu&quot;
CONFIG_PROTECT=&quot;/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share
/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kd
e/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/q
mail/control&quot;
CONFIG_PROTECT_MASK=&quot;/etc/gconf /etc/terminfo /etc/env.d&quot;
CXXFLAGS=&quot;-O3 -march=athlon -pipe -fomit-frame-pointer&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
FEATURES=&quot;autoconfig distlocks sandbox sfperms strict&quot;
GENTOO_MIRRORS=&quot;http://distro.ibiblio.org/pub/linux/distributions/gentoo/ http:/
/gentoo.mirrors.easynews.com/linux/gentoo/ http://gentoo.chem.wisc.edu/gentoo/ h
ttp://ftp.caliu.info/pub/gentoo/&quot;
MAKEOPTS=&quot;-j2&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
SYNC=&quot;rsync://rsync.gentoo.org/gentoo-portage&quot;
USE=&quot;x86 3dnow 3dnowext X acpi alsa apm arts avi berkdb bitmap-fonts blas blueto
oth bzip2 cpudetection crypt cups curl dbase dio directfb dlloader eds emboss en
code escreen esd exif fbcon fftw fits font-server fontconfig foomaticdb fortran 
gcj gdal gdbm gif gmp gpm grass gstreamer gtk gtk2 hardened imlib ipv6 java jpeg
 lapack libg++ libwww lm_sensors mad mikmod mmx mmxext motif mozcalendar mozilla
 mozsvg mp3 mpeg mpi ncurses netcdf nls ntfs nvidia objc ogdi ogg oggvorbis open
gl oss pam pcre pdflib perl png postgres ppds python qt quicktime readline reise
rfs sdl sensord slang spell ssl svga symlink sysfs tcltk tcpd tiff truetype true
type-fonts type1-fonts unicode usb vorbis win32codecs xml2 xmms xprint xv zlib u
serland_GNU kernel_linux elibc_glibc&quot;
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nerdboy@gentoo.org</who>
            <bug_when>2005-09-17 15:03:06 0000</bug_when>
            <thetext>You should have the following in /etc/portage/package.keywords:

sci-geosciences/grass ~x86

You only want version specifiers in package.mask/unmask.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>kzeiler@fastmail.fm</who>
            <bug_when>2005-09-19 20:07:05 0000</bug_when>
            <thetext>My bad...I apologize for giving wrong info, though I *swore* I had checked this
when I first submitted the bug.  The behavior occurs when doing a deep update,
i.e., emerge -uD world, rather than just emerge -u world.  Behavior still occurs
after changing package.keywords as directed.  It appears to be related to GDAL
and USE flags.  I have &quot;grass&quot; set in my USE flags and removing it stops the
behavior of switching GRASS versions back &amp; forth when doing a deep update, but
wants to replace GDAL (w/o GRASS support of course) on doing emerge -uN world.

Current workaround w/o changing my USE flags is to do emerge -uD world &amp;&amp; emerge
grass to perform a deep update (which I usually do when I update).
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nerdboy@gentoo.org</who>
            <bug_when>2005-09-19 21:52:43 0000</bug_when>
            <thetext>Grass and gdal have a circular dependency issue with the current portage design; 
even without the two versions of Grass 6 you would still have to rebuild one of 
them.  There&apos;s not much you can do at this point other than your workaround.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>kzeiler@fastmail.fm</who>
            <bug_when>2005-09-19 22:23:59 0000</bug_when>
            <thetext>Agreed on the circular depend, though grass definitely depends on gdal whereas
grass is optional for gdal.

Perhaps change the DEPEND in gdal-1.2.6-r3.ebuild and/or gdal-1.3.0.ebuild from
        grass? ( ~sci-geosciences/grass-6.0.0 )
to
        grass? ( =sci-geosciences/grass-6.0* )
which should stop the downgrade from 6.0.1 on a deep update if 6.0.1 is
installed rather than 6.0.0-r2.  Users would then have to know to re-emerge gdal
once their choice of grass versions had been installed (or emerge gdal w/o grass
USE flag, add the grass USE flag &amp; re-emerge gdal which would then emerge GRASS
&amp; re-emerge gdal w/ grass support...true even before, correct?). Possible to
make a new release of gdal-1.3.0 to test such a change to the DEPEND?  Currently
can&apos;t re-emerge GDAL w/ GRASS support w/o reverting to grass-6.0.0-r2.</thetext>
          </long_desc>
      
    </bug>

</bugzilla>