T3689: Add abi compliance checker to CI

Sandro Knauß noreply at phabricator.kde.org
Wed Dec 12 19:48:25 GMT 2018


knauss added subscribers: kde-frameworks-devel, dfaure.
knauss added a comment.


  I now looked at every repository that failed to build successfully a ABI dump for Frameworks.
  As I'm not really deep into the Framworks code, so I'm unsure, if those are real issues or if those Frameworks need special handling.
  Please give me any response you have to those issues. (@aacid , @dfaure, @kde-frameworks-devel)
  
  From 79 packages inside Frameworks a lot run successfully. From those 5 packages I'm quite sure, that those are real issues, that needs to get fixed:
  
  - kdelibs4support
    - missing dependency to frameworks/kitemmodels
    - failed to find #include <kns3/downloaddialog.h>
  
  F6473565: log.txt <https://phabricator.kde.org/F6473565>
  
  - kwayland
    - KWayland/Client/xdgforeign_v2.h ->  missing `include "xdgforeign.h"`
  
  - kjs
    - no include/KF5/kjs in INTERFACE_INCLUDE_DIRECTORIES
    - CompileState.h includes non exported opcodes.h and bytecodes/opcodes.h #401955
  
  *plasma-framework
  
  - no include/KF5/KF5PlasmaQuick in INTERFACE_INCLUDE_DIRECTORIES for KF5PlasmaQuick
  
  compiles but has still error on the log:
  
  - networkmanager-qt
    - failing building headers
  
  F6473566: log.txt <https://phabricator.kde.org/F6473566>
  
  And some repositories, that have no public library. Is this intended?
  
  - KF5NewStuffQuick has no library (KF5NewStuff is fine)
  - extra-cmake-modules
  - kdesignerplugin
  - kinit
  - qqc2-desktop-style
  
  How this ABI checker tool works. As input the tool uses the output made while installing the package.
  
  - It scans this output for installs of ".*Config.cmake$" files
  - runs cmake in trace-expand mode for "find_package({name} CONFIG REQUIRED)"
  - scans this cmake output for
    - PACKAGE_VERSION -> this is the library version
    - IMPORTED_SONAME_DEBUG,  -> to get the soversion
    - IMPORTED_LOCATION_DEBUG -> the the path of the lib
    - INTERFACE_INCLUDE_DIRECTORIES -> all needed include directories
  
  - each exported header file is tried to be compiled and symbols are extracted.
  
  The sourcecode of this script you find in sysadmin/ci-tooling/helpers/create-abi-dump.py

TASK DETAIL
  https://phabricator.kde.org/T3689

To: knauss
Cc: dfaure, kde-frameworks-devel, bcooksley, sysadmin, scarlettclark, aacid, knauss, alexeymin, kaning, blazquez
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20181212/e6734db0/attachment.html>


More information about the Kde-frameworks-devel mailing list