Changeset 13600


Ignore:
Timestamp:
12 Jan 2016, 02:20:45 (9 years ago)
Author:
uli
Message:

Replace bootstrap.py and upgrade versions of some packages.

This is to enable flawless installs. The bootstrap.py version
used is the one from

https://bootstrap.pypa.io/bootstrap-buildout.py

fetched Jan 2016.

The upgaded packages are required to satisfy newer
setuptools and zc.buildout versions.

Sphinx version was replaced, because the version pinned
before (a developer version) is not available anymore.

Location:
main/waeup.kofa/branches/uli-upgrade-dependencies
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/branches/uli-upgrade-dependencies/bootstrap.py

    r11851 r13600  
    2626from optparse import OptionParser
    2727
    28 tmpeggs = tempfile.mkdtemp()
     28__version__ = '2015-07-01'
     29# See zc.buildout's changelog if this version is up to date.
     30
     31tmpeggs = tempfile.mkdtemp(prefix='bootstrap-')
    2932
    3033usage = '''\
     
    3639Python that you want bin/buildout to use.
    3740
    38 Note that by using --find-links to point to local resources, you can keep 
     41Note that by using --find-links to point to local resources, you can keep
    3942this script from going over the network.
    4043'''
    4144
    4245parser = OptionParser(usage=usage)
    43 parser.add_option("-v", "--version", help="use a specific zc.buildout version")
    44 
     46parser.add_option("--version",
     47                  action="store_true", default=False,
     48                  help=("Return bootstrap.py version."))
    4549parser.add_option("-t", "--accept-buildout-test-releases",
    4650                  dest='accept_buildout_test_releases',
     
    5761parser.add_option("-f", "--find-links",
    5862                  help=("Specify a URL to search for buildout releases"))
    59 
     63parser.add_option("--allow-site-packages",
     64                  action="store_true", default=False,
     65                  help=("Let bootstrap.py use existing site packages"))
     66parser.add_option("--buildout-version",
     67                  help="Use a specific zc.buildout version")
     68parser.add_option("--setuptools-version",
     69                  help="Use a specific setuptools version")
     70parser.add_option("--setuptools-to-dir",
     71                  help=("Allow for re-use of existing directory of "
     72                        "setuptools versions"))
    6073
    6174options, args = parser.parse_args()
     75if options.version:
     76    print("bootstrap.py version %s" % __version__)
     77    sys.exit(0)
     78
    6279
    6380######################################################################
    64 # load/install distribute
    65 
    66 to_reload = False
     81# load/install setuptools
     82
    6783try:
    68     import pkg_resources
    69     import setuptools
    70     if not hasattr(pkg_resources, '_distribute'):
    71         to_reload = True
    72         raise ImportError
     84    from urllib.request import urlopen
    7385except ImportError:
    74     ez = {}
    75 
    76     try:
    77         from urllib.request import urlopen
    78     except ImportError:
    79         from urllib2 import urlopen
    80 
    81     exec(urlopen(
    82         'http://downloads.buildout.org/2.1/distribute_setup.py').read(), ez)
    83     setup_args = dict(to_dir=tmpeggs, download_delay=0, no_fake=True)
    84     ez['use_setuptools'](**setup_args)
    85 
    86     if to_reload:
    87         reload(pkg_resources)
    88     import pkg_resources
    89     # This does not (always?) update the default working set.  We will
    90     # do it.
    91     for path in sys.path:
    92         if path not in pkg_resources.working_set.entries:
    93             pkg_resources.working_set.add_entry(path)
     86    from urllib2 import urlopen
     87
     88ez = {}
     89if os.path.exists('ez_setup.py'):
     90    exec(open('ez_setup.py').read(), ez)
     91else:
     92    exec(urlopen('https://bootstrap.pypa.io/ez_setup.py').read(), ez)
     93
     94if not options.allow_site_packages:
     95    # ez_setup imports site, which adds site packages
     96    # this will remove them from the path to ensure that incompatible versions
     97    # of setuptools are not in the path
     98    import site
     99    # inside a virtualenv, there is no 'getsitepackages'.
     100    # We can't remove these reliably
     101    if hasattr(site, 'getsitepackages'):
     102        for sitepackage_path in site.getsitepackages():
     103            # Strip all site-packages directories from sys.path that
     104            # are not sys.prefix; this is because on Windows
     105            # sys.prefix is a site-package directory.
     106            if sitepackage_path != sys.prefix:
     107                sys.path[:] = [x for x in sys.path
     108                               if sitepackage_path not in x]
     109
     110setup_args = dict(to_dir=tmpeggs, download_delay=0)
     111
     112if options.setuptools_version is not None:
     113    setup_args['version'] = options.setuptools_version
     114if options.setuptools_to_dir is not None:
     115    setup_args['to_dir'] = options.setuptools_to_dir
     116
     117ez['use_setuptools'](**setup_args)
     118import setuptools
     119import pkg_resources
     120
     121# This does not (always?) update the default working set.  We will
     122# do it.
     123for path in sys.path:
     124    if path not in pkg_resources.working_set.entries:
     125        pkg_resources.working_set.add_entry(path)
    94126
    95127######################################################################
     
    98130ws = pkg_resources.working_set
    99131
     132setuptools_path = ws.find(
     133    pkg_resources.Requirement.parse('setuptools')).location
     134
     135# Fix sys.path here as easy_install.pth added before PYTHONPATH
    100136cmd = [sys.executable, '-c',
     137       'import sys; sys.path[0:0] = [%r]; ' % setuptools_path +
    101138       'from setuptools.command.easy_install import main; main()',
    102139       '-mZqNxd', tmpeggs]
     
    111148    cmd.extend(['-f', find_links])
    112149
    113 distribute_path = ws.find(
    114     pkg_resources.Requirement.parse('distribute')).location
    115 
    116150requirement = 'zc.buildout'
    117 version = options.version
     151version = options.buildout_version
    118152if version is None and not options.accept_buildout_test_releases:
    119153    # Figure out the most recent final version of zc.buildout.
     
    122156
    123157    def _final_version(parsed_version):
    124         for part in parsed_version:
    125             if (part[:1] == '*') and (part not in _final_parts):
    126                 return False
    127         return True
     158        try:
     159            return not parsed_version.is_prerelease
     160        except AttributeError:
     161            # Older setuptools
     162            for part in parsed_version:
     163                if (part[:1] == '*') and (part not in _final_parts):
     164                    return False
     165            return True
     166
    128167    index = setuptools.package_index.PackageIndex(
    129         search_path=[distribute_path])
     168        search_path=[setuptools_path])
    130169    if find_links:
    131170        index.add_find_links((find_links,))
     
    150189
    151190import subprocess
    152 if subprocess.call(cmd, env=dict(os.environ, PYTHONPATH=distribute_path)) != 0:
     191if subprocess.call(cmd) != 0:
    153192    raise Exception(
    154         "Failed to execute command:\n%s",
    155         repr(cmd)[1:-1])
     193        "Failed to execute command:\n%s" % repr(cmd)[1:-1])
    156194
    157195######################################################################
  • main/waeup.kofa/branches/uli-upgrade-dependencies/versions.cfg

    r13575 r13600  
    1515# Pinned to prevent buildout svn-error.
    1616lovely.recipe = 1.0.0
     17mechanize = 0.2.5
    1718megrok.layout = 1.0.2
    1819reportlab = 2.5
     20setuptools = 19.2
    1921transaction = 1.1.0
    2022z3c.testsetup = 0.6.1
    21 zc.buildout = 2.1.0
     23zc.buildout = 2.5.0
    2224zc.recipe.egg = 2.0.0a3
    2325zc.recipe.testrunner = 2.0.0
    24 zope.app.testing = 3.8.1
     26zope.app.testing = 3.9.0
    2527# for support of @provider directive
    2628zope.interface = 3.6.3
    2729# for support of contextual default values
    2830zope.schema = 3.8.0
     31zope.testbrowser = 4.0.4
    2932zope.testing = 3.10.2
    3033zope.xmlpickle = 3.4.0
    3134# Require latest version...
    32 Sphinx => 1.3.1
     35Sphinx = 1.3.3
    3336Pygments = 2.0
    3437ZODB3 = 3.10.3
     
    172175# Added by buildout at 2015-03-31 10:11:41.296069
    173176horae.sphinx.grok = 1.0a1
    174 
    175 # Added by buildout at 2015-11-24 17:19:20.220424
    176 Sphinx = 1.4a0.dev-20151124
Note: See TracChangeset for help on using the changeset viewer.