cmake dep verify
Closed, ResolvedPublic

Description

Like the qml dep verifier we need a cmake dep verify thing.

Example:
libkf5package-dev imports bin/kpackagetool5 as target, but the -dev package doesn't actually pull it in as dependency resulting in errors in dependencies of kpackage:

CMake Error at /usr/lib/x86_64-linux-gnu/cmake/KF5Package/KF5PackageTargets.cmake:90 (message):
  The imported target "KF5::kpackagetool5" references the file

     "/usr/bin/kpackagetool5"

  but this file does not exist.  Possible reasons include:

  * The file was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and contained

     "/usr/lib/x86_64-linux-gnu/cmake/KF5Package/KF5PackageTargets.cmake"

  but not all the files it references.

Call Stack (most recent call first):
  /usr/lib/x86_64-linux-gnu/cmake/KF5Package/KF5PackageConfig.cmake:83 (include)
  /usr/share/cmake-3.5/Modules/CMakeFindDependencyMacro.cmake:65 (find_package)
  /usr/lib/x86_64-linux-gnu/cmake/KF5Declarative/KF5DeclarativeConfig.cmake:83 (find_dependency)
  CMakeLists.txt:57 (find_package)

Other than actually having depednencies of kpackage fail at build time we have no way to know that kpackage's deps are broken. We should test this similarly to the qml dep verifier:

  1. Add repo
  2. Install each package in sequence
  3. If the package has a /cmake/ directory import the cmake package in a simple dummy script (not sure how that can be done)
  4. Make sure the dummy script runs through cmake without error (i.e. no such error as above is raised)
sitter created this task.Aug 5 2016, 9:29 AM

Proposed idea above sounds good, roll with it

jriddell moved this task from Discussing to Ready To Do on the Neon board.Sep 6 2016, 10:33 AM
jriddell moved this task from Ready To Do to Review on the Neon board.Jul 25 2017, 11:56 AM
jriddell closed this task as Resolved.Oct 3 2018, 9:30 AM
jriddell claimed this task.