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

Re: Чем плох рекурсивный make?



Artem Chuprina wrote:
> 
> Объясняю.  Берем (для примера урезанный, существенное сохранено) вариант
> того самого debian/rules, который тебе вроде как нравился.
> 
> install: 	configure install-stamp
> install-stamp:
>         make -C .. install DESTDIR=debian/tmp
>         touch $@
> 
> Выполнили один раз.  Результат, допустим, не понравился.
> 
> Изменяем проект (допустим, накладываем патч).  Даже, допустим, собираем
> результат.  Там же, в проекте.  Запускаем debian/rules install, дабы
> заново собрать пакет (на самом деле, естественно, запускаем binary, а
> оно позовет install - там это будет в еще два шага, я их не привел).
> Вопрос.  Какая версия будет в пакете в результате?
> 
> Для особо невнимательных сразу ответ.  Старая.  В смысле - та, которая
> была, а не обновленная.  Оно просто не попытается ничего инсталлировать.
> 
> Почему?  Да потому что ему неоткуда знать, что там что-то изменилось.
> Оно видит только, что есть файл install-stamp, а раз он есть, делать
> ничего не надо.
> 
> То есть этот debian/rules - система _однократной_ сборки.  В том смысле,
> что гарантирует корректный результат только если сборка - первая.  Может
> быть, первая после debian/rules clean, а может, и только после
> распаковки, этого я не проверял.
Фигню говорите. В этом примере у install должна быть зависимость от
build - и всё будет нормально, в какой бы момент сборка не стартовала и
после чего.

-- 
Eugene V. Lyubimkin aka JackYF

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: