Согласно документации 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.
The following REQUIRED_USE flag constraints are unsatisfied:
any-of ( python_targets_python3_4 python_targets_python3_5 )
Для чего я скачиваю? у моего друга в регионе не скоростной интернет. И я ему вожу дисты на диске.
Поэтому я “бегу” по каждому ебилду и пытаюсь скачать его.
Скажете: - скачай зеркало и будет тебе все дисты - не верно, ибо есть подключенные оверлеи, которые в свою очередь ссылаются на другие ресурсы, типа SourceForge и т.д.
Конечно, как решение проблемы, я для каждого такого пакета создаю свой portage/env файл и тогда качается.
Но это некий “кАааастыль”.
Может мне подскажут решение данной проблемы другим способом?
Пробовал конечно. Вот только, у меня зависимости все удовлетворяются.
В Вашем случае, Вам придется указать нужные флаги.
Либо можно воспользоваться не очень честным методом (и не очень безопасным, т. к. будут обновлены файлы в оверлее), но у меня такое работает всегда (я пробовал подставлять неправильные USE - действительно, обычный fetch не качает):
Ну и имейте в виду, что если для разных архитектур, к примеру, существуют разные файлы исходников - `ebuild … digest` выкачает их все, а emerge - только для текущей архитектуры (при условии правильно написаннного ebuild-а).
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-а).”
а мне это и надо.
Обратите внимание, что это обновит Ваш Manifest и пересчитает контрольные суммы. Если файл будет скачан некорректно (из-за ошибки связи к примеру), вы об этом можете не узнать. Так что будьте внимательнее
Хотя, на другой системе, при попытке установить такой пакет, emerge сразу ругнётся на это.
Да и Вам достаточно обновить Ваши оверлеи, чтоб привести манифесты в порядок.
На USE он ругаться не может - только на кривой ebuild. digest качает файлы для всех возможных USE.
А качает он только если нужного файла нет в distfiles и присутствует ключ --force. Иначе просто обновляет манифест и всё.
Контрольные суммы он пересчитывает независимо от их совпадения/несовпадения.
Для уверенности можно удалить файл Manifest из каталога с ебилдами пакета - тогда будут скачаны все доступные версии пакета и создан новый Manifest.
Обновляет Manifest-файл пакета. В результате создаются контрольные суммы для всех файлов, обнаруженных в одном каталоге с обрабатываемым файлом ebuild, а также содержимое вложенных каталогов подкаталога files. При этом
контрольные суммы генерируются и для всех файлов, перечисленных в SRC_URI для каждого файла ebuild. Подробнее о поведении данной команды, см. в разделе о смысле значения assume-digests переменной FEATURES справочного
руководства по make.conf(5). Если вы не хотите, чтобы дайджесты принимались неявно, см. опцию --force.
Да и Ваш вывод показывает, что у вас нужный файл был уже давным давно скачан - докачались только для других версий. Проверьте - он уже в distfiles.
Просто будьте внимательнее
Правильно я понимаю, что для каждого билда мне потребуется удалять Manifest?
Если ли вариант для всех ебилдов в каталоге разом скачать и только потом для всех создать Манифест?