1. 15 Apr, 2018 2 commits
    • Michael Pyne's avatar
      GIT_SILENT Bump version to celebrate KDE Applications 18.04. · 214add2c
      Michael Pyne authored
      This isn't for any kind of formal release (kdesrc-build is not part of
      KDE Applications), but rather to make git-describe more relevant.
    • Michael Pyne's avatar
      qmake: Fix order-dependency of *.pro glob search. · 698cc6d3
      Michael Pyne authored
      The Mojolicious work exposed this bug but it's a bug all the same.  The
      way that Perl's glob function works differs based on whether you use it
      in a scalar (including boolean) context or whether you use it in a list
      I had the parentheses in this test to try to force a list context but
      that's apparently not sufficient as I had every fourth Qt module
      failing to build due to this glob failing, in my Mojolicious testing.
      The revised test successfully forces glob() to use list context, which
      means it always returns the same values for a given directory instead of
      acting as a non-reentrant iterator.
  2. 04 Apr, 2018 1 commit
    • Michael Pyne's avatar
      git: Ensure we skip modules that we say we must skip. · 9d09e478
      Michael Pyne authored
      The git code recognizes when a module that is selected for update/build
      implicitly (e.g. because it is included as a subset of a module grouping
      that *was* asked for) does not actually have a git branch.  This often
      happens for newly-introduced modules (which obviously won't already have
      historical "stable" branches).
      Rather than forcing users to know that a module is new and manually
      ignore it we announce we will skip the build for these modules.
      However I confused the return code in this function; no errors are
      returned, only exceptions are used for errors, which meant kdesrc-build
      would try to merrily build the non-existant module anyways.
      Fixed by making this an error.  I looked at making it possible to
      completely elide the module from the update/build list entirely but that
      requires a network call (we can't rely on cached source code since
      we can't download non-existent sources), and I don't think that's
      a good idea.  The error message can probably be worded better though.
  3. 28 Mar, 2018 1 commit
  4. 25 Mar, 2018 3 commits
    • Michael Pyne's avatar
      git: Don't use refs/tags/ on initial clone, part 3. · c9a364c3
      Michael Pyne authored
      _verifyRefPresent was also broken for tag-based checkouts.  Since this
      already uses determinePreferredCheckoutSource, which already used
      refs/tags/ for tags, this code also doubled-up on tag names.
      This whole code path would be a great candidate for that test suite
      under t/ if I can ever get it polished up one day :(
      To avoid commit spam, I've tested this on my own Qt module directories
      by deleting them and forcing them to be checked-out with tags.
    • Michael Pyne's avatar
      git: Don't use refs/tags/ on initial clone, part 2. · d755448a
      Michael Pyne authored
      Turns out the original code was doubly-broken, since
      determinePreferredCheckoutSource was already adding refs/tags/ to
      returned git tags.
      Rather than possibly breaking other users of that function by removing
      it there, instead strip off refs/tags/ during clone if present.
    • Michael Pyne's avatar
      git: Don't overspecify tags on initial clone. · 2d3b152c
      Michael Pyne authored
      git-clone doesn't like this value as an option to --branch/-b.  Instead
      just leave it as a plain tag name and hope it doesn't conflict with any
      branch names.
  5. 18 Mar, 2018 1 commit
  6. 13 Mar, 2018 1 commit
  7. 06 Mar, 2018 1 commit
    • Michael Pyne's avatar
      Don't shortcut build output for non-CMake build systems. · 742d92ac
      Michael Pyne authored
      There is code to avoid using the TTY code that updates the status of the
      build in the current line.  This code prevents using the fancy TTY stuff
      if progress output is not supported, but doesn't actually ever output
      the end result of the build (success or failure), which wasn't the
      In the other situations we don't want to clutter the line output with a
      redundant status.  Instead of duplicating the "progress output
      supported" check later to output the status (or not), I just took out
      the check for whether progress output is supported entirely, since the
      progress callback can work even with build systems w/out support.
  8. 05 Mar, 2018 1 commit
  9. 26 Feb, 2018 1 commit
  10. 25 Feb, 2018 1 commit
  11. 20 Feb, 2018 1 commit
  12. 22 Jan, 2018 2 commits
  13. 21 Jan, 2018 3 commits
    • Michael Pyne's avatar
      setup: Use Wiki's default paths, include deps by default. · 590f4625
      Michael Pyne authored
      Also don't ask about the proxy, it's a rare feature, instead just
      continue to add the http-proxy option if it's already set in the
      environment.  Users with more unusual proxy setups will have to read the
      docs. :)
    • Michael Pyne's avatar
      doc: Update kdesrc-build Getting Started docs. · f61f72a8
      Michael Pyne authored
      Tried to bring in more coverage of the features users are actually
      expected to use while eliminating discussion of things that have faded
      away, especially now that the migration to Git is substantially
      Some of this is based on user feedback I received earlier, noting that
      the Getting Started guide (even as bad as it was), was the best part of
      the documentation for them but that there were important things missing.
      The docs after this section still need a bunch of cleanup, I think.
    • Michael Pyne's avatar
      doc: Minor administrative updates. · c8f4ca45
      Michael Pyne authored
      - My author info has a dedicated entity, use it.
      - Update copyright/version.
  14. 20 Jan, 2018 1 commit
  15. 12 Jan, 2018 1 commit
    • Michael Pyne's avatar
      Downgrade missing dependency warning. · 1e6b6e5d
      Michael Pyne authored
      The warning here complains about conditions which are already pretty
      much fixed from outside of the kdesrc-build user population anyways.
      It's still something notable so instead of removing completely I
      downgrade it to a debugging message.
  16. 07 Jan, 2018 1 commit
  17. 04 Jan, 2018 2 commits
  18. 29 Dec, 2017 1 commit
  19. 23 Dec, 2017 2 commits
    • Michael Pyne's avatar
      persistence: Fix regression in saving options, v2. · d6d40e12
      Michael Pyne authored
      I left out a comma and thought I had already fixed with an amended
      commit, but it turns out I had forgotten to run git-add first. :(
    • Michael Pyne's avatar
      persistence: Fix regression in saving options. · 25e7bfc2
      Michael Pyne authored
      The move to JSON storage of persistent opts break first-time users,
      since the refactored code never actually gets around to setting a
      persistent_options key in the build context object.
      This seemed to work previously with Data::Dumper, but JSON::PP is not
      happy with being asked to serialize an undef.  On the other hand I had
      always thought that sub setPersistentOption would have 'autovivified'
      the needed hash table, and the reporter's build process should have
      resulted in many calls to setPersistentOption over the build.
  20. 22 Dec, 2017 2 commits
    • Michael Pyne's avatar
      kde-projects: Fix runtime check for YAML modules. · fdbaaaa5
      Michael Pyne authored
      My attempt to make the KDEProjectReader's check for YAML be a runtime check was
      thwarted because I had separately used a "use KDEProjectReader" elsewhere,
      which Perl ensures happens at compile time.
      Instead make the check part of the constructor so that the package can at least
      compile without throwing an error.
    • Michael Pyne's avatar
      Standardize how we define is-a relationships. · 62b5614f
      Michael Pyne authored
      Perl seems to have settled on the 'parent' module instead of manually defining
      variables that tell the interpreter which packages to fall back to.  Some
      classes now use parent, some still use the old way.
      Migrate everything over to be consistent.
  21. 21 Dec, 2017 8 commits
  22. 20 Dec, 2017 1 commit
  23. 19 Dec, 2017 1 commit
  24. 17 Dec, 2017 1 commit