1 |
Hi! |
2 |
|
3 |
Заметил странную вещь: `emerge -uDNav world` не выдаёт ничего, но |
4 |
`emerge -av world` предлагает обновить три пакета (ну, плюс переустановить |
5 |
ещё 500, но это понятно, а вот откуда обновления взялись - это любопытно). |
6 |
|
7 |
С двумя из трёх я разобрался. Происходит следующее: в портаж есть пакет |
8 |
одной версии A помеченный ~ARCH. Когда просят установить этот пакет, то |
9 |
--autounmask-write добавляет запись в package.keywords: |
10 |
=package-A ~ARCH |
11 |
Дальше из портаж этот ebuild удаляют, а добавляют новый версии B, тоже ~ARCH. |
12 |
В результате `emerge -uDNav world` не пытается обновлять этот пакет (т.к. |
13 |
новая версия ~ARCH и не прописана в package.keywords), а `emerge -av world` |
14 |
пытается (т.к. в world прописан этот пакет а единственная доступная версия |
15 |
это B). Понятно, хотя и не очень интуитивно. |
16 |
|
17 |
А вот с третьим случаем я ничего понять не могу. По неизвестной причине |
18 |
портаж пытается обновить mercurial до последней ~ARCH версии якобы для |
19 |
hg-git. Но в зависимостях пакета hg-git-0.5.0 указан mercurial-1.9, у меня |
20 |
сейчас установлен ARCH 2.4.2, а обновлять он его пытается на ~ARCH 2.8.2. |
21 |
Причём происходит это только при запуске world. Запуск с -t ничего не |
22 |
показал - выглядит так, как будто mercurial обновляется сам по себе, а не |
23 |
как чья-то зависимость. Вот: |
24 |
|
25 |
# emerge -pvt world |
26 |
… |
27 |
[ebuild R ~] dev-vcs/hg-git-0.5.0 0 kB |
28 |
… |
29 |
[ebuild U ~] dev-vcs/mercurial-2.8.2 [2.4.2] USE="gpg -bugzilla -emacs {-test} -tk -zsh-completion" PYTHON_TARGETS="python2_7%* -python2_6%" 3,750 kB |
30 |
… |
31 |
The following keyword changes are necessary to proceed: |
32 |
(see "package.accept_keywords" in the portage(5) man page for more details) |
33 |
# required by dev-vcs/hg-git-0.5.0 |
34 |
# required by @selected |
35 |
# required by @world (argument) |
36 |
=dev-vcs/mercurial-2.8.2 ~amd64 |
37 |
|
38 |
При этом: |
39 |
|
40 |
# emerge -pvt hg-git mercurial |
41 |
|
42 |
These are the packages that would be merged, in reverse order: |
43 |
|
44 |
Calculating dependencies... done! |
45 |
[ebuild R ~] dev-vcs/hg-git-0.5.0 0 kB |
46 |
[ebuild R ] dev-vcs/mercurial-2.4.2 USE="gpg -bugzilla -emacs {-test} -tk -zsh-completion" 0 kB |
47 |
|
48 |
Total: 2 packages (2 reinstalls), Size of downloads: 0 kB |
49 |
|
50 |
Ничего особенного в конфигах тоже нет: |
51 |
|
52 |
# egrep -r 'hg-git|mercurial' /etc/portage/ | grep -v ':#' |
53 |
/etc/portage/package.keywords:=dev-vcs/hg-git-0.5.0 ~amd64 |
54 |
|
55 |
# egrep 'hg-git|mercurial' /var/lib/portage/world |
56 |
dev-vcs/hg-git |
57 |
dev-vcs/mercurial |
58 |
|
59 |
-- |
60 |
WBR, Alex. |