编译好的包的路径在哪里

编译好的包的路径在哪里

debian 上从源代码编译的包的路径在哪里?

例如:

git clone git://github.com/lightspark/lightspark.git
cd lightspark
dpkg-buildpackage
[...long output...]
dpkg-buildpackage: full upload; Debian-native package (full source is included)

那么包就编译成功了,但是包(.deb)和源码包在哪里呢?

答案1

生成的二进制文件和源代码包将写入到顶级源目录的上一级目录中。在您的情况下,顶级源目录是lightspark,因此它将位于上面的目录中lightspark。然而,通过查看一些广泛的 Debian 打包文档,您可以轻松发现这一点。这Debian 新维护者指南, 例如。

提示。复制源码时,为每个源码包创建一个单独的目录,然后将源码放在子目录中。例如

/usr/local/src/lightspark$ git clone git://github.com/lightspark/lightspark.git

然后生成的 Debian 软件包将位于/usr/local/src/lightspark.

答案2

如果您不知道在哪里查找有关某些内容的文档,如果您想查看进程正在处理哪些文件,Linux 上有一个非常有用的工具strace(如果您使用的是 Solaris,则可以以truss相同的方式使用)它将消息写入 stderr,您可以将其捕获到文件中:

$ strace -f dpkg-buildpackage 2> ../output

然后检查 ../output 文件中是否有以下条目:

[pid  6545] creat("../lightspark_0.7.2-0ubuntu1~ppa1_amd64.deb", 0644) = 3
[pid  6552] creat("../lightspark-common_0.7.2-0ubuntu1~ppa1_amd64.deb", 0644) = 3
[pid  6559] creat("../browser-plugin-lightspark_0.7.2-0ubuntu1~ppa1_amd64.deb", 0644) = 3
[pid  6566] creat("../lightspark-dbg_0.7.2-0ubuntu1~ppa1_amd64.deb", 0644) = 3

显示正在创建的文件。您还可以查找“开放”呼叫:

$ grep "\.deb\"" ../output | grep "open" | grep -v ENOENT
...
[pid  6591] open("../lightspark_0.7.2-0ubuntu1~ppa1_amd64.deb", O_RDONLY) = 3
...

相关内容