How to manage multiple package dependencies with checkinstall?
After reading Aleks-Daniel Jakimenko-A.'s answer, Reallumpi's one and doing some tests on a real life case, here is what you should do:
- use
,
(comma) without spaces to separate required packages ; - escape
(
and)
parenthesis when specifying package's version ; - escape
>
(greater sign) when specifying package's version ;
Example
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
Output
********************************************* 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: [ ]
checkinstall uses ,
to separate multiple packages. That's it, a comma, without any spaces around it.