Bug 315105 - kdesrc-build should treat "obvious" dependencies as implicit
Summary: kdesrc-build should treat "obvious" dependencies as implicit
Status: RESOLVED FIXED
Alias: None
Product: kdesrc-build
Classification: Developer tools
Component: project metadata (other bugs)
Version First Reported In: Git
Platform: Other Linux
: NOR minor
Target Milestone: ---
Assignee: Michael Pyne
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-02-14 02:37 UTC by Michael Pyne
Modified: 2024-03-03 17:38 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Pyne 2013-02-14 02:37:11 UTC
Consider the kgoldrunner application. It depends on libkdegames, like most (all?) of the other games under kde/kdegames.

It would make a lot of sense to include libkdegames as an implicit dependency of kgoldrunner, much as asking for kde/kdegames causes all modules under kde/kdegames to be pulled into the build.

We can't simply include all dependencies of a module as you'd end up with insanity like trying to build Qt, soprano, kdelibs, etc. from master just to e.g. build kcalc. So there would need to be a good criteria for which modules to implicitly include.

My current proposal is: If the module being built is a leaf node of the project database, then include any marked dependencies that have the same parent (i.e. any sibling dependencies).
Comment 1 Aasif Khan 2019-07-24 12:46:52 UTC
I am interested in understanding and resolving this issue as I am interested in understanding how kdesrc-build works and would like to learn more. Could you please point to a starting point in this issue's resolution? Thanks a lot!
Comment 2 Michael Pyne 2019-08-01 02:11:29 UTC
Hi Aasif! We recently had a new contributor add a new dependency resolver to kdesrc-build which also helps set the right conditions for treating non-KDE modules as dependencies.

Please see the long thread at https://invent.kde.org/kde/kdesrc-build/merge_requests/6 as a starter.

You might also look at https://invent.kde.org/kde/kdesrc-build/tree/master/doc/source-reference which has a little bit of detail on kdesrc-build internals.

Depending on your waking hours I'm also sometimes available on Freenode IRC in #kde-devel as the user "mpyne". I'm typically there from 1900-2300 New York time during the work week and somewhat longer on weekends.
Comment 3 Andrew Shark 2024-03-03 17:38:26 UTC
Each project has now .kde-ci.yml, in each kde game the dependency is listed. For example:
kde/kdegames/kgoldrunner: kde/kdegames/libkdegames

See https://invent.kde.org/sysadmin/repo-metadata/-/blob/master/dependencies/dependency-data-kf6-qt6?ref_type=heads