LINUX.ORG.RU

hook portage для замены make.conf

 , ,


0

1

в make.conf есть:

MAKEOPTS="-j3 -l0.2"

Но я не могу сделать что-то типа, потому что make.conf не скрипт: MAKEOPTS=«-jnproc -l0.2»

Как выкрутиться? По идее надо сделать скелет make.conf.example и делать cp -prf make.conf.example make.conf и далее sed’ом заменять в нём то, что нужно. Вопрос: если ли хук, который работает раньше, чем emerge начнет читать make.conf(чтобы успеть заменить содержимое). Или, может быть, есть какой-то более элегантный способ, чтобы это сделать?

★★★
Ответ на: комментарий от shell-script

Так не особо хорошо т.к алиасы могут быть недоступны на этапе конфигурирования системы

serg002 ★★★
() автор топика

Но я не могу сделать что-то типа, потому что make.conf не скрипт: MAKEOPTS=«-jnproc -l0.2»

Нераспарсил. Можешь как-то другими словами объяснить?

Тебе нужно чтобы для определенного пакета выставлялись другие переменные которые в make.conf? Для этого есть /etc/portage/package.env . У меня там для определённых пакетов выставляются другие опции компиляции или каталог сборки (маленькие пакеты собираются в tmpfs, большие на диске).

Kroz ★★★★★
()

Добавь в /etc/rc.local генерацию, на случай если вдруг проц поменяешь и тебе лень будет вручную поменять там число.

firkax ★★★★★
()
Ответ на: комментарий от Kroz

Он хочет чтобы при каждой компиляции проверялось не отросли ли у проца новые ядра и их количество прописывалось в конфиг в -j

firkax ★★★★★
()
Ответ на: комментарий от firkax

это подход раз настроил и забыл. Не один же компьютер, конфигурации разные. Мне больше делать нечего, как за этим всем вручную следить

serg002 ★★★
() автор топика
Последнее исправление: serg002 (всего исправлений: 1)

MAKEOPTS=«-jnproc -l0.2»

А просто "-j -l0.2" тебя не устроит? Какой смысл ограничивать число процессов, если ты и так порог загрузки ограничиваешь.

devl547 ★★★★★
()
Ответ на: комментарий от devl547

Это ситуативно так надо, хочется в этом месте забить формулу и просто поставить percentage=25 и формула это загрузит и посчитает

serg002 ★★★
() автор топика
Ответ на: комментарий от serg002

Из такого подхода и таких мелочей складывается отвратительная залаганность почти всего современного софта.

firkax ★★★★★
()
Ответ на: комментарий от serg002

Я ответил уже - вставь в /etc/rc.local это вместо хуков, всё равно пока комп включён этот конфиг не изменитсяю

firkax ★★★★★
()
Ответ на: комментарий от serg002

Не один же компьютер, конфигурации разные.

Если у тебя много компьютеров, то количество CPU - это не вся твоя проблема. Есть hostname, параметры управления питанием (для ноутбуков нужно, для десктопов не очень), конфигурация железа и т. п.

У меня есть каталог /profile - мой каталог, где хранятся настройки специфичные для конкретной машины. На файлы из этого каталог проставляются ссылки с /etc . На этапе распаковки stage3 (а на самом деле до этого) на компьютер заносится этот каталог.

Генерить количество CPU после установки системы - глупость, так как после установки системы у тебя количество CPU не поменяется. Количество CPU нужно настроить один раз.

Так не особо хорошо т.к алиасы могут быть недоступны на этапе конфигурирования системы

При правильной конфигурации bash буду доступны всегда.

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

Зачем такие мелочи перекладывать на профили. Ты мне предлагаешь решить задачу другим путём.

serg002 ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.