Как запустить параллельный make с debuild?
Я пытаюсь сделать пакет программного обеспечения, которое я (со) написал. я использую
debuild -i -us -uc -b
И в принципе все работает отлично. Чтобы сократить время компиляции, я бы хотел отладить параллельный запуск make (как я обычно это делаю, запустив make -j4
, например). Я нашел несколько мест в Интернете, которые предлагают следующее:
debuild -eDEB_BUILD_OPTIONS="parallel=4" -us -uc -b
debuild -j4 -us -uc -b
Другой сайт предложил добавить код к debian/rules
файл, который в основном устанавливает
MAKEFLAGS += -j4
Тем не менее, ни один из них, кажется, не работает. Я что-то пропустил? или я должен что-то изменить в настройках autoconf/automake источника?
4 ответа
Он должен быть включен в debian/rules. Если пакет использует dh, в debian / rules есть такая строка:
dh $@
Изменить это на
dh $@ --parallel
Тогда ваши команды будут работать, по крайней мере, DEB_BUILD_OPTIONS="parallel=4"
Я рекомендую использовать DEB_BUILD_OPTIONS
переменная окружения, как описано в разделе 4.9.1 Руководства по политике Debian.
DEB_BUILD_OPTIONS='parallel=4' debuild -i -us -uc -b
С debhelper 10 вам больше не нужно поставлять --parallel
вариант в debian/rules
; теперь он запускает параллельные сборки по умолчанию. Смотрите примечания к выпуску
Поэтому ответ заключается в том, чтобы просто установить содержание debian/compat
в 10
и обновить debhelper
версия для >=10
в debian/control
,
Подводя итог всему вышесказанному, это сработало для меня:
export DEB_BUILD_OPTIONS='parallel=16'
fakeroot debian/rules binary