Дерево зависимостей исходного пакета Ubuntu

10

У меня есть несколько пакетов. Назовем их 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 . Есть ли способ автоматизировать этот процесс? Есть ли инструмент или сценарий, который сделает это для меня? Если нет, как я могу автоматизировать его самостоятельно?

Кроме того, нет моих пакетов.

    
задан xiaodongjie 02.12.2015 в 04:55
источник

2 ответа

3

Вы должны использовать Makefile с объявленными зависимостями сборки, например, следующим образом:

default: A.deb B.deb C.deb

C.deb: B.deb C.dsc C.tar.gz
        <command(s) to build C.deb>

B.deb: A.deb B.dsc B.tar.gz
        <command(s) to build B.deb>

A.deb: A.dsc A.tar.gz
        <command(s) to build A.deb>

Обратите внимание, что отступ команды - это TAB.

С этим Makefile вы должны использовать команду

make

, и это будет определять, какие пакеты создавать и в каком порядке, а затем строить их, все зависит от временных меток файлов. Например, если B.tar.gz имеет временную метку позже B.deb (т. Е. Пакет B имеет новый источник), то это приведет к тому, что сначала будет восстановлен B.deb , и поскольку это сделает его штампом позже, чем C.deb , это приведет к перестройке C.deb .

    
ответ дан Ralph Rönnquist 10.12.2015 в 22:19
источник
1

Ну, может быть, я полностью пропущу вашу мысль, но похоже, что вы перекомпилируете пакет A и хотите перекомпилировать пакеты B & amp; C, для которого я просто попросил бы makefile для.

    
ответ дан karoshi 10.12.2015 в 13:31