| Summary: | --stop-on-failure can't be added to the command-line invocation after the thing you want to build; must be before | ||
|---|---|---|---|
| Product: | [Developer tools] kdesrc-build | Reporter: | Nate Graham <nate> |
| Component: | general | Assignee: | Michael Pyne <mpyne> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | Git | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | e743b5bb9f3031411429455494f0aa1deac22336 | Version Fixed/Implemented In: | 19.01 |
| Sentry Crash Report: | |||
I don't think this is a failure directly about --stop-on-failure's positioning. The option is handled by Perl's standard library (Getopt::Long module) and that supports moving --options around as you would expect. The error message also says something about libdbusmenu-qt (which is the only bazaar user in kdesrc-build, so perhaps an error with that).
However there is definitely something screwy going on. Compare these commands run from a completely empty kdesrc-build setup (only kdesrc-build --metadata-only being run):
$ kdesrc-build -p kguiaddons --include-dependencies --stop-on-failure
Building extra-cmake-modules from <module-set at line 34> (1/2)
Cloning extra-cmake-modules
Source update complete for extra-cmake-modules: 1 file affected.
Preparing build system for extra-cmake-modules.
Running cmake...
Compiling... succeeded (after 0 seconds)
Installing.. succeeded (after 0 seconds)
Building kguiaddons from frameworks (2/2)
Cloning kguiaddons
Source update complete for kguiaddons: 1 file affected.
Preparing build system for kguiaddons.
Running cmake...
Compiling... succeeded (after 0 seconds)
Installing.. succeeded (after 0 seconds)
<<< PACKAGES SUCCESSFULLY BUILT >>>
extra-cmake-modules
kguiaddons
Removing 1 out of 1 old log directories...
But moving kguiaddons to the end...:
$ kdesrc-build -p --include-dependencies --stop-on-failure kguiaddons
Building libdbusmenu-qt (1/92)
No changes to libdbusmenu-qt source, proceeding to build.
Compiling... succeeded (after 0 seconds)
Installing.. succeeded (after 0 seconds)
Building taglib (2/92)
Cloning taglib
Source update complete for taglib: 1 file affected.
Preparing build system for taglib.
Compiling... succeeded (after 0 seconds)
Installing.. succeeded (after 0 seconds)
Building extra-cmake-modules from frameworks (3/92)
Cloning extra-cmake-modules
Source update complete for extra-cmake-modules: 1 file affected.
Preparing build system for extra-cmake-modules.
Running cmake...
Compiling... succeeded (after 0 seconds)
Installing.. succeeded (after 0 seconds)
...
Building libgpg-error (91/92)
Cloning libgpg-error
Source update complete for libgpg-error: 1 file affected.
Preparing build system for libgpg-error.
Compiling... succeeded (after 0 seconds)
Installing.. succeeded (after 0 seconds)
Building gpgme (92/92)
Cloning gpgme
Source update complete for gpgme: 1 file affected.
Preparing build system for gpgme.
Compiling... succeeded (after 0 seconds)
Installing.. succeeded (after 0 seconds)
<<< PACKAGES SUCCESSFULLY BUILT >>>
Built 92 modules
Removing 1 out of 1 old log directories...
You'll note that kguiaddons isn't the last module built either! This one will take a bit to troubleshoot...
And now that I've removed the ~/kde/src directory (but not other directories) and tried again, both forms of the command line are equivalent (and incorrect, only building 2 modules). Fixed, see https://invent.kde.org/kde/kdesrc-build/issues/8 and https://invent.kde.org/kde/kdesrc-build/commit/e743b5bb9f3031411429455494f0aa1deac22336 for details. Thanks for the report Nate! Thanks for fixing it so quickly! I'll get involved with the Gitlab instance for future bug reports. |
kdesrc-build from git master. kdesrc-build gwenview --include-dependencies --stop-on-failure works fine. kdesrc-build --include-dependencies --stop-on-failure gwenview explodes: $ (arcpatch-D17732) kdesrc-build --include-dependencies --stop-on-failure gwenview Updating kde-build-metadata (to branch master) Updating sysadmin-repo-metadata (to branch master) Building libdbusmenu-qt (1/299) Unable to checkout libdbusmenu-qt! at /home/nate/SpiderOak Hive/Software projects/git projects/KDE/kdesrc-build/modules/ksb/Updater/Bzr.pm line 37. ksb::Updater::Bzr::updateInternal(ksb::Updater::Bzr=HASH(0x55d00213e3d0), ksb::IPC::Pipe=HASH(0x55d0021019c8)) called at /home/nate/SpiderOak Hive/Software projects/git projects/KDE/kdesrc-build/modules/ksb/Module.pm line 720 eval {...} called at /home/nate/SpiderOak Hive/Software projects/git projects/KDE/kdesrc-build/modules/ksb/Module.pm line 720 ksb::Module::update(ksb::Module=HASH(0x55d001ded1c8), ksb::IPC::Pipe=HASH(0x55d0021019c8), ksb::BuildContext=HASH(0x55d00064a1e0)) called at /home/nate/SpiderOak Hive/Software projects/git projects/KDE/kdesrc-build/modules/ksb/Application.pm line 1356 ksb::Application::_handle_updates(ksb::IPC::Pipe=HASH(0x55d0021019c8), ksb::BuildContext=HASH(0x55d00064a1e0)) called at /home/nate/SpiderOak Hive/Software projects/git projects/KDE/kdesrc-build/modules/ksb/Application.pm line 1617 ksb::Application::_handle_async_build(ksb::IPC::Pipe=HASH(0x55d0020a3fc8), ksb::BuildContext=HASH(0x55d00064a1e0)) called at /home/nate/SpiderOak Hive/Software projects/git projects/KDE/kdesrc-build/modules/ksb/Application.pm line 685 ksb::Application::runAllModulePhases(ksb::Application=HASH(0x55d0016cfb58)) called at /home/nate/SpiderOak Hive/Software projects/git projects/KDE/kdesrc-build/kdesrc-build line 367 eval {...} called at /home/nate/SpiderOak Hive/Software projects/git projects/KDE/kdesrc-build/kdesrc-build line 363 Error updating libdbusmenu-qt, removing from list of packages to build. > 1 Unable to update libdbusmenu-qt, build canceled. libdbusmenu-qt didn't build, stopping here. No source update, but the build directory doesn't exist