コンパイルされたパッケージのパスはどこにありますか?

コンパイルされたパッケージのパスはどこにありますか?

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

生成されたバイナリとソースコードパッケージは、最上位のソースディレクトリより1レベル上のディレクトリに書き込まれます。あなたの場合、トップレベルのソースディレクトリはlightspark上記のディレクトリにありますlightspark。しかし、広範な Debian パッケージング文書を見ると、それを簡単に見つけることができます。これDebian 新しいメンテナンスガイド、例えば。

ヒント。ソースコードをコピーするときは、ソースパッケージごとに別々のディレクトリを作成し、ソースコードをサブディレクトリに配置します。例えば

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

生成されたDebianパッケージは/usr/local/src/lightspark

答え2

何かに関するドキュメントがどこにあるのかわからない場合、またはプロセスがどのファイルで作業しているのかを知りたい場合は、Linuxで非常に便利なツールがあります(straceSolarisを使用している場合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
...

関連情報