Before:
"Don't use module libaccounts-qt on line 20 of /path/kdesrc-buildrc, use options libaccounts-qt"
but line 20 is unrelated, some global option.
After:
"Don't use module libaccounts-qt on line 20 of /path/extragear/utils/kdesrc-build/kf5-workspace-build-include, use options libaccounts-qt"
REVIEW: 127910
Can't locate ksb/Debug.pm in @INC (you may need to install the ksb::Debug module) (@INC contains: /home/dfaure/d/kde/inst/kde_frameworks/bin/modules /home/dfaure/d/kde/inst/kde_frameworks/bin/../share/apps/kdesrc-build/modules....)
The "/apps/" was missing in the actual install path.
This still takes too long for most shell shortcuts, but will make it
possible to do things like setup shell functions to cd right to a build
dir based only on a module name, check for which git branch a module is
resolved to, or see what config file options a module ended up falling
under.
As part of the documentation changes, I also ported the docs to KF5.
JSON::PP is included in core Perl so one less dependency to look after,
and it's fast enough (for what we need) that there's really no point to
making it possible to look for JSON::XS.
This has the nice side effect of (finally) making KDEXMLReader free of
per-class global state (I keep forgetting Perl supports closures...),
but mostly this is to keep pace with the way we're using the source
repositories and grabbing potentially many dozens of modules at once
from the XML data. Better to just read it once and query rather than
parse anew for each and every set of queries.
The docs have been at docs.kde.org for a long time, now they're the one
and only recommended location. But I forgot to update the URLs
referenced by the script itself. :(
BUG:357162
FIXED-IN:16.01
As opposed to only kde-projects modules also present in the rc-file.
E.g. this rc-file
---
global
branch-group kf5-qt5
end global
module-set
repository kde-projects
use-modules plasma-desktop
include-dependencies true
end module-set
---
...still lists 83 modules to build if you run kdesrc-build.
We also needed to ensure that each module generated by user selectors
knows to propagate the 'needs dependencies' flag.
Commit 480f184 added a reference to the calligra module to get
lxr.kde.org to make calligra symbols available. However this also pulled
in other modules since kdesrc-build will normally take each entry in
use-modules as a virtual project path to dereference. For instance this
makes it possible to get all KDevelop-related modules by declaring
"use-modules kdevelop".
When this syntax is ambiguous (as it is for kdevelop and phonon) you
could normally do what you wanted by being more specific, using
declarations like "kdevelop/kdevelop" or "phonon/phonon".
However calligra.git is a top-level entry in the virtual project
hierarchy, so something like "/calligra" would still match calligra.git
(at /calligra) and krita (at /calligra/krita).
So, add Yet Another Syntax to allow for specifying a specific git
module while still taking advantage of the special kde-projects
niceties for module-sets. If you specify "foo.git" in a use-modules
entry, kdesrc-build will treat the module as if you'd asked for "foo",
but will not try to do any further searching for other modules in the
virtual project hierarchy.
CCMAIL:faure@kde.org
CCMAIL: staniek@kde.org
"calligra calligra/*" is so that it doesn't check out
calligra/krita before calligra (which would then break cloning)
CCMAIL: mpyne@kde.org
Now we describe up-to-date module progress (if multiple modules are
being built) and consolidate muliple lines of information into just a
couple (for build and install).