Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 106287 - Portage switches back and forth between grass-6.0.1 and 6.0.0-r2 on emerge -u world
Summary: Portage switches back and forth between grass-6.0.1 and 6.0.0-r2 on emerge -u...
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Steve Arnold
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-17 09:58 UTC by Kurt Zeiler
Modified: 2005-09-19 22:23 UTC (History)
1 user (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 Kurt Zeiler 2005-09-17 09:58:33 UTC
I added the following line to /etc/portage/package.keywords:
>=sci-geosciences/grass-6.0.1 ~x86
Then "emerge -u world" upgrades GRASS to 6.0.1.  Subsequent "emerge -u world"
reverts GRASS to 6.0.0-r2.  The versions switch back and forth on each "emerge
-u world" but "emerge -pv grass" 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 ">=sci-geosciences/grass-6.0.1 ~x86" to /etc/packages.keywords
2. emerge -u world --> grass-6.0.1 emerge'd
3. emerge -u world --> grass downgraded to 6.0.0-r2
4. goto 2

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

Expected Results:  
Emerge'd grass-6.0.1 and left it in place on subsequent "emerge -u world" 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="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -march=athlon -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/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"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=athlon -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="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/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="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"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
Comment 1 Steve Arnold archtester gentoo-dev 2005-09-17 15:03:06 UTC
You should have the following in /etc/portage/package.keywords:

sci-geosciences/grass ~x86

You only want version specifiers in package.mask/unmask.
Comment 2 Kurt Zeiler 2005-09-19 20:07:05 UTC
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 "grass" set in my USE flags and removing it stops the
behavior of switching GRASS versions back & 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 && emerge
grass to perform a deep update (which I usually do when I update).
Comment 3 Steve Arnold archtester gentoo-dev 2005-09-19 21:52:43 UTC
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's not much you can do at this point other than your workaround.
Comment 4 Kurt Zeiler 2005-09-19 22:23:59 UTC
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 & re-emerge gdal which would then emerge GRASS
& 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't re-emerge GDAL w/ GRASS support w/o reverting to grass-6.0.0-r2.