Changeset 13657


Ignore:
Timestamp:
8 Feb 2016, 09:30:44 (9 years ago)
Author:
uli
Message:

Merge changes from branch uli-upgrade-dependencies back into trunk.

These changes replace the old bootstrap.py script with a more recent version.

Apart from that only some testing packages have been upgraded, to get a
minimal set of changes.

Tests with existing instances and docker succeeded when done in a fresh
virtualenv. That means, that for existing instances it might be neccessary
to create a new virtualenv and to run bootstrap.py and buildout from
this new virtualenv afterwards.

Location:
main/waeup.kofa/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/trunk

  • main/waeup.kofa/trunk/bootstrap.py

    r11851 r13657  
    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/trunk/src/waeup/kofa

  • main/waeup.kofa/trunk/src/waeup/kofa/applicants/tests/test_browser.py

    r13648 r13657  
    11931193        self.assertTrue(
    11941194            'Application submitted' in self.browser.contents)
    1195         self.browser.goBack(count=1)
    1196         self.browser.getControl("Save").click()
    1197         # The form is locked.
    1198         self.assertTrue(self.applicant.locked)
    1199         self.assertTrue(
    1200             'The requested form is locked' in self.browser.contents)
    1201         self.browser.goBack(count=1)
    1202         self.browser.getControl("Finally Submit").click()
    1203         self.assertTrue(
    1204             'The requested form is locked' in self.browser.contents)
    12051195        return
    12061196
  • main/waeup.kofa/trunk/src/waeup/kofa/doctests/pages.txt

    r12966 r13657  
    656656  ...
    657657  LookupError: name 'form.code'
     658  available items:
     659    <TextControl(form.title=My Course 1)>
     660    ...
     661
    658662
    659663Let's set a new title and save the form:
     
    899903  ...
    900904  LookupError: name 'form.code'
     905  available items:
     906    <TextControl(form.title=My Certificate 1)>
     907    ...
     908
    901909
    902910Let's set a new title and save the form:
  • main/waeup.kofa/trunk/versions.cfg

    r13605 r13657  
    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
Note: See TracChangeset for help on using the changeset viewer.