How to manage multiple package dependencies using checkinstall?

I have a package that I created with checkinstall for a while, and I wanted to automate it (pass the values ​​on the command line, rather than entering a selection, pasting the value into, etc ..)

I'm not sure if this is a validation error or not, but how to enable multiple packages using the --requires command line. It seems that barf, if I include the minimum version of the package (for exmple --requires="libvte9 (>= 0.28.2)" ) or several packages at the same time (for example, --requires "libvte9, libc6" )

Has anyone had better success with command line arguments for multiple packages? Am I doing something wrong, or is this a mistake.

Note. If I run the script and select the β€œRequired” parameter (10), and paste in my entire line with several packages and minimum versions (for example, libvte9 (>= 0.28.2), libc6 (>= 2.13) ), it works fine, it just seems to be included on the command line, which has problems. This is also related to creating a debian package using the -D option.

+6
source share
3 answers

checkinstall uses to split multiple packages. What is it, a comma, without any spaces around it.

+8
source

After reading Aleks-Daniel Jakimenko-A. answer , Reallumpi one and do some tests in real life, here is what you should do:

  • use , (comma) without spaces to separate the necessary packages;
  • escape ( and ) brackets when specifying the package version;
  • escape > (larger sign) when specifying the package 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: [ ] 
+14
source

You need to avoid parentheses, for example. --requires "package \(= 1.0\)"

Hth

+6
source

Source: https://habr.com/ru/post/952236/


All Articles