15

しばらく使用してビルドしてきたパッケージがあり、checkinstallそれを自動化したかった (選択項目を入力したり、値を貼り付けたりする代わりに、コマンド ライン経由で値を渡します...)

これが checkinstall のバグかどうかはわかりませんが、コマンド ライン--requiresオプションを使用して複数のパッケージを含めるにはどうすればよいですか。パッケージの最小バージョン (例: ) --requires="libvte9 (>= 0.28.2)"、または一度に複数のパッケージ (例:--requires "libvte9, libc6"

複数のパッケージのコマンド ライン引数で成功した人はいますか? 私は何か間違ったことをしていますか、それともこれはバグですか。

注: スクリプトを実行し、必要なオプション (10) を選択して、複数のパッケージと最小バージョン ( libvte9 (>= 0.28.2), libc6 (>= 2.13).また、これは、オプションを使用して debian パッケージをビルドする場合にも当てはまり-Dます。

4

4 に答える 4

26

Aleks-Daniel Jakimenko-A.'s answerReallumpi's oneを読み、実際のケースでいくつかのテストを行った後、次のことを行う必要があります。

  1. 必要なパッケージを区切るには,、スペースなしで (カンマ) を使用します。
  2. ()パッケージのバージョンを指定するときのエスケープ括弧。
  3. >パッケージのバージョンを指定するときのエスケープ(大記号) ;

make && sudo -k checkinstall \
    --pkgsource="https://github.com/raboof/nethogs/" \
    --pkglicense="GPL2" \
    --deldesc=no \
    --nodoc \
    --maintainer="$USER\\<$USER@$HOSTNAME\\>" \
    --pkgarch=$(dpkg \
    --print-architecture) \
    --pkgversion="0.8.1" \
    --pkgrelease="SNAPSHOT" \
    --pkgname=nethogs \
    --requires="libc6 \(\>= 2.4\),libgcc1 \(\>= 1:4.1.1\),libncurses5 \(\>= 5.5-5~\),libpcap0.8 \(\>= 0.9.8\),libstdc++6 \(\>= 4.1.1\),libtinfo5" \
    make install

出力

*****************************************
**** Debian package creation selected ***
*****************************************

This package will be built according to these values:

0 -  Maintainer: [ elopez<elopez@> ]
1 -  Summary: [ Net top tool grouping bandwidth per process ]
2 -  Name:    [ nethogs ]
3 -  Version: [ 0.8.1 ]
4 -  Release: [ SNAPSHOT ]
5 -  License: [ GPL2 ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ amd64 ]
8 -  Source location: [ https://github.com/raboof/nethogs/ ]
9 -  Alternate source location: [  ]
10 - Requires: [ libc6 (>= 2.4),libgcc1 (>= 1:4.1.1),libncurses5 (>= 5.5-5~),libpcap0.8 (>= 0.9.8),libstdc++6 (>= 4.1.1),libtinfo5 ]
11 - Provides: [ nethogs ]
12 - Conflicts: [  ]
13 - Replaces: [  ]
于 2016-02-12T10:32:04.227 に答える
12

checkinstall は,、複数のパッケージを分離するために使用します。それだけです。コンマです。周囲にスペースはありません。

于 2013-08-21T19:12:56.533 に答える
7

ブラケットをエスケープする必要があります。--requires "package \(= 1.0\)"

于 2014-01-07T16:43:25.680 に答える