[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

dh and make



Приветствую.

Что-то я запутался с debhelper.

Файл debian/rules при сборке пакета - это Makefile. Идея make в том, чтобы по набору правил сделать все что нужно, но не делать лишней работы. Время от времени требуется что-нибудь подшаманить в каком-нибудь пакете, но с первого раза иногда ошибаешься, и пакет собирается неправильно. Обычно можно было подправить файлы и запустить компиляцию и сборку пакета без clean. В результате успешно собирался новый пакет. При этом заново компилировалось только то, что было изменено, и это существенно экономило время. В самом конце, когда все начинало работать, можно было пересобрать пакет начисто.

Сейчас рекомендуют писать debian/rules вида
%:
	dh $@
с некоторыми override. Естественно, зависимости между целями при этом теряются. Как я понял, dh знает, в каком порядке надо запускать dh_ скрипты, и сохраняет успешно закончившиеся команды в *.debhelper.log. Когда запускаешь его второй раз, то он не обращает внимания, какие файлы изменились, и просто начинает с команды, которую не нашел в .log файле. Если один раз пакет собрался, то второй раз dh вообще ничего не будет делать, пока не вызовешь соответствующий clean.

Есть надежда, что я пропустил, что-то очень простое и важное.

Есть ли штатный способ попросить dh пересобрать изменившиеся исходники и сделать новые .deb файлы, если сборка пакетов уже делалась и закончилась успешно? Чтобы не ждать, пока выполнится сборка с нуля.

Редактировать руками debhelper.log как-то неинтересно.

--
Максим Никулин

P.S. В hello-debhelper цели и зависимости задаются руками, компиляция прибита к configure с помощью файлика build. Скрипт dh вообще не используется.


Reply to: