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
your syntax is wrong read `man 5 portage` for the correct package.keywords syntax
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.
handbook is fixed now, ive deleted the wrong example
I still see Code Listing 3: Using a particular gnumeric version =app-office/gnumeric-1.2.13
guess the handbook had 2 wrong examples ive fixed that one too
=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.
no, the bug is that '=app-text/docbook-xsl-stylesheets-1.65.1' in package.keywords is meaningless
It shouldn't be. I'll fix it on the weekend. (This is fun. ;)
and what meaning should it have ?
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.
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.
>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
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
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.
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.
s/Using a particular gnumeric version/Enabling a particular gnumeric test verion/
updated handbook caption
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").