Re: kdesrc-build and include-dependencies
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 <<
Re: kdesrc-build and include-dependencies
I don't think kdesrc-build inspects the cmake files to discover deps, it relies on the project metadata GIT repo instead. So --include-dependencies only applies to the dependencies discovered through the project metadata repo, and then only those which kdesrc-build knows how to build. Any other dependencies (of which there are *a lot*, e.g. X libs, graphics libs, sound libs...) require you to break out your package manager and fetch the development packages. So it's not really like emerge/portage (or the kde-on-windows clone of that for building KDE apps on Windows) and rather a lot more like a convenient frontend that requires either you inspect the cmake files yourself or accept an initial element of trial and error to discover & install the missing deps manually. On Wed, Dec 23, 2015 at 6:51 PM, Ovidiu-Florin BOGDAN wrote: > În ziua de Wednesday 23 December 2015, la 18:40:36, Aleix Pol a scris: > >> 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? :/ > >> > >> That's my configuration file, so far: [2]. > >> > >> Thanks in advance! > >> Aleix > >> > >> [1] $ ./kdesrc-build/kdesrc-build --include-dependencies kcompletion > >> * There do not seem to be any modules to build in your configuration. > >> Updating kde-build-metadata (to branch master) > >> * Downloading projects.kde.org project database... > >> > >> Building kcompletion from guessed_from_cmdline (1/1) > >> Updating kcompletion (to branch master) > >> No source update, but the last configure failed > >> Source update complete for kcompletion: no files affected > >> Preparing build system for kcompletion. > >> Removing files in build directory for kcompletion > >> Old build system cleaned, starting new build system. > >> Running cmake... > >> Unable to configure kcompletion with CMake! > >> Unable to configure kcompletion with KDE > >> > >> [2] $ cat .kdesrc-buildrc > >> global > >> branch-group kf5-qt5 > >> kdedir ~/kde-5 > >> qtdir /usr > >> source-dir ~/kdesrc > >> include-dependencies true > >> end global > >> > >> >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to >> >> unsubscribe << > > > > I have these outside of global. Perhaps they help: > > > > include src/extragear/utils/kdesrc-build/kf5-applications-build-include > > include src/extragear/utils/kdesrc-build/kf5-extragear-build-include > > include src/extragear/utils/kdesrc-build/kf5-frameworks-build-include > > include src/extragear/utils/kdesrc-build/kf5-qt5-build-include > > include src/extragear/utils/kdesrc-build/kf5-kdepim-build-include > > > > Besides that KSB is a big blur to me. Any doccumentation I've found, it > seems to me to be obsolete and missleading. > > > -- > > Ovidiu-Florin Bogdan > > GeekAliens.com > > Kubuntu Romania Representative > > Kubuntu Council Member > > > >>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe >>> << > >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
Re: kdesrc-build and include-dependencies
În ziua de Wednesday 23 December 2015, la 18:40:36, Aleix Pol a scris: > 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? :/ > > That's my configuration file, so far: [2]. > > Thanks in advance! > Aleix > > [1] $ ./kdesrc-build/kdesrc-build --include-dependencies kcompletion > * There do not seem to be any modules to build in your configuration. > Updating kde-build-metadata (to branch master) > * Downloading projects.kde.org project database... > > Building kcompletion from guessed_from_cmdline (1/1) >Updating kcompletion (to branch master) >No source update, but the last configure failed >Source update complete for kcompletion: no files affected >Preparing build system for kcompletion. >Removing files in build directory for kcompletion >Old build system cleaned, starting new build system. >Running cmake... >Unable to configure kcompletion with CMake! >Unable to configure kcompletion with KDE > > [2] $ cat .kdesrc-buildrc > global >branch-group kf5-qt5 >kdedir ~/kde-5 >qtdir /usr >source-dir ~/kdesrc >include-dependencies true > end global > > >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe > >> << I have these outside of global. Perhaps they help: include src/extragear/utils/kdesrc-build/kf5-applications-build-include include src/extragear/utils/kdesrc-build/kf5-extragear-build-include include src/extragear/utils/kdesrc-build/kf5-frameworks-build-include include src/extragear/utils/kdesrc-build/kf5-qt5-build-include include src/extragear/utils/kdesrc-build/kf5-kdepim-build-include Besides that KSB is a big blur to me. Any doccumentation I've found, it seems to me to be obsolete and missleading. *Ovidiu-Florin Bogdan* GeekAliens.com[1] Kubuntu Romania Representative[2] _Kubuntu Council Member_ [1] http://ovidiu.geekaliens.com [2] http://kubuntu.org signature.asc Description: This is a digitally signed message part. >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
kdesrc-build and include-dependencies
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? :/ That's my configuration file, so far: [2]. Thanks in advance! Aleix [1] $ ./kdesrc-build/kdesrc-build --include-dependencies kcompletion * There do not seem to be any modules to build in your configuration. Updating kde-build-metadata (to branch master) * Downloading projects.kde.org project database... Building kcompletion from guessed_from_cmdline (1/1) Updating kcompletion (to branch master) No source update, but the last configure failed Source update complete for kcompletion: no files affected Preparing build system for kcompletion. Removing files in build directory for kcompletion Old build system cleaned, starting new build system. Running cmake... Unable to configure kcompletion with CMake! Unable to configure kcompletion with KDE [2] $ cat .kdesrc-buildrc global branch-group kf5-qt5 kdedir ~/kde-5 qtdir /usr source-dir ~/kdesrc include-dependencies true end global >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<