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
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.