Summary: | emerge -uaD world does not respect '=' in package.keyword | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | [OLD] Core system | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED INVALID | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Toralf Förster
![]() 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"). |