неточность в документации или я что-то делаю не так: emerge -F

Согласно документации http://www.calculate-linux.ru/main/ru/emerge написано:
–fetch-all-uri (сокращенно -F)
Не будет собирать пакеты, а только загрузит все файлы пакетов (по списку в SRC_URI, независимо от USE-флагов).

Однако, при попытке сделать следующее:
sudo /usr/bin/emerge -FO /usr/portage/app-accessibility/orca/orca-3.20.3-r1.ebuild

система выдает:
!!! Problem resolving dependencies for /usr/portage/app-accessibility/orca/orca-3.20.3-r1.ebuild

!!! The ebuild selected to satisfy “=app-accessibility/orca-3.20.3-r1::gentoo” has unmet requirements.

  • app-accessibility/orca-3.20.3-r1::gentoo USE=“braille” ABI_X86=“64” PYTHON_TARGETS="-python3_4 -python3_5"

The following REQUIRED_USE flag constraints are unsatisfied:
any-of ( python_targets_python3_4 python_targets_python3_5 )

Для чего я скачиваю? у моего друга в регионе не скоростной интернет. И я ему вожу дисты на диске.
Поэтому я “бегу” по каждому ебилду и пытаюсь скачать его.

Скажете: - скачай зеркало и будет тебе все дисты - не верно, ибо есть подключенные оверлеи, которые в свою очередь ссылаются на другие ресурсы, типа SourceForge и т.д.
Конечно, как решение проблемы, я для каждого такого пакета создаю свой portage/env файл и тогда качается.
Но это некий “кАааастыль”.
Может мне подскажут решение данной проблемы другим способом?

Спасибо всем заранее!

Можно решить в лоб вот так:

ebuild /usr/portage/app-accessibility/orca/orca-3.20.3-r1.ebuild fetch

 # или так:

cd /usr/portage/app-accessibility/orca 
ebuild orca-3.20.3-r1.ebuild fetch

А чтоб скачать пакеты для всех ебилдов в каталоге, можно сделать например так:

find /usr/portage/app-accessibility/orca/ -name '*.ebuild' -exec ebuild {} fetch \;

Впрочем, так можно выкачать вообще любой набор ебилдов. Хоть весь оверлей скачать…

прежде чем писать, Вы сами попробовали решение?

sudo ebuild /usr/portage/app-accessibility/orca/orca-3.20.3-r1.ebuild fetch

The following REQUIRED_USE flag constraints are unsatisfied:
|| ( python_targets_python3_4 python_targets_python3_5 )

Пробовал конечно. Вот только, у меня зависимости все удовлетворяются.

В Вашем случае, Вам придется указать нужные флаги.

Либо можно воспользоваться не очень честным методом (и не очень безопасным, т. к. будут обновлены файлы в оверлее), но у меня такое работает всегда (я пробовал подставлять неправильные USE - действительно, обычный fetch не качает):

ebuild /usr/portage/app-accessibility/orca/orca-3.20.3-r1.ebuild --force digest

Ну и имейте в виду, что если для разных архитектур, к примеру, существуют разные файлы исходников - `ebuild … digest` выкачает их все, а emerge - только для текущей архитектуры (при условии правильно написаннного ebuild-а).

ebuild /usr/portage/app-accessibility/orca/orca-3.20.3-r1.ebuild --force digest
К сожалению способ не заработал.

“Ну и имейте в виду, что если для разных архитектур, к примеру, существуют разные файлы исходников - `ebuild … digest` выкачает их все, а emerge - только для текущей архитектуры (при условии правильно написаннного ebuild-а).”
а мне это и надо.

Alex Zhihorev wrote:

ebuild /usr/portage/app-accessibility/orca/orca-3.20.3-r1.ebuild --force digest
К сожалению способ не заработал.

“Ну и имейте в виду, что если для разных архитектур, к примеру, существуют разные файлы исходников - `ebuild … digest` выкачает их все, а emerge - только для текущей архитектуры (при условии правильно написаннного ebuild-а).”
а мне это и надо.

Как это не заработал? Что вывела команда?

ego orca # rm /var/calculate/remote/distfiles/orca-3.20.3.tar.xz 
ego orca # ebuild /usr/portage/app-accessibility/orca/orca-3.20.3-r1.ebuild --force digest 
>>> Downloading 'http://mirror.yandex.ru/gentoo-distfiles/distfiles/orca-3.20.3.tar.xz'
--2017-01-02 16:32:29--  http://mirror.yandex.ru/gentoo-distfiles/distfiles/orca-3.20.3.tar.xz
Resolving mirror.yandex.ru... 213.180.204.183, 2a02:6b8::183
Connecting to mirror.yandex.ru|213.180.204.183|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2312864 (2.2M) [application/octet-stream]
Saving to: ‘/var/calculate/remote/distfiles/orca-3.20.3.tar.xz’

/var/calculate/remote/distfiles/orca-3.20.3.tar.xz          100%[==========================================================================================================================================>]   2.21M  1.82MB/s    in 1.2s    

2017-01-02 16:32:30 (1.82 MB/s) - ‘/var/calculate/remote/distfiles/orca-3.20.3.tar.xz’ saved [2312864/2312864]

>>> Creating Manifest for /usr/portage/app-accessibility/orca

ego orca # rm /var/calculate/remote/distfiles/orca-3.20.3.tar.xz                                                                                    
ego orca # USE="-python_targets_python3_4 -python_targets_python3_5" ebuild /usr/portage/app-accessibility/orca/orca-3.20.3-r1.ebuild fetch        

  The following REQUIRED_USE flag constraints are unsatisfied:
    || ( python_targets_python3_4 python_targets_python3_5 )

ego orca # USE="-python_targets_python3_4 -python_targets_python3_5" ebuild /usr/portage/app-accessibility/orca/orca-3.20.3-r1.ebuild --force digest
>>> Downloading 'http://mirror.yandex.ru/gentoo-distfiles/distfiles/orca-3.20.3.tar.xz'
--2017-01-02 16:33:30--  http://mirror.yandex.ru/gentoo-distfiles/distfiles/orca-3.20.3.tar.xz
Resolving mirror.yandex.ru... 213.180.204.183, 2a02:6b8::183
Connecting to mirror.yandex.ru|213.180.204.183|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2312864 (2.2M) [application/octet-stream]
Saving to: ‘/var/calculate/remote/distfiles/orca-3.20.3.tar.xz’

/var/calculate/remote/distfiles/orca-3.20.3.tar.xz          100%[==========================================================================================================================================>]   2.21M  2.34MB/s    in 0.9s    

2017-01-02 16:33:31 (2.34 MB/s) - ‘/var/calculate/remote/distfiles/orca-3.20.3.tar.xz’ saved [2312864/2312864]

>>> Creating Manifest for /usr/portage/app-accessibility/orca
ego orca #

sudo ebuild /usr/portage/app-accessibility/orca/orca-3.20.3-r1.ebuild fetch --force

The following REQUIRED_USE flag constraints are unsatisfied:
|| ( python_targets_python3_4 python_targets_python3_5 )

sudo ebuild /usr/portage/app-accessibility/orca/orca-3.20.3-r1.ebuild fetch digest --force

The following REQUIRED_USE flag constraints are unsatisfied:
|| ( python_targets_python3_4 python_targets_python3_5 )

Уберите fetch из команды

вот так должно быть:

sudo ebuild /usr/portage/app-accessibility/orca/orca-3.20.3-r1.ebuild digest --force

Обратите внимание, что это обновит Ваш Manifest и пересчитает контрольные суммы. Если файл будет скачан некорректно (из-за ошибки связи к примеру), вы об этом можете не узнать. Так что будьте внимательнее :wink:
Хотя, на другой системе, при попытке установить такой пакет, emerge сразу ругнётся на это.
Да и Вам достаточно обновить Ваши оверлеи, чтоб привести манифесты в порядок.

sudo ebuild /usr/portage/app-accessibility/orca/orca-3.20.3-r1.ebuild digest --force

Creating Manifest for /usr/portage/app-accessibility/orca

digest создает файл подписи, а если контрольные суммы не совпадают, то либо качает либо ругается.

На USE он ругаться не может - только на кривой ebuild. digest качает файлы для всех возможных USE.
А качает он только если нужного файла нет в distfiles и присутствует ключ --force. Иначе просто обновляет манифест и всё.
Контрольные суммы он пересчитывает независимо от их совпадения/несовпадения.
Для уверенности можно удалить файл Manifest из каталога с ебилдами пакета - тогда будут скачаны все доступные версии пакета и создан новый Manifest.

И ещё раз, чтоб было понятно.

Это две разные команды. Смешивать их нельзя.

ebuild ... fetch

ebuild ... digest [--force]

sudo rm /usr/portage/app-accessibility/orca/Manifest
Удалил.

sudo ebuild /usr/portage/app-accessibility/orca/orca-3.20.3-r1.ebuild digest --force

Downloading ‘http://mirror.yandex.ru/gentoo-distfiles/distfiles/orca-3.22.1.tar.xz
-2017-01-02 15:57:13- http://mirror.yandex.ru/gentoo-distfiles/distfiles/orca-3.22.1.tar.xz
Resolving mirror.yandex.ru… 213.180.204.183
Connecting to mirror.yandex.ru|213.180.204.183|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 2348012 (2.2M) [application/octet-stream]
Saving to: ‘/mnt/raid/Linux/distfiles/orca-3.22.1.tar.xz’

/mnt/raid/Linux/distfiles/orca-3.22.1.tar.xz 100%[>] 2.24M 11.1MB/s in 0.2s

2017-01-02 15:57:13 (11.1 MB/s) - ‘/mnt/raid/Linux/distfiles/orca-3.22.1.tar.xz’ saved [2348012/2348012]

Downloading ‘http://mirror.yandex.ru/gentoo-distfiles/distfiles/orca-3.22.2.tar.xz
-2017-01-02 15:57:13- http://mirror.yandex.ru/gentoo-distfiles/distfiles/orca-3.22.2.tar.xz
Resolving mirror.yandex.ru… 213.180.204.183
Connecting to mirror.yandex.ru|213.180.204.183|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 2345292 (2.2M) [application/octet-stream]
Saving to: ‘/mnt/raid/Linux/distfiles/orca-3.22.2.tar.xz’

/mnt/raid/Linux/distfiles/orca-3.22.2.tar.xz 100%[>] 2.24M 11.0MB/s in 0.2s

2017-01-02 15:57:13 (11.0 MB/s) - ‘/mnt/raid/Linux/distfiles/orca-3.22.2.tar.xz’ saved [2345292/2345292]

Creating Manifest for /usr/portage/app-accessibility/orca

спасибо, мысль понятна.
Попробую удалять все Manifest, или переименовывать их на время.
Спасибо большое за помощь!!!

Цитата из документации. Ни слова про USE:

Обновляет Manifest-файл пакета. В результате создаются контрольные суммы для всех файлов, обнаруженных в одном каталоге с обрабатываемым файлом ebuild, а также содержимое вложенных каталогов подкаталога files.  При этом
              контрольные  суммы  генерируются  и для всех файлов, перечисленных в SRC_URI для каждого файла ebuild. Подробнее о поведении данной команды, см. в разделе о смысле значения assume-digests переменной FEATURES справочного
              руководства по make.conf(5). Если вы не хотите, чтобы дайджесты принимались неявно, см. опцию --force.

Да и Ваш вывод показывает, что у вас нужный файл был уже давным давно скачан - докачались только для других версий. Проверьте - он уже в distfiles.
Просто будьте внимательнее :wink:

Не за что. Рад, что помог.

Правильно я понимаю, что для каждого билда мне потребуется удалять Manifest?
Если ли вариант для всех ебилдов в каталоге разом скачать и только потом для всех создать Манифест?