1. 18 Sep, 2021 1 commit
  2. 12 Sep, 2021 4 commits
  3. 11 Sep, 2021 1 commit
  4. 29 Aug, 2021 1 commit
  5. 24 Aug, 2021 1 commit
  6. 23 Aug, 2021 1 commit
  7. 21 Aug, 2021 1 commit
  8. 15 Aug, 2021 4 commits
    • Michael Pyne's avatar
      Fix broken test cases with new max cores logic. · 50f1b5e9
      Michael Pyne authored
      I agreed with the change to take off a CPU but thought that would apply
      to the auto-detection logic (I feel a user should be able to use all
      their CPUs if they specifically ask for it and their system can
      otherwise handle it).
      Since this logic impacted a recent test I opted to refactor it slightly
      (so that it no longer shaves off a CPU unless you've asked for more than
      you have, in which case we assume a broken config and use the same logic
      as if we'd auto-detected it).
      I still end up needing to improve the test case though, in case CI runs
      this on a system where nproc would return 1, 2 or 3.
    • Michael Pyne's avatar
      Add a log directory alias "latest-by-phase". · 5b791708
      Michael Pyne authored
      Similar to $logdir/latest, this directory holds symlinks for each module
      to the log file for the last build.
      Unlike $logdir/latest, the symlink is based on the specific log file
      name (e.g. build.log, cmake.log) rather than the module name.
      This means that if you do something like run a --refresh-build job
      (generating git-update, cmake, build, install, etc.) and then later do a
      source update and build but no CMake, you'll still have the cmake.log in
      the same directory (pointing to the log file from the pertinent
      kdesrc-build run).
    • Nate Graham's avatar
      Reduce default number of threads by 1 on multi-core systems · b07c85fc
      Nate Graham authored
      This leaves at least one core available for non-compilation activities
      which should prevent the system from becoming laggy or unresponsive
      when it's being actively used for other tasks by the user.
      Fixes #73
    • Nate Graham's avatar
      Return default folder structure to flat · 75681089
      Nate Graham authored
      The "invent" structure results in fewer folders in the src folder, but
      requires familiarity with the invent.kde.org structure to be able to
      find anything, making it a worse default especially for new
      contributors. For example, with "flat", to find dolphin, you just go to
      the "dolphin" folder. With "invent", you have to know that Dolphin lives
      in the "system" group and go to "system/dolphin." If you don't know
      this, you have to hunt for it in every group. Quick navigation requires
      internalizing the parent group for every single KDE repo, rather than
      just having to know the repo's name.
      Similarly, to quickly move from one repo to another, you have to
      remember an additional piece of information compared to using the "flat"
      layout. For example if you are in "kio" and wand to go to "dolphin", you
      have to do `cd ../../system/dolphin` rather than just `cd ../dolphin`.
      It is similarly cumbersome if you use a GUI file manager rather than the
      command line.
      For these reasons, I believe "flat" is the better default while "invent"
      is more suited for experienced contributors, and as such they should
      turn it on manually.
  9. 14 Aug, 2021 1 commit
    • Michael Pyne's avatar
      Remove memory-hogging -j options when they are not set before build. · 6cc55d2f
      Michael Pyne authored
      This completes the fix for my misfeature contributed in commit fae3f8bf.
      That commit kept kdesrc-build from generating broken configurations,
      this commit has kdesrc-build ignore the broken part of non-uneeded
      configurations by filtering out -j entries that end up set to invalid
      options due to num-cores being empty.
      I also add a test suite to try to catch this for the future.
      Thanks to everyone for contributing workarounds in my absence. This
      fixes #78.
  10. 11 Aug, 2021 2 commits
  11. 23 Jul, 2021 1 commit
  12. 08 Jul, 2021 1 commit
  13. 05 Jul, 2021 1 commit
    • Michael Pyne's avatar
      buildsystem: Apply the setting of num-cores by default. · 16c4b88e
      Michael Pyne authored
      This change turns what was previously a 2-part process to pass the
      setting in num-cores into the build command, into a single step.
      Previously you had to have the user set num-cores and then separately
      use something like make-options, ninja-options, or "set-env MAKEFLAGS"
      to pass that to the build command.
      This was not done earlier, partially because I expected it to be
      complicated to fix the various build systems to do something appropriate
      with this setting.
      But it turns out I'd already centralized the build process through a
      slightly generic combination of ksb::BuildSystem::buildInternal and
      ksb::BuildSystem::safe_make (which despite the name can run any
      specified command as a build command).
      Since all supported build systems use the -j flag to control the number
      of build jobs, I can just adjust the build flags here to support all
      builds. So I do.
      This only controls the flags passed to the build command directly, so
      indirect methods like "set-env NINJAFLAGS" are still needed to support
      use cases like Qt5WebEngine. But ultimately I would like to remove
      num-cores-low-mem entirely and just let users change the setting for
      num-cores on a per module basis, as with any other option.
      This change obviates the need for !105 and fixes #75.
  14. 04 Jul, 2021 1 commit
  15. 30 Jun, 2021 1 commit
  16. 28 Jun, 2021 2 commits
  17. 25 Jun, 2021 1 commit
  18. 18 Jun, 2021 1 commit
  19. 17 Jun, 2021 1 commit
  20. 03 Jun, 2021 1 commit
  21. 02 Jun, 2021 1 commit
  22. 28 May, 2021 1 commit
  23. 27 May, 2021 2 commits
  24. 26 May, 2021 1 commit
  25. 10 May, 2021 1 commit
  26. 08 May, 2021 3 commits
  27. 07 May, 2021 3 commits