On Wed, December 23, 2015 18:40:36 Aleix Pol wrote:
> Hello,
> I've been testing kde-src-builder on a bare system (actually a docker
> image) and I realized that --include-dependencies isn't doing what I
> expected [1], which is to actually build and install the repository's
> dependencies.
> 
> Can anybody point me out what am I missing? :/

--include-dependencies only works on repositories that kdesrc-build thinks are 
from the kde.org git repositories (i.e. things under projects.kde.org, 
referred to as "kde-projects" modules). Your .kdesrc-buildrc is somewhat 
empty, so all that kdesrc-build understands about "kcompletion" is that it's a 
module seen on the command line, presumably git-based.

Even if kdesrc-build assumed the cmdline module was a kde-projects module, a 
separate issue would prevent --include-dependencies from appearing to work.

If you have a conf file more like the following then you'd probably see more 
success (e.g. my kdesrc-build offers to build 4 modules with your cmdline). 
Note that include-dependencies was migrated into a module-set, though it 
should still work OK as a global setting.

The most important change is adding more modules to the overall build. I 
thought I had implemented --include-dependencies to pull in any kde-projects 
module if needed, but after looking it over tonight it seems it merely pulls 
in any kde-projects module available within the .kdesrc-buildrc -- but if no 
such modules are available then there's not much to pull in.

$ cat .kdesrc-buildrc
global
    branch-group kf5-qt5
    kdedir ~/kde-5
    qtdir /usr
    source-dir ~/kdesrc
end global

module-set kf5-and-workspace
    # This is a 'magic' repo for kde.org projects
    repository kde-projects

         # This specifies what git repos from within that repository to use,
    # based on the virtual KDE project hierarchy. Multiple repos can be
    # included, inclusion is recursive.
    use-modules frameworks workspace

         # And this says to pull any needed kde.org dependencies into this 
    # module-set as well
    include-dependencies true
end module-set

--------

If you wish to quickly see what kdesrc-build thinks it should do, try

$ kdesrc-build --metadata-only (this updates just the kde-build-metadata, 
needed for remaining steps)

$ kdesrc-build --pretend (shows update/build steps without actually taking 
them)

$ kdesrc-build --pretend --print-modules (Just displays the list of modules to 
build directly, in build order. Indentation is used to show where kdesrc-build 
reordered modules due to kde-build-metadata)

Other useful commands:

$ kdesrc-build --resume-after foo --stop-before bar (builds a subset of the 
build list in same order as normal. --resume-from and --stop-after also work)

$ kdesrc-build --stop-on-failure ... (useful for first-time builds, kdesrc-
build bails out if any module fails to build)

$ kdesrc-build --no-src ... (skip source update, roll straight into build, 
useful if you simply had to fix a local misconfiguration)

$ kdesrc-build --install-only ... (skip source *and* build, install whatever 
the build directory has built already... useful if you want to nuke your 
~/kde-5 and start over without spending a ton of time on source/build updates)


I do apologize for the lack of user-friendlyness but the script, and 
especially its configuration file, predates KDE's usage of SVN, and at this 
point everything seems easy enough from my viewpoint... :-/

I'll be working over the next few days to try to expand out --include-
dependencies to include any possible kde-projects modules (how it was 
originally intended to work), but until then hopefully this help.

Regards,
 - Michael Pyne

>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

Reply via email to