У меня есть несколько пакетов. Давайте назовем их A.deb
, B.deb
и C.deb
. Каждый пакет имеет соответствующий исходный пакет A.dsc
и A.tar.gz
, B.dsc
и B.tar.gz
, C.dsc
и C.tar.gz
. Пакеты зависят друг от друга: C.deb
зависит от B.deb
и B.deb
зависит отA.deb
Если я изменю A.deb
, мне нужно перестроить, B.deb
иначе он не будет работать. То же самое касается B.deb
и C.deb
. Есть ли способ автоматизировать этот процесс? Есть ли инструмент или сценарий, который сделает это для меня? Если нет, то как я могу автоматизировать это сам?
Кроме того, нет моих пакетов.
apt
package-management
software-installation
dpkg
dependencies
xiaodongjie
источник
источник
make
был придуман. Makefile включает в себя правила, которые определяют, что нужно перекомпилировать / перестраивать в зависимости от того, что изменилось.make
, и, как вы сказали сами, @xiaodongjie, цели make будут результирующими пакетами с объявленными зависимостями от пакета к пакету, а связанное действие для каждой цели будет командой, которая создает пакет. , Установитеmake-doc
и введите,info make
чтобы прочитать все об этом.Ответы:
Вы должны использовать Makefile с объявленными зависимостями сборки, например, следующим образом:
Обратите внимание, что отступ команды - это TAB.
При этом
Makefile
вы будете использовать командуи это будет определять, какие пакеты собирать и в каком порядке, а затем собирать их, все в зависимости от временных отметок файлов. Например, если, скажем,
B.tar.gz
имеет метку времени позже, чемB.deb
(т. Е. ПакетB
имеет новый источник), то это в первую очередь приведетB.deb
к перестройке, и, какC.deb
следствие,C.deb
к нему будет добавлен штамп позже , это также приведет к перестройке.источник
Ну, может быть, я полностью упускаю вашу точку зрения, но похоже, что вы перекомпилируете пакет A и хотите перекомпилировать пакеты B & C, для которых я бы просто использовал make-файл .
источник