Matej Cepl 2020-04-01 12:54:12 +00:00 committed by Git OBS Bridge
commit f87c837629
11 changed files with 2409 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>test</package>
</multibuild>

39
importlib.patch Normal file
View File

@ -0,0 +1,39 @@
Index: setuptools-41.6.0/setuptools/_imp.py
===================================================================
--- setuptools-41.6.0.orig/setuptools/_imp.py
+++ setuptools-41.6.0/setuptools/_imp.py
@@ -19,7 +19,10 @@ PY_FROZEN = 7
def find_module(module, paths=None):
"""Just like 'imp.find_module()', but with package support"""
- spec = importlib.util.find_spec(module, paths)
+ if isinstance(paths, list):
+ spec = importlib.machinery.PathFinder.find_spec(module, paths)
+ else:
+ spec = importlib.util.find_spec(module, paths)
if spec is None:
raise ImportError("Can't find %s" % module)
if not spec.has_location and hasattr(spec, 'submodule_search_locations'):
@@ -60,14 +63,20 @@ def find_module(module, paths=None):
def get_frozen_object(module, paths=None):
- spec = importlib.util.find_spec(module, paths)
+ if isinstance(paths, list):
+ spec = importlib.machinery.PathFinder.find_spec(module, paths)
+ else:
+ spec = importlib.util.find_spec(module, paths)
if not spec:
raise ImportError("Can't find %s" % module)
return spec.loader.get_code(module)
def get_module(module, paths, info):
- spec = importlib.util.find_spec(module, paths)
+ if isinstance(paths, list):
+ spec = importlib.machinery.PathFinder.find_spec(module, paths)
+ else:
+ spec = importlib.util.find_spec(module, paths)
if not spec:
raise ImportError("Can't find %s" % module)
return module_from_spec(spec)

216
psfl.txt Normal file
View File

@ -0,0 +1,216 @@
Python Software Foundation License
Python 2.1.1 license
This is the official license for the Python 2.1.1 release:
A. HISTORY OF THE SOFTWARE
==========================
Python was created in the early 1990s by Guido van Rossum at Stichting
Mathematisch Centrum (CWI) in the Netherlands as a successor of a language
called ABC. Guido is Python's principal author, although it includes many
contributions from others. The last version released from CWI was Python 1.2.
In 1995, Guido continued his work on Python at the Corporation for National
Research Initiatives (CNRI) in Reston, Virginia where he released several
versions of the software. Python 1.6 was the last of the versions released by
CNRI. In 2000, Guido and the Python core development team moved to BeOpen.com
to form the BeOpen PythonLabs team. Python 2.0 was the first and only release
from BeOpen.com.
Following the release of Python 1.6, and after Guido van Rossum left CNRI to
work with commercial software developers, it became clear that the ability to
use Python with software available under the GNU Public License (GPL) was very
desirable. CNRI and the Free Software Foundation (FSF) interacted to develop
enabling wording changes to the Python license. Python 1.6.1 is essentially the
same as Python 1.6, with a few minor bug fixes, and with a different license
that enables later versions to be GPL-compatible. Python 2.1 is a derivative
work of Python 1.6.1, as well as of Python 2.0.
After Python 2.0 was released by BeOpen.com, Guido van Rossum and the other
PythonLabs developers joined Digital Creations. All intellectual property added
from this point on, starting with Python 2.1 and its alpha and beta releases,
is owned by the Python Software Foundation (PSF), a non-profit modeled after
the Apache Software Foundation. See http://www.python.org/psf/ for more
information about the PSF.
Thanks to the many outside volunteers who have worked under Guido's direction
to make these releases possible.
B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
===============================================================
PSF LICENSE AGREEMENT
---------------------
1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"),
and the Individual or Organization ("Licensee") accessing and otherwise using
Python 2.1.1 software in source or binary form and its associated
documentation.
2. Subject to the terms and conditions of this License Agreement, PSF hereby
grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
analyze, test, perform and/or display publicly, prepare derivative works,
distribute, and otherwise use Python 2.1.1 alone or in any derivative version,
provided, however, that PSF's License Agreement and PSF's notice of copyright,
i.e., "Copyright (c) 2001 Python Software Foundation; All Rights Reserved" are
retained in Python 2.1.1 alone or in any derivative version prepared by
Licensee.
3. In the event Licensee prepares a derivative work that is based on or
incorporates Python 2.1.1 or any part thereof, and wants to make the derivative
work available to others as provided herein, then Licensee hereby agrees to
include in any such work a brief summary of the changes made to Python 2.1.1.
4. PSF is making Python 2.1.1 available to Licensee on an "AS IS" basis. PSF
MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE,
BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY
OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF
PYTHON 2.1.1 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 2.1.1 FOR
ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF
MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.1.1, OR ANY DERIVATIVE
THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
6. This License Agreement will automatically terminate upon a material breach
of its terms and conditions.
7. Nothing in this License Agreement shall be deemed to create any relationship
of agency, partnership, or joint venture between PSF and Licensee. This License
Agreement does not grant permission to use PSF trademarks or trade name in a
trademark sense to endorse or promote products or services of Licensee, or any
third party.
8. By copying, installing or otherwise using Python 2.1.1, Licensee agrees to
be bound by the terms and conditions of this License Agreement.
BEOPEN.COM TERMS AND CONDITIONS FOR PYTHON 2.0
----------------------------------------------
BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an office at
160 Saratoga Avenue, Santa Clara, CA 95051, and the Individual or Organization
("Licensee") accessing and otherwise using this software in source or binary
form and its associated documentation ("the Software").
2. Subject to the terms and conditions of this BeOpen Python License Agreement,
BeOpen hereby grants Licensee a non-exclusive, royalty-free, world-wide license
to reproduce, analyze, test, perform and/or display publicly, prepare
derivative works, distribute, and otherwise use the Software alone or in any
derivative version, provided, however, that the BeOpen Python License is
retained in the Software, alone or in any derivative version prepared by
Licensee.
3. BeOpen is making the Software available to Licensee on an "AS IS" basis.
BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF
EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND DISCLAIMS ANY REPRESENTATION
OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT
THE USE OF THE SOFTWARE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE
FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF
USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE THEREOF, EVEN
IF ADVISED OF THE POSSIBILITY THEREOF.
5. This License Agreement will automatically terminate upon a material breach
of its terms and conditions.
6. This License Agreement shall be governed by and interpreted in all respects
by the law of the State of California, excluding conflict of law provisions.
Nothing in this License Agreement shall be deemed to create any relationship of
agency, partnership, or joint venture between BeOpen and Licensee. This License
Agreement does not grant permission to use BeOpen trademarks or trade names in
a trademark sense to endorse or promote products or services of Licensee, or
any third party. As an exception, the "BeOpen Python" logos available at
http://www.pythonlabs.com/logos.html may be used according to the permissions
granted on that web page.
7. By copying, installing or otherwise using the software, Licensee agrees to
be bound by the terms and conditions of this License Agreement.
CNRI OPEN SOURCE GPL-COMPATIBLE LICENSE AGREEMENT
-------------------------------------------------
1. This LICENSE AGREEMENT is between the Corporation for National Research
Initiatives, having an office at 1895 Preston White Drive, Reston, VA 20191
("CNRI"), and the Individual or Organization ("Licensee") accessing and
otherwise using Python 1.6.1 software in source or binary form and its
associated documentation.
2. Subject to the terms and conditions of this License Agreement, CNRI hereby
grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
analyze, test, perform and/or display publicly, prepare derivative works,
distribute, and otherwise use Python 1.6.1 alone or in any derivative version,
provided, however, that CNRI's License Agreement and CNRI's notice of
copyright, i.e., "Copyright (c) 1995-2001 Corporation for National Research
Initiatives; All Rights Reserved" are retained in Python 1.6.1 alone or in any
derivative version prepared by Licensee. Alternately, in lieu of CNRI's License
Agreement, Licensee may substitute the following text (omitting the quotes):
"Python 1.6.1 is made available subject to the terms and conditions in CNRI's
License Agreement. This Agreement together with Python 1.6.1 may be located on
the Internet using the following unique, persistent identifier (known as a
handle): 1895.22/1013. This Agreement may also be obtained from a proxy server
on the Internet using the following URL: http://hdl.handle.net/1895.22/1013".
3. In the event Licensee prepares a derivative work that is based on or
incorporates Python 1.6.1 or any part thereof, and wants to make the derivative
work available to others as provided herein, then Licensee hereby agrees to
include in any such work a brief summary of the changes made to Python 1.6.1.
4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" basis. CNRI
MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE,
BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY
OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF
PYTHON 1.6.1 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 1.6.1 FOR
ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF
MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, OR ANY DERIVATIVE
THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
6. This License Agreement will automatically terminate upon a material breach
of its terms and conditions.
7. This License Agreement shall be governed by the federal intellectual
property law of the United States, including without limitation the federal
copyright law, and, to the extent such U.S. federal law does not apply, by the
law of the Commonwealth of Virginia, excluding Virginia's conflict of law
provisions. Notwithstanding the foregoing, with regard to derivative works
based on Python 1.6.1 that incorporate non-separable material that was
previously distributed under the GNU General Public License (GPL), the law of
the Commonwealth of Virginia shall govern this License Agreement only as to
issues arising under or with respect to Paragraphs 4, 5, and 7 of this License
Agreement. Nothing in this License Agreement shall be deemed to create any
relationship of agency, partnership, or joint venture between CNRI and
Licensee. This License Agreement does not grant permission to use CNRI
trademarks or trade name in a trademark sense to endorse or promote products or
services of Licensee, or any third party.
8. By clicking on the "ACCEPT" button where indicated, or by copying,
installing or otherwise using Python 1.6.1, Licensee agrees to be bound by the
terms and conditions of this License Agreement.
ACCEPT
CWI PERMISSIONS STATEMENT AND DISCLAIMER
----------------------------------------
Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, The
Netherlands. All rights reserved.
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted, provided that
the above copyright notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting documentation, and that
the name of Stichting Mathematisch Centrum or CWI not be used in advertising or
publicity pertaining to distribution of the software without specific, written
prior permission.
STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE FOR ANY SPECIAL,
INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
THIS SOFTWARE.

1848
python-setuptools.changes Normal file

File diff suppressed because it is too large Load Diff

161
python-setuptools.spec Normal file
View File

@ -0,0 +1,161 @@
#
# spec file for package python-setuptools
#
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define oldpython python
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
%endif
%bcond_without python2
Name: python-setuptools%{psuffix}
Version: 44.0.0
Release: 0
Summary: Enhancements to distutils for building and distributing Python packages
License: Python-2.0 OR ZPL-2.0
URL: https://github.com/pypa/setuptools
Source: https://files.pythonhosted.org/packages/source/s/setuptools/setuptools-%{version}.zip
Source1: psfl.txt
Source2: zpl.txt
Source3: testdata.tar.gz
Patch0: sort-for-reproducibility.patch
Patch1: importlib.patch
BuildRequires: %{python_module appdirs}
BuildRequires: %{python_module ordered-set}
BuildRequires: %{python_module packaging}
BuildRequires: %{python_module pyparsing >= 2.0.2}
BuildRequires: %{python_module six}
BuildRequires: %{python_module xml}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildRequires: unzip
Requires: python-appdirs
Requires: python-base
Requires: python-ordered-set
Requires: python-packaging
Requires: python-six
Requires: python-xml
Requires(post): update-alternatives
Requires(postun): update-alternatives
BuildArch: noarch
# The dependency download feature may require SSL, which is in python3-base and python(2)
%ifpython2
Requires: python
%endif
%if %{with test}
BuildRequires: %{python_module Paver}
BuildRequires: %{python_module devel}
BuildRequires: %{python_module mock}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest-fixture-config}
BuildRequires: %{python_module pytest-virtualenv}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools >= %{version}}
BuildRequires: %{python_module wheel}
%if %{with python2}
BuildRequires: python-futures
%endif
%endif
%if 0%{?suse_version} || 0%{?fedora_version} >= 24
Recommends: ca-certificates-mozilla
%endif
%ifpython2
Provides: %{oldpython}-distribute = %{version}
Obsoletes: %{oldpython}-distribute < %{version}
%endif
%python_subpackages
%description
setuptools is a collection of enhancements to the Python distutils that
allow you to build and distribute Python packages,
especially ones that have dependencies on other packages.
%prep
%setup -q -n setuptools-%{version}
tar -xzvf %{SOURCE3}
%patch0 -p1
%patch1 -p1
find . -type f -name "*.orig" -delete
# fix rpmlint spurious-executable-perm
chmod -x README.rst
# strip shebangs to fix rpmlint warnings
# "explain the sed":
# 1 = first line only
# s@...@...@ = same as s/.../.../ except with @ instead of /
# ^ = start; #!/ = shebang leading characters; .* = rest of line; $ = end
# replace with nothing
sed -r -i '1s@^#!/.*$@@' setuptools/command/easy_install.py
# replace the bundled stuff
find ./ -type f -name \*.py -exec sed -i \
-e 's:from setuptools\.extern\.:from :g' \
-e 's:from pkg_resources\.extern\.:from :g' \
-e 's:pkg_resources\.extern\.::g' \
-e 's:setuptools\.extern\.::g' \
{} \;
find ./ -type f -name \*.py -exec sed -i \
-e 's:from setuptools\.extern ::g' \
-e 's:from pkg_resources\.extern ::g' \
{} \;
find ./ -type f -name \*.py -exec sed -i \
-e 's:from .extern ::g' \
{} \;
%build
%python_build
%install
%if !%{with test}
%python_install
%prepare_alternative easy_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%endif
%check
%if %{with test}
# the 4 skipped test rely on the bundled packages but they are
# not available on virtualenv; this is expected behaviour
export LANG=en_US.UTF-8
%pytest -k 'not (test_clean_env_install or test_pip_upgrade_from_source or test_test_command_install_requirements or test_no_missing_dependencies)'
%endif
%if !%{with test}
%post
%python_install_alternative easy_install
%postun
%python_uninstall_alternative easy_install
%files %{python_files}
%doc CHANGES.rst README.rst
%python_alternative %{_bindir}/easy_install
%{python_sitelib}/setuptools
%{python_sitelib}/setuptools-%{version}-py%{python_version}.egg-info
%{python_sitelib}/easy_install.py*
%pycache_only %{python_sitelib}/__pycache__/easy_install.*
%dir %{python_sitelib}/pkg_resources
%{python_sitelib}/pkg_resources/*
%endif
%changelog

BIN
setuptools-44.0.0.zip (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,53 @@
Index: setuptools-41.4.0/setuptools/command/easy_install.py
===================================================================
--- setuptools-41.4.0.orig/setuptools/command/easy_install.py
+++ setuptools-41.4.0/setuptools/command/easy_install.py
@@ -417,7 +417,7 @@ class easy_install(Command):
for spec in self.args:
self.easy_install(spec, not self.no_deps)
if self.record:
- outputs = self.outputs
+ outputs = list(sorted(self.outputs))
if self.root: # strip any package prefix
root_len = len(self.root)
for counter in range(len(outputs)):
Index: setuptools-41.4.0/setuptools/command/egg_info.py
===================================================================
--- setuptools-41.4.0.orig/setuptools/command/egg_info.py
+++ setuptools-41.4.0/setuptools/command/egg_info.py
@@ -638,7 +638,7 @@ def warn_depends_obsolete(cmd, basename,
def _write_requirements(stream, reqs):
lines = yield_lines(reqs or ())
append_cr = lambda line: line + '\n'
- lines = map(append_cr, lines)
+ lines = map(append_cr, sorted(lines))
stream.writelines(lines)
Index: setuptools-41.4.0/setuptools/dist.py
===================================================================
--- setuptools-41.4.0.orig/setuptools/dist.py
+++ setuptools-41.4.0/setuptools/dist.py
@@ -195,7 +195,7 @@ def write_pkg_file(self, file):
self.long_description_content_type
)
if self.provides_extras:
- for extra in self.provides_extras:
+ for extra in sorted(self.provides_extras):
write_field('Provides-Extra', extra)
Index: setuptools-41.4.0/setuptools/tests/test_egg_info.py
===================================================================
--- setuptools-41.4.0.orig/setuptools/tests/test_egg_info.py
+++ setuptools-41.4.0/setuptools/tests/test_egg_info.py
@@ -291,8 +291,8 @@ class TestEggInfo:
wheel>=0.5
pytest
- wheel>=0.5
pytest
+ wheel>=0.5
''',
'''

3
testdata.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0b627ac8b927edfbd4154fb31316e700c678017c3b04e6c5452a1ba03eacb00e
size 1618

59
zpl.txt Normal file
View File

@ -0,0 +1,59 @@
Zope Public License (ZPL) Version 2.0
-----------------------------------------------
This software is Copyright (c) Zope Corporation (tm) and
Contributors. All rights reserved.
This license has been certified as open source. It has also
been designated as GPL compatible by the Free Software
Foundation (FSF).
Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the
following conditions are met:
1. Redistributions in source code must retain the above
copyright notice, this list of conditions, and the following
disclaimer.
2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions, and the following
disclaimer in the documentation and/or other materials
provided with the distribution.
3. The name Zope Corporation (tm) must not be used to
endorse or promote products derived from this software
without prior written permission from Zope Corporation.
4. The right to distribute this software or to use it for
any purpose does not give you the right to use Servicemarks
(sm) or Trademarks (tm) of Zope Corporation. Use of them is
covered in a separate agreement (see
http://www.zope.com/Marks).
5. If any files are modified, you must cause the modified
files to carry prominent notices stating that you changed
the files and the date of any change.
Disclaimer
THIS SOFTWARE IS PROVIDED BY ZOPE CORPORATION ``AS IS''
AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
NO EVENT SHALL ZOPE CORPORATION OR ITS CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
This software consists of contributions made by Zope
Corporation and many individuals on behalf of Zope
Corporation. Specific attributions are listed in the
accompanying credits file.