LinuxForum.Fans
Тема

Список сборки для emerge

Автор: zenon 22 сообщений 5830 просмотров
#218156

Собственно как его сделать, допустим я хочу пересобрать все пакеты в системе, но не за раз.
emerge -e system -
emerge -e world -
будет много повторов, да и пересобирать будет.

#218159

Я делал так, хотя это «костыль»:

text

emerge -eb system
emerge -ek world
#218162

Lupo Alberto, а как в файло закинуть список, и потом emerge скормить?

#218164

newzenon, есть такая штука — sets

#218166

Это про @kde, @system... и тд?
Не я не про то.

#218167

Можно ещё «идеологически неправильно» сделать:

text

emerge -av $(cat test.txt)

P.S. В файле test.txt в каждой строке указан отдельный пакет.
P.S.S. Повторюсь — это очередной «костыль».

#218169
newzenon написал:
Это про @kde, @system... и тд?

Нет, это про набор любых пакетов, точнее, их список, который вы можете создать и «обозвать» сами.

#218172
text

gentoo-laptop portage # mkdir -p /etc/portage/sets
gentoo-laptop portage # echo app-shells/bash > /etc/portage/sets/shells
gentoo-laptop portage # echo app-shells/zsh >> /etc/portage/sets/shells
gentoo-laptop portage # emerge -pv @shells

These are the packages that would be merged, in order:

Calculating dependencies... done! [ebuild R ] app-shells/zsh-4.3.15 USE="gdbm pcre unicode -caps -debug -doc -examples -maildir -static" 0 kB [ebuild R ] app-shells/bash-4.2_p20 USE="net nls -afs -bashlogger -examples -mem-scramble -plugins -vanilla" 6,888 kB

Total: 2 packages (2 reinstalls), Size of downloads: 6,888 kB

#218175

text
emerge -av $(cat test.txt)

P.S.S. Повторюсь — это очередной «костыль».

больше похоже на unix-way. Я почему-то думал, что word это и system и остальное. Видимо ошибался.

#218178
riso написал:
Я почему-то думал, что word это и system и остальное.

world — это файл, в котором содержится список явно установленных пакетов;
всё остальное — это пакеты, идущие зависимостями.

#218181

Получается надо самому какой-то скрипт накорябать.
Обработать eix -I
Выхлоп в файл.
Построчный запуск emerge с удалением обработанной строки.

.... ммм повторы будут.

#218182
newzenon написал:
Обработать eix -I
text

emerge -e world

...или я пока не улавливаю конечной цели :o

#218186
Lupo Alberto написал:

...или я пока не улавливаю конечной цели :o

Пересборка _всех_ пакетов в системе, с возможностью прервать процесс, продолжить с прерванного места. world этого не сделает.

#218188

Вроде бы опция --resume делает подобное (как-то за всё время работы в Gentoo она мне не понадобилась, вот и не разбирался). Только нельзя чистить временную директорию PORTAGE_TMPDIR.
P.S. Необходимость полной пересборки системы возникает на самом деле очень редко.

#218192

Ну допустим спортивный интерес.
--resume мне кажется делает немного другое, например при пересборке мира пакет не собирается, так вот с --resume сборка продолжится дальше.
Хотя нет, --keep-going=True .... тогда не понял как работает --resume

#218195
newzenon написал:
Ну допустим спортивный интерес.
newzenon написал:
Получается надо самому какой-то скрипт накорябать.

:rolleyes:

#218205

Немного не в тему, видел где-то так называемую "шнуровку"

text
emerge glibc binutils gcc && emerge glibc binutils gcc

Тайный смысл вроде понятен, но необходимость?

#218210
newzenon написал:
Тайный смысл вроде понятен, но необходимость?

http://www.funtoo.org/wiki/Toolchain_update

Upgrading to the new toolchain

As the dependencies have been adjusted so the packages are built in the right order, no user manipulation is required. Updating everything should work out of the box, but to ensure that no unwanted package is updated between the toolchain parts, proceed as following:

# emerge --sync
# emerge -1 glibc
# emerge -uNDav @world

Done!
[edit] What about libtool?

libtool is automatically rebuilt during the update process. This avoids any manual steps to be executed after the update.
[edit] Rebuilding the whole system?

Some people argue that this is necessary to rebuild the whole system (even twice) after a toolchain upgrade. This is never necessary, but users who changed their CFLAGS or CXXFLAGS due to a new available arch or optimization flag are welcome to do so, if they want. However, remember that this is never necessary.
#218257
newzenon написал:
--resume мне кажется делает немного другое, например при пересборке мира пакет не собирается, так вот с --resume сборка продолжится дальше.
Хотя нет, --keep-going=True .... тогда не понял как работает --resume

--resume продолжает сборку с того пакета, на котором процесс был прерван. Допустим, вы обновляетесь через emerge -uDN world, у вас не собрался package. Смотрите логи, исправляете что нужно, набираете emerge -uDN world -r или просто emerge -r и сборка продолжается с package. По умолчанию сохраняется информация о двух последних неудачных сборках пакетов. Если после всех исправлений emerge -uDN world -r у вас соберётся, то если набрать после этого emerge -r, то emerge возобновит сборку, которая когда-то до этого не удалась.

Если запустить emerge с опцией --keep-going, то при возникновении ошибки во время сборки пакета процесс не будет прерван, emerge приступит к сборке следующего в списке пакета. А после завершение emerge будет выведено количество пакетов, которые не удалось собрать, и сообщения об ошибках.

#218280

Ranyar, понял про resume.
Я в make.conf забил себе:

text
EMERGE_DEFAULT_OPTS="--verbose --keep-going --jobs=5 --backtrack=30 --with-bdeps=y"
Войдите или зарегистрируйтесь, чтобы ответить.