Как получить .so файл для отображения в пакете?

Как многие из вас уже знают, я создаю пакет:)

Я так близок к завершению, что могу загрузить его в свой PPA, но есть еще одна небольшая проблема: разделяемая библиотека (файл .so) не хочет входить в пакет.

Хорошо, вот что у меня есть в моем контрольном файле:

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.

Теперь jsoncpp-dev работает нормально, и файлы разработки отображаются в пакете , но разделяемой библиотеки. не появляется в его пакете.

Вот как выглядит jsoncpp0.dirs:

usr/lib

... и jsoncpp-dev.dirs:

usr/lib
usr/include

Мой обновленный Makefile здесь .

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

1
задан 25 June 2015 в 21:13

2 ответа

Вы действительно хотите использовать систему сборки (scons), которую использует jsoncpp, так как она, вероятно, хорошо приспособлена для пакета. Во-первых, перед именами пакетов, которые вы используете, должен стоять префикс lib, например libjsoncpp0 (при условии, что в результате получается файл /usr/lib/libjsoncpp.so.0). Для установки файлов эти файлы должны быть перечислены в Файлы .install, например, debian / libjsoncpp0.install должны иметь /usr/lib/lib*.so.* для установки нужного файла. libjsoncpp-dev будет иметь файлы в / usr / include / * и /usr/lib/lib*.so

Руководство по упаковке библиотеки на http://www.netfort.gr.jp/ ~ dancer / column / libpkg-guide / libpkg-guide.html может быть сложной, но в ней есть некоторая важная информация о правильном способе упаковки библиотек, чтобы они хорошо интегрировались в Debian & amp; Ubuntu.

Кроме того, на irc.ubuntu.com часто есть люди, которые могут найти ответы на вопросы, которые могут возникнуть у вас на # ubuntu-motu или # ubuntu-packaging.

0
ответ дан 25 June 2015 в 21:13

Это было результатом довольно грубой ошибки с моей стороны. Каким-то образом jsoncpp0.install был переименован в jsoncpp0install (без точки).

В любом случае, это работает сейчас.

0
ответ дан 25 June 2015 в 21:13

Другие вопросы по тегам:

Похожие вопросы: