1. 26 Apr, 2018 2 commits
    • Tristan Van Berkom's avatar
      setup.py: Stop installing test cases. · d3a991a5
      Tristan Van Berkom authored
      As recommended by Valentin David in issue #332.
      d3a991a5
    • Tristan Van Berkom's avatar
      Use versioneer instead of setuptools_scm · 4be462d3
      Tristan Van Berkom authored
      Using setuptools_scm had a couple of bad problems:
      
        o Unexpected versioning semantics, setuptools_scm would
          increment the micro version by itself in the case that
          we derive a version number from something that is not a tag,
          making the assumption that we are "leading up to" the next
          micro version.
      
          People mostly dont expect this.
      
        o When installing in developer mode, i.e. with `pip3 install --user -e .`,
          then we were always picking the generated version at install time
          and never again dynamically resolving it.
      
          Many of our users install this way and update through git, so it's
          important that we report more precise versions all the time.
      
      This commit needs to make a series of changes at the same time:
      
        o Adds versioneer.py to the toplevel, this is used by setup.py
          for various activities.
      
          This is modified only to inform the linter to skip
      
        o Adds buildstream/_version.py, which is generated by versioneer
          and gives us the machinery to automatically derive the correct version
      
          This is modified only to inform the linter to skip
      
        o Adds a .gitattributes file which informs git to substitute
          the buildstream/_version.py file, this is just to ensure that
          the versioning output would work if ever we used `git archive`
          to release a tarball.
      
        o Modifies setup.py and setup.cfg for versioneer
      
        o Modifies utils.py and _frontend/cli.py such as to avoid importing
          the derived version when running bash completion mode, we dont
          derive the version at completion time because this can result
          in running a subprocess (when running in developer install mode)
          and is an undesirable overhead.
      
        o Updates tests/frontend/version.py to expect changed version output
      4be462d3
  2. 20 Apr, 2018 1 commit
  3. 14 Mar, 2018 3 commits
  4. 05 Feb, 2018 1 commit
  5. 31 Jan, 2018 2 commits
    • Gökçen Nurlu's avatar
      Get version number w/o pkg_resources · 88901421
      Gökçen Nurlu authored
      This removes most of the usages of pkg_resources from the codebase, helping
      the goal of getting rid of that completely.
      
      With this change, version number is generated during install and embedded into
      `__version__` which is then imported by root level `__init__`. From there,
      it is used by other parts of the codebase when needed.
      
      Generated `__version__` file is ignored and not tracked by git to prevent
      unnecessary 'changes' messages and accidental commits of that file.
      88901421
    • Gökçen Nurlu's avatar
      Modify the generated CLI script by monkey patching · 43046114
      Gökçen Nurlu authored
      This change monkey patches setuptools' code generation functionality, so
      that pkg_resources won't be imported in the generated file.
      
      Fixes #172
      43046114
  6. 03 Jan, 2018 1 commit
  7. 07 Dec, 2017 1 commit
  8. 25 Nov, 2017 1 commit
  9. 22 Nov, 2017 1 commit
  10. 20 Nov, 2017 1 commit
  11. 08 Oct, 2017 1 commit
  12. 01 Oct, 2017 1 commit
  13. 29 Sep, 2017 1 commit
  14. 28 Sep, 2017 2 commits
  15. 27 Sep, 2017 1 commit
    • Sam Thursfield's avatar
      Fork and embed fusepy · bf0f2863
      Sam Thursfield authored
      The upstream of fuse.py is <https://github.com/terencehonles/fusepy>. It looks
      pretty abandoned -- there have been no commits there since 5th April 2016 and
      there are 17 pull requests dating from 2013 onwards that are still waiting for
      responses from the maintainer.
      
      There's no support in fuse.py for ppc64 platforms which means BuildStream is
      unusable on that architecture at present. My pull request to fix that upstream
      is being ignored; since the module is a single .py file provided under the
      ISC license it is simplest to pull the whole thing into buildstream.git instead.
      
      The version of fuse.py that's been embedded is the one from pull request #72,
      from upstream release v2.0.4 (commit 0eafeb5).
      bf0f2863
  16. 20 Sep, 2017 1 commit
  17. 05 Sep, 2017 1 commit
  18. 04 Sep, 2017 1 commit
  19. 28 Aug, 2017 1 commit
  20. 10 Aug, 2017 1 commit
  21. 01 Aug, 2017 1 commit
  22. 10 Jul, 2017 1 commit
  23. 09 Jul, 2017 1 commit
  24. 28 Jun, 2017 1 commit
  25. 27 Jun, 2017 2 commits
  26. 15 Jun, 2017 1 commit
  27. 12 Jun, 2017 1 commit
  28. 27 May, 2017 1 commit
  29. 25 May, 2017 1 commit
  30. 08 May, 2017 1 commit
    • Tristan Van Berkom's avatar
      setup.py: Use setuptools_scm plugin · 090499f8
      Tristan Van Berkom authored
      This plugin automatically encodes git versioning information
      into the package version string so that it shows up in `bst --version`
      
      This versioning information is encoded into source distributions
      as well, so that when installing from a source distribution without
      the git repository the precise VCS provenance is still encoded into
      the version.
      090499f8
  31. 13 Apr, 2017 2 commits
    • Tristan Van Berkom's avatar
      Install man pages in ${prefix}/share/man/man1 · 64b9efe3
      Tristan Van Berkom authored
      Instead of ${prefix}/man/man1, share/man/man1 is more correct.
      64b9efe3
    • Tristan Van Berkom's avatar
      Adding man pages to distribution · a49d1aa4
      Tristan Van Berkom authored
      Man pages are automatically generated but unfortunately committed
      to the repository, this should be fixed by integrating the man
      page generation as a part of the build step, but this seems to be
      very difficult and is not well documented at all.
      
      Tip: The man_pages module of click_man implements a distutils.core.Command
           for generating man pages, this command should be run as a part of setup.py
      a49d1aa4
  32. 08 Apr, 2017 1 commit
  33. 21 Mar, 2017 1 commit