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で非常に便利なツールがあります(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
...