как докомпилить пакеты

Привет всем.
Интересует маленький но важный ответ на вопрос.

Вот, я обновлял мир, обновление тормознуло на 675 из 683 - ошибка компиляции одной программы,
но она не очень-то нужна и от нее ничего не зависит,
вопрос в том - как докомпилить оставшиеся несколько пакетов,
или как хотябы узнать какие именнно?

Спасибо

emerge --resume

emerge --resume --skip-first
так чтоли

Чтобы в дальнейшем не

Чтобы в дальнейшем не сталкиваться с такой проблемой, запускайте команду обновления с опцией --keep-going или просто добавьте её в /etc/make.conf:

echo 'EMERGE_DEFAULT_OPTS="--keep-going"' >> /etc/make.conf

Я Gentoo & Funtoo

Lupo Alberto

Lupo Alberto написал(а):
Чтобы в дальнейшем не сталкиваться с такой проблемой, запускайте команду обновления с опцией --keep-going или просто добавьте её в /etc/make.conf:

echo 'EMERGE_DEFAULT_OPTS="--keep-going"' >> /etc/make.conf

которая, ЕМНИП есть в тестовой версии portage.

Проверил бы хоть. Есть уже в

Проверил бы хоть. Есть уже в стабильном.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

а еще хорошо бы пользоваться

а еще хорошо бы пользоваться документацией!!!
например, man emerge или emerge --help

...

а еще по этому поводу вопрос такой. как обновить мир, собрав сперва бинарные пакеты, а уже потом из бинарных обновить систему?

скрытный секс :)

man emerge

man emerge написал(а):
...
--buildpkgonly (-B)
Creates binary packages for all ebuilds processed without actually merging the packages. This comes with the caveat that all build-time dependencies must already be emerged on the system.
...
--usepkg[=n] (-k)
Tells emerge to use binary packages (from $PKGDIR) if they are available, thus possibly avoiding some time-consuming compiles. This option is useful for CD installs; you can export PKGDIR=/mnt/cdrom/packages and then use this option to have emerge "pull" binary packages from the CD in order to satisfy dependencies.

--usepkgonly[=n] (-K)
Tells emerge to only use binary packages (from $PKGDIR). All the binary packages must be available at the time of dependency calculation or emerge will simply abort. Portage does not use $PORTDIR when calculating dependency information so all masking information is ignored.
...

Я Gentoo & Funtoo

а как мир обновляете? я

а как мир обновляете?
я emerge -NuD @world
про эти опции в курсе, только он вот что отвечает:
!!! --buildpkgonly requires all dependencies to be merged.
!!! Cannot merge requested packages. Merge deps and try again.

скрытный секс :)

Запустил emerge -uDNvB

Запустил

emerge -uDNvB @world

всё работает.
Возможно, это связано с наличием опции

grep EMERGE /etc/make.conf
EMERGE_DEFAULT_OPTS="--with-bdeps=y --keep-going"

Я Gentoo & Funtoo

нет. все равно не хочет.

нет. все равно не хочет. можете показать emerge --info?

скрытный секс :)

.

Если вопрос про обновление мира, то при устранении проблем компиляции с пакетом вызвавшем ошибку (как то, убрать его из world, установить опцию skipfirst, замаскировать новую версию, и т.п.) обновление мира продолжится и уже собранные пакеты повторно собираться не будут.

При повсеместном (по умолчанию) использовании --keep-going возможны проблемы, когда ошибка сборки произойдет в пакете, от которого зависит целая взаимная группа. Тогда она продолжится собираться со старым пакетом, и всё это или не заработает, или при устранении проблем в сбойном пакете приведет к повторной пересборке всей группы.

При использовании buildpkgonly, как указано в man и выдержка чего приведена в данном обсуждении, необходимо, чтобы в системе были установлены все пакеты, от которых зависят устанавливаемые/обновляемые. Это имеет смысл только при пересборке мира, для установки системы из бинарных пакетов на компьютере, для которого хочется например заменить набор CFLAGS. (другая архитектура, а состав пакетов прежний).

В случае, если хочется обновляться только на атомарный набор (сборка всего набора произошла успешно), то могу посоветовать такую схему. В стороне разворачивается дубликат имеющейся в наличии системы (1 раз), монтируется и чрутится в соответствие с хендбуком (каждый раз), там производится обновление системы с формированием бинарных пакетов. Далее (в завершении), если не возникло проблем, обновляется мир рабочей системы из полученных бинарных пакетов. (Данный путь тоже не лишен сюрпризов, но если интересно, могу поделиться)

PS. Для дублицирования системы, ее там устанавливать (компилировать) нет необходимости, а нужно снять копию уже имеющейся.

Kevol написал(а):При

Kevol написал(а):
При повсеместном (по умолчанию) использовании --keep-going возможны проблемы, когда ошибка сборки произойдет в пакете, от которого зависит целая взаимная группа. Тогда она продолжится собираться со старым пакетом, и всё это или не заработает, или при устранении проблем в сбойном пакете приведет к повторной пересборке всей группы

Не болтайте ерундой. В этой самой, как вы назывете,"целой взаимной группе", в зависимостях указываются ограничения версий пакета, от которого она зависит. Соотв., если ей нужен именно этот (несобравшийся) пакет - группа даже не будет пытаться емержиться, а если группу устраивает уже установленная версия этого пакета - дык и говорить не о чем, всё нормально соберётся, и почему же в таком случае "всё это или не заработает"?

Мы тоже не всего читали Шнитке!.. © В. Вишневский

.

1. emerge при keep-going в случае сбоя сборки пакета делает перерасчет состава пакетов для сборки?
2. Если набору (а это часто) пакетов "пожелалось" иметь новую библиотеку (а часто и сам набор обновляется), а библиотека дала сбой при сборке, и всё это обновилось со старой версией, то могу представить, как озадачится revdep-rebuild после того как пофиксят баг сбойной либы. А такое фиксят очень быстро. Такое положение в большой степени относится к стабильной ветке. Вопрос - стоит ли молоть воду в ступе компилировать дважды одно и то же.

Kevol написал(а): Вопрос -

Kevol написал(а):
Вопрос - стоит ли молоть воду в ступе компилировать дважды одно и то же.

такие умозаключения будто речь о перфокартах )))

.

Ну вот. То речь идет об экономии времени, а то и лишняя пересборка никому не мешает :)
В общем, я своё мнение об реализации атомарности обновлений уже высказал, а так же высказал сомнения о пользе keep-going в make.conf.

По п.1 комментариев не последовало. А поведение emerge в этом случае было бы и мне самому интересно, так как предпочитая ручной контроль процесса обновления, использую в случае проблем только skip-first.

PS. Ранее я бэкапировал систему на резервный раздел перед "большими" обновлениям (Часто связанными с пересборкой мира). Это предоставляло возможность отката от "несложившегося" обновления только одной перезагрузкой. Опробовав метод подготовки бинарных пакетов в чруте (для маломощных компьютеров), прихожу к выводу о целесообразности перехода на такой же метод обновления и самого ББ. Вопрос остается только в инструменте формирования списка неявно обновленных пакетов (по командам revdep-rebuild и ему подобных).

Kevol написал(а): emerge при

Kevol написал(а):
emerge при keep-going в случае сбоя сборки пакета делает перерасчет состава пакетов для сборки?

Да

Цитата:
Если набору (а это часто) пакетов "пожелалось" иметь новую библиотеку (а часто и сам набор обновляется), а библиотека дала сбой при сборке, и всё это обновилось со старой версией, то могу представить, как озадачится revdep-rebuild после того как пофиксят баг сбойной либы

А что, revdep-rebuild вы запускаете просто так - чтобы система не простаивала?! Сумневаюсь как-то... Скорее (в описываемом вами случае), после очередного синка, и, соотв., обновления мира, ента либа сама собой и съемержится...

Цитата:
Вопрос - стоит ли молоть воду в ступе компилировать дважды одно и то же

Дык о чём это вы?, какое такое дважды?

Мы тоже не всего читали Шнитке!.. © В. Вишневский

...

нет, вопрос куда проще.
желаемый результат заключается в том, чтобы обновляться из бинарных пакетов, скомпиленых на этой же машине. потому как компиляция процесс долговременный.
на примере kde выглядит так. пока компилируется kde, не возможно что либо делать за машиной, потому как отваливается все что только можно. оно и понятно обновление :)
хочется сделать менее заметным сей процесс.

скрытный секс :)

KarpOffHome написал(а):на

KarpOffHome написал(а):
на примере kde выглядит так. пока компилируется kde, не возможно что либо делать за машиной, потому как отваливается все что только можно. оно и понятно обновление :)
хочется сделать менее заметным сей процесс.

это что за раритет у тебя такой?! )) у меня нетбук не тормозит, а у тебя "не возможно что либо делать за машиной" )))
почитай man make.conf и man emerge там есть решения твоей проблемы ;)

Тормозов при компиляции у

Тормозов при компиляции у меня нет, а вот проблемы при обновлении КДЕ - регулярно, то в меню ничего нет, то что-то неправильно работает, помогает только перезапуск КДЕ.

ну так это вполне

ну так это вполне естественно. когда ты сидишь под старыми kde, а половина библиотек уже обновились

скрытный секс :)

...

совершенно не поняли суть проблемы. ну да ладно. не удивительно :)
"почитай man make.conf и man emerge там есть решения твоей проблемы ;)" - а вот к примеру какое ...

скрытный секс :)

emerge --info

emerge --info

Я Gentoo & Funtoo

спасибо

спасибо
вписал EMERGE_DEFAULT_OPTS="--with-bdeps=y --keep-going"

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".