3

In Kubuntu 17.10 I had SafeQ client installed for printing management. I needed to install two deb packages, libcrafter_0.0.2_all.deb and ysoft-client_4.0-87_all.deb from here.

However, now in Kubuntu 18.04 I can't install those two packages. For libcrafter_0.0.2_all.deb if I do

sudo dpkg -i libcrafter_0.0.2_all.deb

I get

dpkg: error processing archive libcrafter_0.0.2_all.deb (--install):
 parsing file '/var/lib/dpkg/tmp.ci/control' near line 3 package 'libcrafter':
 error in 'Version' field string '0.0.2-': revision number is empty
Errors were encountered while processing:
 libcrafter_0.0.2_all.deb

How can I install this, no metter what? I tried also

sudo dpkg --force-all -i libcrafter_0.0.2_all.deb

'Revision number is empty' shouldn't be a reason for not installing. This package is done by some student for his bachelor theses and I don't think it will be updated.

1 Answer 1

6

Unfortunately the libcrafter package wasn’t built correctly: its version is given as “0.0.2-”, which isn’t an acceptable version number in Debian (as specified in the relevant section of Debian policy). Older versions of dpkg accepted such version numbers, but that was fixed in version 1.18.19 (and I’m surprised you were able to install the packages in 17.10 since it has dpkg 1.18.24).

However this is fixable:

  1. Download the existing package.
  2. Extract it:

    dpkg-deb -R libcrafter_0.0.2_all.deb libcrafter-0.0.2
    
  3. Fix its version number and a couple of other issues with the package:

    sed -i 's/0.0.2-$/0.0.2-1/;s/all$/amd64/;s/java$/libs/' libcrafter-0.0.2/DEBIAN/control
    
  4. Rebuild the package:

    dpkg-deb -b libcrafter-0.0.2 .
    
  5. Install the resulting package:

    sudo dpkg -i libcrafter_0.0.2-1_amd64.deb
    
  6. Clean up:

    rm -rf libcrafter_0.0.2_all.deb libcrafter-0.0.2
    

    (leaving the new package for later re-use).

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .