如何让.so 文件显示在包中?

如何让.so 文件显示在包中?

正如你们许多人现在所知,我正在构建一个包:)

我已经快要完成了,所以我可以把它上传到我的 PPA,但还有一个小问题:共享库(.so 文件)不想进入包中。

好的,这是我的控制文件中的内容:

来源:jsoncpp
优先级:额外
维护者:******
构建依赖:debhelper(>= 7)
标准版本:3.8.3
部分:libs
主页:http://jsoncpp.sf.net

软件包:jsoncpp-dev
部分:libdevel
建筑类型:任意
依赖:jsoncpp0(= ${binary:Version})
描述:C++ 的 JSON 解析库
 jsoncpp 是一个 C++ 库,可以很容易地
 读取/写入 JSON 数据。
 该软件包包含必要的开发工具
 创建使用 jsoncpp 的应用程序。

软件包:jsoncpp0
部分:libs
建筑类型:任意
依赖:${shlibs:Depends}、${misc:Depends}
描述:C++ 的 JSON 解析库
 jsoncpp 是一个 C++ 库,可以很容易地
 读取/写入 JSON 数据。

现在,jsoncpp-dev 构建成功,开发文件显示在包中共享库未出现在其包中。

如下所示jsoncpp0.dirs

usr/lib

...和jsoncpp-dev.dirs​​:

usr/lib
usr/包含

我更新的 Makefile 是这里

如果您需要更多信息,请告诉我。

答案1

您确实希望使用 jsoncpp 使用的构建系统 (scons),因为它可能非常适合该软件包。首先,您使用的软件包名称应以 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 和 Ubuntu 中。

此外,irc.ubuntu.com 上的 #ubuntu-motu 或 #ubuntu-packaging 上也经常有人可以帮助您解答问题。

答案2

这是我的严重失误造成的。不知怎么地jsoncpp0.install被重新命名为jsoncpp0install(没有句号)。

无论如何,它现在起作用了。

相关内容