Como fazer o upload do pacote com dependências para o meu PPA?

13

Eu fiz um pacote para o meu PPA e fiz o upload dele. Foi construído sem problemas.

Então eu fiz outro pacote que dependia do primeiro e fiz o upload dele. Ele falhou porque não conseguiu encontrar os arquivos no primeiro pacote. Isso me leva a acreditar que o primeiro pacote nem foi instalado.

Como posso ter certeza de que o primeiro pacote está instalado antes de tentar criar o segundo pacote?

O arquivo de controle para o primeiro pacote (libjsoncpp):

Source: jsoncpp
Priority: extra
Maintainer: Nathan Osman 
Build-Depends: debhelper (>= 7)
Standards-Version: 3.8.3
Section: libs
Homepage: http://jsoncpp.sf.net

Package: jsoncpp-dev
Section: libdevel
Architecture: any
Depends: libjsoncpp (= ${binary:Version})
Description: JSON parsing library for C++
 jsoncpp is a C++ library that makes it easy to
 read / write JSON data.
 .
 This package contains the development tools necessary
 to create applications that use jsoncpp.

Package: libjsoncpp
Section: libs
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: JSON parsing library for C++
 jsoncpp is a C++ library that makes it easy to
 read / write JSON data.

O arquivo de controle para o segundo (libsopp):

Source: sopp
Priority: extra
Maintainer: Nathan Osman 
Build-Depends: debhelper (>= 7)
Standards-Version: 3.8.3
Section: libs
Homepage: http://stackoverflow.quickmediasolutions.com

Package: sopp-dev
Section: libdevel
Architecture: any
Depends: libsopp (= ${binary:Version}), jsoncpp-dev
Description: A C++ library for interfacing with StackExchange sites.
 so++ is a C++ library that wraps the functionality of the StackOverflow
 API. It provides access to all of the StackExchange sites.
 .
 This package contains the development files necessary to write software
 that uses so++.

Package: libsopp
Section: libs
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, libjsoncpp
Description: A C++ library for interfacing with StackExchange sites.
 so++ is a C++ library that wraps the functionality of the StackOverflow
 API. It provides access to all of the StackExchange sites.
    
por Nathan Osman 06.08.2010 / 03:36

1 resposta

10

Seu segundo pacote (sopp) precisa especificar que precisa do primeiro para construir ; a dependência que você especificou (com Depends: ) só irá lidar com a instalação.

Para adicionar uma dependência de compilação, adicione isso à parte superior ( Source: ) do seu arquivo de controle:

Build-Depends: jsoncpp-dev

Você deve então soltar o jsoncpp da linha Depends , pois a macro shlibs:Depends deve resolver isso por si só.

    
por Jeremy Kerr 06.08.2010 / 05:21