DebianやRed HatなどのLinuxディストリビューションでは、1つのソースパッケージから複数のバイナリパッケージを作成する方法は? [閉鎖]

DebianやRed HatなどのLinuxディストリビューションでは、1つのソースパッケージから複数のバイナリパッケージを作成する方法は? [閉鎖]

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特別なケースなので、ここで議論する価値がないようです。)

関連情報