Есть arm'овый stage3. Есть новый make.conf.
Теперь задача. Как пересобрать каждый бинарник, содержащийся в системе? Чтобы просто и элегантно. Stage1 - крайний вариант...
ЗЫ: гуглил... Понял, что "emerge world"'ом не обойтись...
Пересборка каждого бинарника
Модератор: /dev/random
-
Aliech
- Сообщения: 1135
- Статус: дилетант широкого профиля
- ОС: debian/openbsd
Пересборка каждого бинарника
С уважением,
Павел Алиев
Павел Алиев
-
/dev/random
- Администратор
- Сообщения: 5435
- ОС: Gentoo
Re: Пересборка каждого бинарника
В paludis есть специальный сет "everything" - все установленные пакеты, не обязательно содержащиеся в "world".
Если вы пользуетесь не paludis, а portage, то тут несколько сложнее.
1) Можно использовать опцию "-e", которая заставит portage считать, что ни один пакет не установлен. Но тут могут возникнуть проблемы с альтернативными зависимостями. Запустите вначале с опциями -pve, и если в списке будут не только переустанавливаемые пакеты, но и "новые", придётся выяснять, кто их вытянул, и явно указывать те альтернативы, которые у вас установлены.
2) Можно ещё сделать что-то в духе eix -I --only-names | xargs emerge -1
Если вы пользуетесь не paludis, а portage, то тут несколько сложнее.
1) Можно использовать опцию "-e", которая заставит portage считать, что ни один пакет не установлен. Но тут могут возникнуть проблемы с альтернативными зависимостями. Запустите вначале с опциями -pve, и если в списке будут не только переустанавливаемые пакеты, но и "новые", придётся выяснять, кто их вытянул, и явно указывать те альтернативы, которые у вас установлены.
2) Можно ещё сделать что-то в духе eix -I --only-names | xargs emerge -1
-
megabaks
- Сообщения: 697
- ОС: Gentoo ~x86
Re: Пересборка каждого бинарника
emerge -avD1 `qlist -IC | uniq` ?
for i in `qlist -ICv`;do export REBUILD="$REBUILD >=$i";done && emerge -avD1 `echo $REBUILD` ?
for i in `qlist -ICv`;do export REBUILD="$REBUILD >=$i";done && emerge -avD1 `echo $REBUILD` ?
Спасибо сказали:
-
Aliech
- Сообщения: 1135
- Статус: дилетант широкого профиля
- ОС: debian/openbsd
Re: Пересборка каждого бинарника
С уважением,
Павел Алиев
Павел Алиев
-
Иван Шихалев
- Сообщения: 167
- Статус: принципиальный дилетант
- ОС: Gentoo Linux
-
/dev/random
- Администратор
- Сообщения: 5435
- ОС: Gentoo
Re: Пересборка каждого бинарника
Выше я описал возможные проблемы этой опции. Но топикстартера, полагаю, она не устраивает не этим, а тем, что он про неё не знал.
-
Aliech
- Сообщения: 1135
- Статус: дилетант широкого профиля
- ОС: debian/openbsd
Re: Пересборка каждого бинарника
Спасибо, но вы ошибаетесь...
Для начала я ознакомился с http://www.gentoo.org/doc/en/gcc-upgrading.xml
Для начала я ознакомился с http://www.gentoo.org/doc/en/gcc-upgrading.xml
С уважением,
Павел Алиев
Павел Алиев
-
vr13
- Сообщения: 885
- ОС: gentoo
Re: Пересборка каждого бинарника
просто, элегантно и главное - консистентно можно cделать так:
дважды собирается toolchain:
двойной сборкой вы гарантируете что toolchain будет самособран консистентно. затем собирается система
и наконец - мир
чтобы не дублировать компиляции, в промежуточных сборках собираются бинарники, которые используются в последующих шагах. по завершении /usr/portage/packages (или куда указывает PKGDIR) можно удалить. понятно, что времени на такое действо может потребоваться очень много. кстати никак не конфликтует со ссылкой на документацию, просто более прямолинейно
идея когда-то была взята на форуме gentoo
дважды собирается toolchain:
Код: Выделить всё
emerge -q1v glibc binutils gcc
emerge -q1bv glibc binutils gcc portageдвойной сборкой вы гарантируете что toolchain будет самособран консистентно. затем собирается система
Код: Выделить всё
emerge -qvbke systemи наконец - мир
Код: Выделить всё
emerge -qvke worldчтобы не дублировать компиляции, в промежуточных сборках собираются бинарники, которые используются в последующих шагах. по завершении /usr/portage/packages (или куда указывает PKGDIR) можно удалить. понятно, что времени на такое действо может потребоваться очень много. кстати никак не конфликтует со ссылкой на документацию, просто более прямолинейно
идея когда-то была взята на форуме gentoo