![DebianやRed HatなどのLinuxディストリビューションでは、1つのソースパッケージから複数のバイナリパッケージを作成する方法は? [閉鎖]](https://linux33.com/image/173821/Debian%E3%82%84Red%20Hat%E3%81%AA%E3%81%A9%E3%81%AELinux%E3%83%87%E3%82%A3%E3%82%B9%E3%83%88%E3%83%AA%E3%83%93%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E3%81%AF%E3%80%811%E3%81%A4%E3%81%AE%E3%82%BD%E3%83%BC%E3%82%B9%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%8B%E3%82%89%E8%A4%87%E6%95%B0%E3%81%AE%E3%83%90%E3%82%A4%E3%83%8A%E3%83%AA%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AF%3F%20%5B%E9%96%89%E9%8E%96%5D.png)
Debian、Red Hat、Gentoo、Ubuntu、その他のLinuxディストリビューションが1つのパッケージから複数のバイナリパッケージを生成する方法を知りたいです。パッケージをコンパイルすると、すべてインストールされます。だから私の質問は次のようになります
どうやって分けるの?
依存関係をどのように確認しますか?
答え1
展開パッケージをビルドすると、成果物はターゲットの場所に直接インストールされません。代わりに、一時的な場所にインストールされ、その場所のコンテンツを使用してパッケージが構築されます。
複数のバイナリパッケージを構築するソースパッケージの場合、上記の最後のステップは複数のターゲットパッケージに分割されます。各ターゲットパッケージには、含める必要があるファイルが一覧表示されます。個々の.install
ファイルを見る私のlibevdev
パッケージたとえば、ビルドはlibevdev
次のファイルをインストールします。
debian/tmp/usr/include/libevdev-1.0/libevdev/libevdev.h
debian/tmp/usr/include/libevdev-1.0/libevdev/libevdev-uinput.h
debian/tmp/usr/lib/x86_64-linux-gnu/libevdev.la
debian/tmp/usr/lib/x86_64-linux-gnu/libevdev.a
debian/tmp/usr/lib/x86_64-linux-gnu/libevdev.so.2.3.0
debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig/libevdev.pc
debian/tmp/usr/bin/libevdev-tweak-device
debian/tmp/usr/bin/mouse-dpi-tool
debian/tmp/usr/bin/touchpad-edge-detector
debian/tmp/usr/share/man/man3/libevdev.3
(をインストールして得られるものと同じsudo make install
)、これらは次のように分けられます。
libevdev2
:/usr/lib/x86_64-linux-gnu/libevdev.so.2.3.0
libevdev-dev
:/usr/include/libevdev-1.0/libevdev/libevdev.h /usr/include/libevdev-1.0/libevdev/libevdev-uinput.h /usr/lib/x86_64-linux-gnu/libevdev.a /usr/lib/x86_64-linux-gnu/pkgconfig/libevdev.pc /usr/share/man/man3/libevdev.3
libevdev-tools
:/usr/bin/libevdev-tweak-device /usr/bin/mouse-dpi-tool /usr/bin/touchpad-edge-detector
(これはudeb
特別なケースなので、ここで議論する価値がないようです。)