Re: dh and make

2013-06-02 Пенетрантность Andrey Rahmatullin
On Sun, Jun 02, 2013 at 12:15:44PM +0700, Maxim Nikulin wrote:
 Есть ли штатный способ попросить dh пересобрать изменившиеся
 исходники и сделать новые .deb файлы, если сборка пакетов уже
 делалась и закончилась успешно?
Редактировать руками debhelper.log.

-- 
WBR, wRAR


signature.asc
Description: Digital signature


Re: dh and make

2013-06-02 Пенетрантность Artem Chuprina
Maxim Nikulin - debian-russian@lists.debian.org  @ Sun, 02 Jun 2013 12:15:44 
+0700:

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

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

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

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

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

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

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

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

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

Видимо, новая мода.  К сожалению, надо сказать, что в прошлом там бывали
серьезные проблемы - многие пакеты не были рассчитаны на запуск сборки
не с нуля, мне приходилось ходить по этим граблям.  В том числе и по
граблям вида если запустить не с нуля, а с промежуточного отвала, то
собраться-то пакет соберется, но результат будет существенно отличаться
от сборки с нуля.  Правда, уже не помню, в каком пакете была такая
грабля.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87ppw53phr@wizzle.ran.pp.ru



dh and make

2013-06-01 Пенетрантность Maxim Nikulin

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

Что-то я запутался с 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 вообще не 
используется.



--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/koekdr$2vl$1...@ger.gmane.org