Árvore de dependências do pacote de fontes do Ubuntu

10

Eu tenho alguns pacotes. Vamos chamá-los de A.deb , B.deb e C.deb . Cada pacote tem um pacote de origem correspondente A.dsc e A.tar.gz , B.dsc e B.tar.gz , C.dsc e C.tar.gz . Os pacotes dependem uns dos outros: C.deb depende de B.deb e B.deb depende de A.deb

Se eu modificar A.deb , preciso recriar B.deb ou não funcionará. O mesmo vale para B.deb e C.deb . Existe uma maneira de automatizar esse processo? Existe talvez uma ferramenta ou script que faça isso por mim? Se não, como eu poderia automatizar isso sozinho?

Além disso, não há meus pacotes.

    
por xiaodongjie 02.12.2015 / 05:55

2 respostas

3

Você usaria um Makefile com as dependências de compilação declaradas, por exemplo, da seguinte maneira:

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>

Note que o recuo do comando é uma TAB.

Com esse Makefile , você usaria o comando

make

e isso funcionaria em quais pacotes construir e em qual ordem, e depois construí-los, tudo dependendo do registro de data e hora dos arquivos. Por exemplo, se o B.tar.gz tiver um registro de data e hora posterior a B.deb (ou seja, pacote B tem nova origem), isso causará primeiramente que B.deb seja recriado e, se isso for feito depois de C.deb , isso faria com que C.deb fosse recriado também.

    
por Ralph Rönnquist 10.12.2015 / 23:19
1

Bem, talvez eu esteja totalmente errando o seu ponto, mas parece que você está recompilando o pacote A e quer recompilar os pacotes B & amp; C, que eu simplesmente usaria um makefile para.

    
por karoshi 10.12.2015 / 14:31