1

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

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

2

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

emerge -eb system
emerge -ek world
Был, был и весь вышел...

3

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

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

4

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

Был, был и весь вышел...

5

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

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

6

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

emerge -av $(cat test.txt)

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

Был, был и весь вышел...

7

newzenon пишет:

Это про @kde, @system... и тд?

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

Был, был и весь вышел...

8

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
Был, был и весь вышел...

9

emerge -av $(cat test.txt)

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

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

— Ты кто?
— Часть силы той, что без числа
Творит добро, всему желая зла. © Фауст

10

riso пишет:

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

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

Был, был и весь вышел...

11

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

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

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

12

newzenon пишет:

Обработать eix -I

emerge -e world

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

Был, был и весь вышел...

13

Lupo Alberto пишет:

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

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

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

14

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

Был, был и весь вышел...

15

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

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

16

newzenon пишет:

Ну допустим спортивный интерес.

newzenon пишет:

Получается надо самому какой-то скрипт накорябать.

:rolleyes:

Был, был и весь вышел...

17

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

emerge glibc binutils gcc && emerge glibc binutils gcc

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

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

18

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.

Был, был и весь вышел...

19

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 будет выведено количество пакетов, которые не удалось собрать, и сообщения об ошибках.

20

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

EMERGE_DEFAULT_OPTS="--verbose --keep-going --jobs=5 --backtrack=30 --with-bdeps=y"
История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

21

newzenon пишет:

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

всё украдено до нас: смотреть в сторону qlist и его ключей.
+ если собственный скрипт, то проще парсить /var/db/pkg

95% процентов проблем находятся между клавиатурой и стулом.

22

Спасибо, Альберто. Как вы успеваете все это в голове держать?

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс