1. 29 Oct, 2012 5 commits
  2. 28 Oct, 2012 1 commit
    • Michael Pyne's avatar
      xsession: Extract var setting to separate script. · 05d1460f
      Michael Pyne authored
      dfaure reinforced a point I was thinking after doing testing on my
      system... the environment variable-setting portion of the script needs
      to be factored out into its own script so that it can be sourced easily
      from login profile setup, shell setup, etc. and not just used from the
      xsession startup.
      It's still not active (but the code is used in the test suite), will try
      to work on that tomorrow assuming the sequel to "Perfect Storm" about to
      strike here in DC leaves me with power...
  3. 24 Oct, 2012 1 commit
    • Michael Pyne's avatar
      Fix implementation of tag/revision support for git. · 013246ae
      Michael Pyne authored
      I somehow missed the case of "branch option not ever set" by using the
      getOption method to grab the git branch instead of the specific build
      system "getBranch" method that had been used before. This led to build
      errors trying to dereference an undefined variable.
      My apologies for the trouble.
  4. 22 Oct, 2012 1 commit
    • Michael Pyne's avatar
      Implement tag and revision options for git modules. · c22b7b06
      Michael Pyne authored
      This makes the 'tag' option allow for checking out a given git tag for a
      module (which is enforced by using refs/tags/$foo when passing to git).
      Additionally, the 'revision' option has been adopted for git modules as
      well, to allow for checking out any other git "tree-ish" that git
      supports (i.e. anything supported by 'git checkout $foo').
      Both options should leave the source directory in a detached HEAD state,
      although kdesrc-build will adapt as necessary with each source update.
      The auto-stashing is still attempted for both types, and a failure to
      apply an auto-stashed change will cause the module to fail to build.
      Ensure you're in a clean working directory if you want to avoid issues
      due to this.
      The test suite continues to pass (not that it's very extensive).
  5. 21 Oct, 2012 2 commits
    • Michael Pyne's avatar
      Use 'tag' option when cloning git modules. · e3c41daf
      Michael Pyne authored
      This partially implements bug 308493. To fully implement it will be
      required to handle the case of an already-checked-out module (though
      prepatory work is already complete).
    • Michael Pyne's avatar
      Reorg. git remote updating to prep for git tag support. · f96d0f92
      Michael Pyne authored
      To support git tags we need to take different semantic actions (as
      checking-out a git tag leaves you in a detached-HEAD state where
      git-{pull,merge,rebase} don't apply). To prepare for having different
      methods for these different semantics I'm factoring out the git-remote
      setup into a separate function, and removing the needless support for
      lists of possibilities. Nowadays kdesrc-build only cares about origin,
      though if you want to bring your own remote that's fine, kdesrc-build
      will find it.
  6. 19 Oct, 2012 1 commit
  7. 12 Oct, 2012 2 commits
  8. 10 Oct, 2012 3 commits
    • Michael Pyne's avatar
      Flag modules that fail to configure for --refresh-build. · 232a1669
      Michael Pyne authored
      kdesrc-build has long supported using a file '.refresh-me' in a build
      directory as a flag to treat a module being built as if the
      '--refresh-build' command line option was passed for that module.
      As suggested in my last commit message, this commit will automatically
      create that file if the configure/build-system-setup phase of a module
      build fails. This way even if I choose wrong on which filename to look
      for to determine a successful build, there will still be a way for
      kdesrc-build to easily tell that it should start all over next time.
    • Michael Pyne's avatar
      Use more appropriate "successfully configured" file (cmake-kde). · 73115973
      Michael Pyne authored
      We used to use "Makefile" for the KDE/CMake build system to determine
      when CMake was successfully run, but the commit to allow for
      custom-build-commands replaced that with CMakeCache.txt.
      This choice was incorrect, as CMakeCache.txt is always generated, even
      if CMake fails. cmake_install.cmake seems to be a better choice (I've
      confirmed it's generated on success with both ninja and Makefile
      It's probably still a good idea to explicitly touch .refresh-me in the
      build directory if the configure phase fails. I leave the build
      directory intact if configure phase fails to allow for "post disaster
      investigation" but we should always re-run configure phase in this event
      on the next kdesrc-build run.
    • Script Kiddy's avatar
      SVN_SILENT made messages (.desktop file) · 2a02c5ec
      Script Kiddy authored
  9. 08 Oct, 2012 5 commits
    • Michael Pyne's avatar
    • Michael Pyne's avatar
      xsession: Make xsession script testable. · 59428065
      Michael Pyne authored
      A few minor related changes are included. E.g. we actually want to pass
      along blank lines, so remove that check (which didn't work anyways as \n
      was still present).
      We replace that with a simple filter in the template installation
      process to allow there to be source lines in the base template that
      don't get passed to the installed result. This allows for shell script
      that prevents running the full command suite in the base without
      affecting the installed script.
      It is required to be able to actually run the base script as the "set
      -u" check for unset variables doesn't work when "set -n" (syntax check)
      is in use. These set commands can be passed directly to /bin/sh to have
      them in effect when the script starts (and are both part of POSIX and
      seem to work even with busybox sh).
      Additionally, the path_add function needs to actually check for unset
      variables now. Luckily there is existing Bourne shell syntax for that.
      The observant reviewer will note that the testsuite does not currently
      pass because there is a mispeled lib_suffix in the base, that will be
      fixed in the next commit.
    • Michael Pyne's avatar
    • Michael Pyne's avatar
    • Michael Pyne's avatar
      Add .xsession installation base code. · 548489c9
      Michael Pyne authored
      This isn't turned on yet (the testcase just tries to run the function
      without exceptions), but this would be the base for a feature to install
      the new sample .xsession file for the "Custom session" login option for
      most login managers.
      The base .xsession was graciously provided by Michael Janses (of
      build-tool fame). I've simplified it a bit for kdesrc-build usage and
      tried to make it compatible with less featureful shells. The eventual
      idea is that it can be used with kdesrc-build-set and/or kdesrc-build so
      that you can run the setup script, kdesrc-build, and be able to login to
      your new KDE install.
  10. 02 Oct, 2012 1 commit
    • Michael Pyne's avatar
      Force --refresh-build for frequent failers. · 58c00ca1
      Michael Pyne authored
      This could be annoying for Qt if it takes 10 minutes to fail, but
      there's already a warning message for this case. For the rest, it's
      most likely that making things work at all will require a
      --refresh-build anyways (e.g. if CMake was run but didn't generate a
  11. 17 Sep, 2012 1 commit
  12. 14 Sep, 2012 3 commits
  13. 11 Sep, 2012 1 commit
  14. 01 Sep, 2012 3 commits
  15. 26 Aug, 2012 3 commits
    • Michael Pyne's avatar
      Correct conflict-exception changes. · c7eef637
      Michael Pyne authored
      It's pretty hard to check for a conflict-detected field in an exception
      object when you're overwritten that exception object with a simple
    • Michael Pyne's avatar
      Add support for bootstrapping CMake. · f918d1a9
      Michael Pyne authored
      This small buildsystem allows kdesrc-build to bootstrap CMake (from git,
      obviously) onto a system that does not have a recent-enough packaged
      version of CMake.
      The "bootstrap" process is treated as module configuration, so
      "configure-flags" is the relevant option (don't worry, those won't be
      inherited from global configure-flags). The rest of the build/install
      uses make as normal, which is implemented via fallback to
    • Michael Pyne's avatar
      Use a CMake-specific module-configured key for KDE builds. · 458094b9
      Michael Pyne authored
      Previous to this the GenericBuild fallback of 'Makefile' was used to
      test if a configure step had been run, but this only works for CMake
      when the default generator is being used.
      The 'ninja' generator is available in the latest CMake and seems to be
      popular. Instead of hard-coding support for ninja we just try to support
      something CMake-specific. Those who wish to use ninja should be able to
      use cmake-options to add the appropriate -G flag, and
      custom-build-command to specify ninja.
  16. 21 Aug, 2012 1 commit
    • Michael Pyne's avatar
      Add support for specifying an HTTP proxy to setup script. · d64d6036
      Michael Pyne authored
      A prompt is used to ask if a proxy is required, unless the normal
      http_proxy env. variable is set, at which point the proxy URL will be
      queried for directly (and the value of http_proxy used as the default).
      This should implement wish 305410.
  17. 19 Aug, 2012 5 commits
    • Michael Pyne's avatar
      Allow using HTTP for kde-projects modules. · 08372a53
      Michael Pyne authored
      This adds an option git-desired-protocol to allow for using HTTP instead
      of git protocol when updating git modules.
      For non kde-projects modules, it should already be possible to use an
      http:// URL as a repository instead of git:// (though I haven't tested
      this yet).
      This should implement wish 305409.
    • Michael Pyne's avatar
      Audit and correct list of config file options. · 5785d4e8
      Michael Pyne authored
      This audit was just comparing the list of config file options between
      the documentation's list of options and the list contained in
      This resulted in adding an option (persistent-data-file) to kdesrc-build
      to indicate that it's expected, and documenting an option
      (use-clean-install) that was present but undocumented.
    • Michael Pyne's avatar
      Allow setting http-proxy settings. · da098beb
      Michael Pyne authored
      Right now this will be utilized for anything needing libwww-perl
      (kde_projects.xml download, tarball snapshots), and will be propagated
      to subprocesses via http_proxy environment variable, unless that
      variable is already set.
      Tested by using a simple HTTP proxy utilizing HTTP::Proxy from CPAN.
      Implements wish 305411.
    • Michael Pyne's avatar
      Move download_file to ksb::Util. · b6f17bdd
      Michael Pyne authored
    • Michael Pyne's avatar
      GIT_SILENT Sort the known options. · e146b457
      Michael Pyne authored
      Brought up by me noticing use-modules was way out, though it apparently
      wasn't the only one. Done by selecting the lines, then running through
      "sort -i".
  18. 18 Aug, 2012 1 commit