Este foi o resultado de um erro bastante grave da minha parte. De alguma forma, jsoncpp0.install
foi renomeado para jsoncpp0install
(sem o período).
De qualquer forma, funciona agora.
Como muitos de vocês já sabem, estou construindo um pacote:)
Estou tão perto de terminar isso, então posso fazer o upload para o meu PPA, mas ainda há um pequeno problema: a biblioteca compartilhada (arquivo .so) não quer entrar no pacote.
Ok, aqui está o que eu tenho no meu arquivo de controle:
Source: jsoncpp Priority: extra Maintainer: ****** Build-Depends: debhelper (>= 7) Standards-Version: 3.8.3 Section: libs Homepage: http://jsoncpp.sf.net Package: jsoncpp-dev Section: libdevel Architecture: any Depends: jsoncpp0 (= ${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: jsoncpp0 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.
Agora, o jsoncpp-dev constrói bem e os arquivos de desenvolvimento aparecem no pacote mas a biblioteca compartilhada não aparece em seu pacote.
Veja como o jsoncpp0.dirs
se parece:
usr/lib
... e jsoncpp-dev.dirs
:
usr/lib usr/include
Meu Makefile atualizado é aqui .
Por favor, deixe-me saber se você precisar de mais informações.
Este foi o resultado de um erro bastante grave da minha parte. De alguma forma, jsoncpp0.install
foi renomeado para jsoncpp0install
(sem o período).
De qualquer forma, funciona agora.
Você realmente quer usar o sistema de compilação (scons) que o jsoncpp usa, já que ele provavelmente está bem adaptado para o pacote. Em primeiro lugar, os nomes dos pacotes que você está usando devem ser prefixados com lib, como libjsoncpp0 (supondo que o arquivo resultante seja /usr/lib/libjsoncpp.so.0) Para instalar os arquivos, você precisa ter esses arquivos listados nos arquivos .install, por exemplo, debian / libjsoncpp0.install teria /usr/lib/lib*.so.* para instalar o arquivo correto. O libjsoncpp-dev teria os arquivos em / usr / include / * e /usr/lib/lib*.so
O guia de empacotamento de bibliotecas no link pode ser complexo, mas tem algumas informações importantes sobre o caminho certo para empacotar bibliotecas para que elas se integrem bem no Debian & amp; Ubuntu.
Além disso, muitas vezes há pessoas disponíveis no # ubuntu-motu ou # ubuntu-packaging no irc.ubuntu.com para ajudar com as perguntas que você possa ter.