1. 04 Dec, 2019 8 commits
    • Kirill Smelkov's avatar
      zc.recipe.egg: Support environment in :develop · b5397079
      Kirill Smelkov authored
      Currently only zc.recipe.egg:custom supports setting environment
      variables, and zc.recipe.egg:develop does not.
      
      My motivation for allowing setting environment in :develop is
      wendelin.core
      
          https://lab.nexedi.cn/nexedi/slapos/blob/b5faab3b/component/wendelin.core/buildout.cfg
      
      There we have [wendelin.core] part which installs released egg from
      pypi, and [wendelin.core-dev] part which installs wendelin.core from
      its latest git version via zc.recipe.egg:develop .
      
      The problem is, wendelin.core for setup.py to work, needs git available,
      and with slapos we usually don't have git available on base system, so
      we build it by our own and do something like
      
          [wendelin.core-dev]
          recipe = zc.recipe.egg:develop
          environment = wendelin.core-dev-env
      
          [wendelin.core-dev-env]
          # wendelin.core-dev needs git to build
          PATH = ${git:location}/bin:%(PATH)s
      
      and the problem is environment does not currently work for
      zc.recipe.egg:develop, and thus git is not found -> build fails.
      
      ~~~~
      
      In order to support environment in :develop, we just move environment
      setting/restoring bits from Custom to Base, and provide Base.install() which
      uses this bits. Custom & Develop .install() becomes ._install() which gets
      hooked into Base.install() .
      
      I've tested the patch only manually, because currently automated tests are
      broken in a lot of places for slapos.buildout and zc.recipe.egg .
      
      /cc @kazuhiko, @Tyagov
      b5397079
    • Kazuhiko Shiozaki's avatar
      zc.recipe.egg: Support on the fly pathces. · ac51c1d5
      Kazuhiko Shiozaki authored
      - Support on the fly patches in zc.recipe.egg by ``EGGNAME-patches``,
        ``EGGNAME-patch-options``, ``EGGNAME-patch-binary`` (or
        ``patch-binary``) and ``EGGNAME-patch-revision`` options.
      
      - Support on the fly patches in zc.recipe.egg:custom by ``patches``,
        ``patch-options``, ``patch-binary`` and ``patch-revision`` options.
        (options ``EGGNAME-*`` are also supported as well).
      ac51c1d5
    • Kazuhiko Shiozaki's avatar
      a9ca18a3
    • Łukasz Nowak's avatar
      Chomp ../ from beginging of filenames. · 3c331745
      Łukasz Nowak authored
      In order to have as canonical as possible paths, chomp ../ from filenames and
      recalculate base.
      3c331745
    • Kazuhiko Shiozaki's avatar
      Support ${:_profile_base_location_}. · f6a009e7
      Kazuhiko Shiozaki authored
      f6a009e7
    • Kazuhiko Shiozaki's avatar
      16639592
    • Kazuhiko Shiozaki's avatar
      Respect specified versions of initial eggs in bootstrap. · 76a8fc82
      Kazuhiko Shiozaki authored
      --setuptools-version and --buildout-version options in bootstrap script still have the priority.
      76a8fc82
    • Julien Muchembled's avatar
      Revert "Updated to work with the latest setuptools." partially · 46b8343b
      Julien Muchembled authored
      One big issue in commit e129e187 is that the
      initial value of buildout_and_setuptools_path can cause buildout to use a lot
      of CPU at startup. The following change would help:
      
          def buildout_and_setuptools_path():
              r = [get_python_lib(standard_lib=1)]
              for d in pkg_resources.working_set:
                  d = d.location
                  if d not in r:
                      r.append(d)
              return r[1:]
          buildout_and_setuptools_path = buildout_and_setuptools_path()
      
      but initializing buildout_and_setuptools_dists also takes time to compute,
      and it's only used for bootstrap.
      
      Because the commit is not required anymore since setuptools 36, it's easier
      for us to revert partially, so we can keep applying our patches.
      46b8343b
  2. 26 Nov, 2019 3 commits
  3. 31 Jan, 2017 6 commits
  4. 30 Jan, 2017 5 commits
  5. 29 Jan, 2017 12 commits
  6. 28 Jan, 2017 4 commits
  7. 05 Sep, 2016 2 commits