Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 85637 - emerge -uaD world does not respect '=' in package.keyword
Summary: emerge -uaD world does not respect '=' in package.keyword
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-03-17 06:50 UTC by Toralf Förster
Modified: 2005-04-06 22:25 UTC (History)
0 users

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 Toralf Förster gentoo-dev 2005-03-17 06:50:56 UTC
nhh221 ~ # emerge --update --ask --deep world

These are the packages that I would merge, in order:

Calculating world dependencies ...done!
[ebuild     U ] app-text/docbook-xsl-stylesheets-1.66.1 [1.65.1]

Do you want me to merge these packages? [Yes/No] No

Quitting.

nhh221 ~ # grep xsl /etc/portage/package.keywords
=app-text/docbook-xsl-stylesheets-1.65.1


Reproducible: Always
Steps to Reproduce:
1.
2.
3.




Portage 2.0.51.19 (default-linux/x86/2004.3, gcc-3.3.5, glibc-2.3.4.20041102-r1,
2.6.11.2 i686)
=================================================================
System uname: 2.6.11.2 i686 Intel(R) Pentium(R) M processor 1.70GHz
Gentoo Base System version 1.4.16
Python:              dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb  7 2005, 10:05:27)]
dev-lang/python:     2.3.4-r1
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4
sys-devel/binutils:  2.15.92.0.2-r1
sys-devel/libtool:   1.5.10-r4
virtual/os-headers:  2.6.8.1-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=pentium3 -pipe"
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/share/config
/usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config
/usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/
/usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=pentium3 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/
ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/
ftp://mirror.nutsmaas.nl/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 X acpi alsa apache2 apm arts avi berkdb bitmap-fonts cddb cdparanoia
cdr crypt cups curl dvd dvdr dvdread emboss encode esd ethereal fam flac
font-server foomaticdb fortran gdbm gif gnome gpm gstreamer gtk gtk2 i8x0
imagemagick imlib innodb ipv6 java joystick jpeg junit kde ldap libg++ libwww
live mad mbox mikmod mmx mmx2 mng motif mozilla mp3 mpeg mysql nagios-dns
nagios-ntp nagios-ping nagios-s ncurses network nls oggvorbis opengl oss pam
pcmcia pdflib perl png python qt quicktime readline rtc samba scanner sdl slang
snmp spell sse sse2 ssl svga tcltk tcpd tetex tiff truetype truetype-fonts
type1-fonts usb xfs xml2 xmms xv zlib linguas_de"
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
Comment 1 SpanKY gentoo-dev 2005-03-17 06:57:35 UTC
your syntax is wrong

read `man 5 portage` for the correct package.keywords syntax
Comment 2 rob miller 2005-03-31 05:43:53 UTC
What is the correct syntax?

http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3&chap=3 gives exactly the syntax used here, which I also confirm is not working.  Furthermore, the man page referenced does not appear to say anything about using (forcing) a specific package version under package.keywords.  The best solution from the manpage would appear to be using '>' in /etc/portage/package.mask to block all later versions.
Comment 3 SpanKY gentoo-dev 2005-03-31 12:52:28 UTC
handbook is fixed now, ive deleted the wrong example
Comment 4 rob miller 2005-04-05 07:21:06 UTC
I still see 

Code Listing 3: Using a particular gnumeric version
=app-office/gnumeric-1.2.13 
Comment 5 SpanKY gentoo-dev 2005-04-05 16:40:40 UTC
guess the handbook had 2 wrong examples

ive fixed that one too
Comment 6 Jason Stubbs (RETIRED) gentoo-dev 2005-04-05 18:45:59 UTC
=app-text/docbook-xsl-stylesheets-1.65.1

This syntax looks fine to me. Let me know if there is something that means it's not a normal atom. Otherwise this is in fact a bug.
Comment 7 SpanKY gentoo-dev 2005-04-05 18:56:25 UTC
no, the bug is that '=app-text/docbook-xsl-stylesheets-1.65.1' in package.keywords is meaningless
Comment 8 Jason Stubbs (RETIRED) gentoo-dev 2005-04-05 19:02:23 UTC
It shouldn't be. I'll fix it on the weekend.

(This is fun. ;)
Comment 9 SpanKY gentoo-dev 2005-04-05 20:33:14 UTC
and what meaning should it have ?
Comment 10 Toralf Förster gentoo-dev 2005-04-06 02:44:56 UTC
My intention was to prevent an update of the package because http://bugs.gentoo.org/show_bug.cgi?id=87562
That's why I did now:

nhh221 /etc/portage # cat package.mask
#       package.mask

=app-text/docbook-xsl-stylesheets-1.66.1

which works for me.
The hint with wrong syntax was not clearly for me, because IMHO it was not the wrong syntax but the wrong place.
Comment 11 rob miller 2005-04-06 06:45:22 UTC
but the above masks a specific version, so once a newer version enters portage, the package will be upgraded.

Goal: to get a specific version of a package.
Changed documentation in the handbook:
put

=app-office/gnumeric-1.2.13 ~x86

into /etc/portage/package.keywords (change is we now add a keyword after the package spec).  cut-and-paste this, try it out:

vista portage # emerge -p gnumeric

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild  N    ] app-office/gnumeric-1.4.1
vista portage #

wrong answer, should be 1.2.13.

my particular example is wine, I want to stay with wine-20041019.  The only way I can make this happen is with 

>app-emulation/wine-20041019-r3

in /etc/portage/package.mask.  probably if I were more neurotic I might add 

<app-emulation/wine-20041019-r3

to the file as well.



Comment 12 Toralf Förster gentoo-dev 2005-04-06 06:54:07 UTC
>but the above masks a specific version, so once a newer version enters portage, the package will be upgraded.
and I will hope that the new version is bug-free
Comment 13 rob miller 2005-04-06 07:10:37 UTC
just to carry on a bit....  I would think that:

=app-office/gnumeric-1.2.13 ~x86

in package.keywords means "If I emerge gnumeric-1.2.13, please use the ~x86 keyword."  When I then say "emerge -p gnumeric", portage says (apr. 2005) use gnumeric-1.4.1 -- therefore the keyword does not get used, and none of it says anything about specifically using gnumeric-1.2.13

Comment 14 Jason Stubbs (RETIRED) gentoo-dev 2005-04-06 07:11:48 UTC
Okay. I've read through this properly now.

So, I guess you have ACCEPT_KEYWORDS="x86" in make.conf and you've said you added =app-text/docbook-xsl-stylesheets-1.65.1 to package.keywords. Portage then sees the following:

docbook-xsl-stylesheets-1.62.4.ebuild:KEYWORDS="x86 ..."
ACCEPT_KEYWORDS="x86"       <-- x86 matches
docbook-xsl-stylesheets-1.65.1.ebuild:KEYWORDS="x86 ..."
ACCEPT_KEYWORDS="x86 ~x86"  <-- x86 matches
docbook-xsl-stylesheets-1.66.1.ebuild:KEYWORDS="x86 ..."
ACCEPT_KEYWORDS="x86"       <-- x86 matches
Available versions? 1.62.4 1.65.1 1.66.1
Best version? 1.66.1

The syntax works fine for package.keywords. Your usage of it is wrong.
Comment 15 rob miller 2005-04-06 07:29:08 UTC
agreed.  the problem seems to be with the documentation still at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3&chap=3 .  The first paragraph under 3.b .. "Test particular versions" talks about using ~x86 to get the test version of this package (which is the point of the document).  then it goes on to say:

------------
In the following example we ask Portage to accept gnumeric-1.2.13:

Code Listing 3: Using a particular gnumeric version

=app-office/gnumeric-1.2.13 ~x86
------------

I believe that this is where the confusion arises.
Comment 16 Jason Stubbs (RETIRED) gentoo-dev 2005-04-06 07:35:34 UTC
s/Using a particular gnumeric version/Enabling a particular gnumeric test verion/
Comment 17 SpanKY gentoo-dev 2005-04-06 18:41:30 UTC
updated handbook caption
Comment 18 Alin Dobre (RETIRED) gentoo-dev 2005-04-06 22:25:19 UTC
SpanKY, you have a typo in the last word of the caption: "Enabling a particular gnumeric test verion" => last word should be "version" (forgot the "s").