Как запустить параллельный 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
Другие вопросы по тегам