Skip to content

Debian/Ubuntu .deb package has invalid dependencies metadata #11

@rgl

Description

@rgl

I really appreciate that dd90165 introduced a way for the final Debian/Ubuntu package to have a list of its dependencies as metadata as seen in the Depends field:

$ dpkg-deb --info lms-2222.0.0-Linux.deb
new Debian package, version 2.0.
size 3136624 bytes: control archive=1256 bytes.
    484 bytes,    10 lines      control              
   1492 bytes,    20 lines      md5sums              
    211 bytes,    10 lines   *  postinst             #!/bin/bash
    107 bytes,     7 lines   *  prerm                #!/bin/bash
Architecture: amd64
Depends: gio-2.0, libcurl, libxerces-c, libnl-3, libnl-route-3, libxml2, libace-6.5.12 (>= 6.5.12+dfsg), libc6 (>= 2.15), libcurl4 (>= 7.16.2), libgcc-s1 (>= 3.0), libglib2.0-0 (>= 2.37.3), libnl-3-200 (>= 3.2.7), libnl-route-3-200 (>= 3.2.7), libstdc++6 (>= 9), libxerces-c3.2, libxml2 (>= 2.7.4)
Description: Local Managability Service
Maintainer: linux-mei@linux.intel.com
Package: lms
Priority: optional
Section: utils
Version: 2222.0.0
Installed-Size: 12938

But those dependencies are not quite right and need to be fixed somehow. This is what happens when we try to install the package:

# apt-get install -y lms
Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 lms : Depends: gio-2.0 but it is not installable
       Depends: libcurl but it is not installable
       Depends: libxerces-c but it is not installable
       Depends: libnl-3 but it is not installable
       Depends: libnl-route-3 but it is not installable
E: Unable to correct problems, you have held broken packages.

None of the above not installable packages really exist. For example, libcurl should be dropped from the Depends list, because the actual dependency is already there as libcurl4.

I've updated #3 to include a test step in the Dockerfile that tries to install the package, maybe that can help troubleshoot this more quickly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions