Пересборка каждого бинарника

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Aliech
Сообщения: 1135
Статус: дилетант широкого профиля
ОС: debian/openbsd

Пересборка каждого бинарника

Сообщение Aliech »

Есть arm'овый stage3. Есть новый make.conf.

Теперь задача. Как пересобрать каждый бинарник, содержащийся в системе? Чтобы просто и элегантно. Stage1 - крайний вариант...

ЗЫ: гуглил... Понял, что "emerge world"'ом не обойтись...
С уважением,
Павел Алиев
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5435
ОС: Gentoo

Re: Пересборка каждого бинарника

Сообщение /dev/random »

В paludis есть специальный сет "everything" - все установленные пакеты, не обязательно содержащиеся в "world".

Если вы пользуетесь не paludis, а portage, то тут несколько сложнее.
1) Можно использовать опцию "-e", которая заставит portage считать, что ни один пакет не установлен. Но тут могут возникнуть проблемы с альтернативными зависимостями. Запустите вначале с опциями -pve, и если в списке будут не только переустанавливаемые пакеты, но и "новые", придётся выяснять, кто их вытянул, и явно указывать те альтернативы, которые у вас установлены.
2) Можно ещё сделать что-то в духе eix -I --only-names | xargs emerge -1
Спасибо сказали:
Аватара пользователя
megabaks
Сообщения: 697
ОС: Gentoo ~x86

Re: Пересборка каждого бинарника

Сообщение megabaks »

emerge -avD1 `qlist -IC | uniq` ?
for i in `qlist -ICv`;do export REBUILD="$REBUILD >=$i";done && emerge -avD1 `echo $REBUILD` ?
Спасибо сказали:
Aliech
Сообщения: 1135
Статус: дилетант широкого профиля
ОС: debian/openbsd

Re: Пересборка каждого бинарника

Сообщение Aliech »

Код: Выделить всё

emerge -avD1 `qlist -IC | uniq`


Катит, спасибо...
С уважением,
Павел Алиев
Спасибо сказали:
Аватара пользователя
Иван Шихалев
Сообщения: 167
Статус: принципиальный дилетант
ОС: Gentoo Linux

Re: Пересборка каждого бинарника

Сообщение Иван Шихалев »

emerge -e world
чем не устраивает?
Иван Шихалев
shikhalev.org
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5435
ОС: Gentoo

Re: Пересборка каждого бинарника

Сообщение /dev/random »

Иван Шихалев писал(а):
24.02.2011 17:33
emerge -e world
чем не устраивает?

Выше я описал возможные проблемы этой опции. Но топикстартера, полагаю, она не устраивает не этим, а тем, что он про неё не знал.
Спасибо сказали:
Aliech
Сообщения: 1135
Статус: дилетант широкого профиля
ОС: debian/openbsd

Re: Пересборка каждого бинарника

Сообщение Aliech »

Спасибо, но вы ошибаетесь...
Для начала я ознакомился с http://www.gentoo.org/doc/en/gcc-upgrading.xml
С уважением,
Павел Алиев
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 885
ОС: gentoo

Re: Пересборка каждого бинарника

Сообщение vr13 »

просто, элегантно и главное - консистентно можно cделать так:
дважды собирается toolchain:

Код: Выделить всё

emerge -q1v glibc binutils gcc
emerge -q1bv glibc binutils gcc portage

двойной сборкой вы гарантируете что toolchain будет самособран консистентно. затем собирается система

Код: Выделить всё

emerge -qvbke system

и наконец - мир

Код: Выделить всё

emerge -qvke world

чтобы не дублировать компиляции, в промежуточных сборках собираются бинарники, которые используются в последующих шагах. по завершении /usr/portage/packages (или куда указывает PKGDIR) можно удалить. понятно, что времени на такое действо может потребоваться очень много. кстати никак не конфликтует со ссылкой на документацию, просто более прямолинейно

идея когда-то была взята на форуме gentoo
Спасибо сказали: