Commit 96f2536d authored by tarek's avatar tarek

bootstrapping.py -> distribute_setup.py

--HG--
branch : distribute
extra : rebase_source : 4e57a0bc1a8bea73bc8ed0f102d0e0907c554235
parent def1a4f5
...@@ -40,20 +40,20 @@ are available at the PyPI page and here : ...@@ -40,20 +40,20 @@ are available at the PyPI page and here :
http://bitbucket.org/tarek/distribute/downloads. http://bitbucket.org/tarek/distribute/downloads.
It can be installed using easy_install or pip, with the source tarball, with the It can be installed using easy_install or pip, with the source tarball, with the
eggs distribution, or using the ``bootstrapping.py`` script provided online. eggs distribution, or using the ``distribute_setup.py`` script provided online.
``bootstrapping.py`` is the simplest and preferred way on all systems. ``distribute_setup.py`` is the simplest and preferred way on all systems.
bootstrapping.py distribute_setup.py
================ ===================
Download ``bootstrapping.py`` and execute it, using the Python interpreter of Download ``distribute_setup.py`` and execute it, using the Python interpreter of
your choice. your choice.
If your shell has the `wget` programm you can do:: If your shell has the `wget` program you can do::
$ wget http://bitbucket.org/tarek/distribute/downloads/bootstrapping.py $ wget http://bitbucket.org/tarek/distribute/downloads/distribute_setup.py
$ python bootstrapping.py $ python distribute_setup.py
easy_install or pip easy_install or pip
=================== ===================
...@@ -117,7 +117,7 @@ Windows ...@@ -117,7 +117,7 @@ Windows
------- -------
Don't install Distribute trying to execute the egg, because it's aimed to Don't install Distribute trying to execute the egg, because it's aimed to
sh-based shells. Instead, use the ``bootstrapping.py`` method, that will sh-based shells. Instead, use the ``distribute_setup.py`` method, that will
download the egg for you, then install the egg. download the egg for you, then install the egg.
--------------------------- ---------------------------
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
If you want to use setuptools in your package's setup.py, just include this If you want to use setuptools in your package's setup.py, just include this
file in the same directory with it, and add this to the top of your setup.py:: file in the same directory with it, and add this to the top of your setup.py::
from bootstrapping import use_setuptools from distribute_setup import use_setuptools
use_setuptools() use_setuptools()
If you want to require a specific version of setuptools, set a download If you want to require a specific version of setuptools, set a download
...@@ -391,7 +391,7 @@ def main(argv, version=DEFAULT_VERSION): ...@@ -391,7 +391,7 @@ def main(argv, version=DEFAULT_VERSION):
#main(argv) #main(argv)
else: else:
print "distribute version",version,"or greater has been installed." print "distribute version",version,"or greater has been installed."
print '(Run "bootstrapping.py -U distribute" to reinstall or upgrade.)' print '(Run "distribute_setup.py -U distribute" to reinstall or upgrade.)'
def update_md5(filenames): def update_md5(filenames):
"""Update our built-in md5 registry""" """Update our built-in md5 registry"""
......
...@@ -94,7 +94,7 @@ directory, you can also retarget the installation location for scripts so they ...@@ -94,7 +94,7 @@ directory, you can also retarget the installation location for scripts so they
go on a directory that's already on the ``PATH``. For more information see the go on a directory that's already on the ``PATH``. For more information see the
sections below on `Command-Line Options`_ and `Configuration Files`_. You sections below on `Command-Line Options`_ and `Configuration Files`_. You
can pass command line options (such as ``--script-dir``) to can pass command line options (such as ``--script-dir``) to
``bootstrapping.py`` to control where ``easy_install.exe`` will be installed. ``distribute_setup.py`` to control where ``easy_install.exe`` will be installed.
...@@ -1111,7 +1111,7 @@ already have them:: ...@@ -1111,7 +1111,7 @@ already have them::
install_lib = ~/py-lib install_lib = ~/py-lib
install_scripts = ~/bin install_scripts = ~/bin
Be sure to do this *before* you try to run the ``bootstrapping.py`` Be sure to do this *before* you try to run the ``distribute_setup.py``
installation script. Then, follow the standard `installation instructions`_, installation script. Then, follow the standard `installation instructions`_,
but make sure that ``~/py-lib`` is listed in your ``PYTHONPATH`` environment but make sure that ``~/py-lib`` is listed in your ``PYTHONPATH`` environment
variable. variable.
......
...@@ -15,7 +15,7 @@ including just a single `bootstrap module`_ (an 8K .py file), your package will ...@@ -15,7 +15,7 @@ including just a single `bootstrap module`_ (an 8K .py file), your package will
automatically download and install ``setuptools`` if the user is building your automatically download and install ``setuptools`` if the user is building your
package from source and doesn't have a suitable version already installed. package from source and doesn't have a suitable version already installed.
.. _bootstrap module: http://cdn.bitbucket.org/tarek/distribute/downloads/bootstrapping.py .. _bootstrap module: http://cdn.bitbucket.org/tarek/distribute/downloads/distribute_setup.py
Feature Highlights: Feature Highlights:
...@@ -72,7 +72,7 @@ is available from the `Python SVN sandbox`_, and in-development versions of the ...@@ -72,7 +72,7 @@ is available from the `Python SVN sandbox`_, and in-development versions of the
.. contents:: **Table of Contents** .. contents:: **Table of Contents**
.. _bootstrapping.py: `bootstrap module`_ .. _distribute_setup.py: `bootstrap module`_
----------------- -----------------
...@@ -95,7 +95,7 @@ other than Python's ``site-packages`` directory. ...@@ -95,7 +95,7 @@ other than Python's ``site-packages`` directory.
If you want the current in-development version of setuptools, you should first If you want the current in-development version of setuptools, you should first
install a stable version, and then run:: install a stable version, and then run::
bootstrapping.py setuptools==dev distribute_setup.py setuptools==dev
This will download and install the latest development (i.e. unstable) version This will download and install the latest development (i.e. unstable) version
of setuptools from the Python Subversion sandbox. of setuptools from the Python Subversion sandbox.
...@@ -523,7 +523,7 @@ Python must be available via the ``PATH`` environment variable, under its ...@@ -523,7 +523,7 @@ Python must be available via the ``PATH`` environment variable, under its
"long" name. That is, if the egg is built for Python 2.3, there must be a "long" name. That is, if the egg is built for Python 2.3, there must be a
``python2.3`` executable present in a directory on ``PATH``. ``python2.3`` executable present in a directory on ``PATH``.
This feature is primarily intended to support bootstrapping the installation of This feature is primarily intended to support distribute_setup the installation of
setuptools itself on non-Windows platforms, but may also be useful for other setuptools itself on non-Windows platforms, but may also be useful for other
projects as well. projects as well.
...@@ -1102,18 +1102,18 @@ Using ``setuptools``... Without bundling it! ...@@ -1102,18 +1102,18 @@ Using ``setuptools``... Without bundling it!
Your users might not have ``setuptools`` installed on their machines, or even Your users might not have ``setuptools`` installed on their machines, or even
if they do, it might not be the right version. Fixing this is easy; just if they do, it might not be the right version. Fixing this is easy; just
download `bootstrapping.py`_, and put it in the same directory as your ``setup.py`` download `distribute_setup.py`_, and put it in the same directory as your ``setup.py``
script. (Be sure to add it to your revision control system, too.) Then add script. (Be sure to add it to your revision control system, too.) Then add
these two lines to the very top of your setup script, before the script imports these two lines to the very top of your setup script, before the script imports
anything from setuptools:: anything from setuptools::
import bootstrapping import distribute_setup
bootstrapping.use_setuptools() distribute_setup.use_setuptools()
That's it. The ``bootstrapping`` module will automatically download a matching That's it. The ``distribute_setup`` module will automatically download a matching
version of ``setuptools`` from PyPI, if it isn't present on the target system. version of ``setuptools`` from PyPI, if it isn't present on the target system.
Whenever you install an updated version of setuptools, you should also update Whenever you install an updated version of setuptools, you should also update
your projects' ``bootstrapping.py`` files, so that a matching version gets installed your projects' ``distribute_setup.py`` files, so that a matching version gets installed
on the target machine(s). on the target machine(s).
By the way, setuptools supports the new PyPI "upload" command, so you can use By the way, setuptools supports the new PyPI "upload" command, so you can use
...@@ -1143,7 +1143,7 @@ relevant to your project and your target audience isn't already familiar with ...@@ -1143,7 +1143,7 @@ relevant to your project and your target audience isn't already familiar with
setuptools and ``easy_install``. setuptools and ``easy_install``.
Network Access Network Access
If your project is using ``bootstrapping``, you should inform users of the If your project is using ``distribute_setup``, you should inform users of the
need to either have network access, or to preinstall the correct version of need to either have network access, or to preinstall the correct version of
setuptools using the `EasyInstall installation instructions`_. Those setuptools using the `EasyInstall installation instructions`_. Those
instructions also have tips for dealing with firewalls as well as how to instructions also have tips for dealing with firewalls as well as how to
...@@ -1223,27 +1223,27 @@ Creating System Packages ...@@ -1223,27 +1223,27 @@ Creating System Packages
Managing Multiple Projects Managing Multiple Projects
-------------------------- --------------------------
If you're managing several projects that need to use ``bootstrapping``, and you If you're managing several projects that need to use ``distribute_setup``, and you
are using Subversion as your revision control system, you can use the are using Subversion as your revision control system, you can use the
"svn:externals" property to share a single copy of ``bootstrapping`` between "svn:externals" property to share a single copy of ``distribute_setup`` between
projects, so that it will always be up-to-date whenever you check out or update projects, so that it will always be up-to-date whenever you check out or update
an individual project, without having to manually update each project to use an individual project, without having to manually update each project to use
a new version. a new version.
However, because Subversion only supports using directories as externals, you However, because Subversion only supports using directories as externals, you
have to turn ``bootstrapping.py`` into ``bootstrapping/__init__.py`` in order have to turn ``distribute_setup.py`` into ``distribute_setup/__init__.py`` in order
to do this, then create "externals" definitions that map the ``bootstrapping`` to do this, then create "externals" definitions that map the ``distribute_setup``
directory into each project. Also, if any of your projects use directory into each project. Also, if any of your projects use
``find_packages()`` on their setup directory, you will need to exclude the ``find_packages()`` on their setup directory, you will need to exclude the
resulting ``bootstrapping`` package, to keep it from being included in your resulting ``distribute_setup`` package, to keep it from being included in your
distributions, e.g.:: distributions, e.g.::
setup( setup(
... ...
packages = find_packages(exclude=['bootstrapping']), packages = find_packages(exclude=['distribute_setup']),
) )
Of course, the ``bootstrapping`` package will still be included in your Of course, the ``distribute_setup`` package will still be included in your
packages' source distributions, as it needs to be. packages' source distributions, as it needs to be.
For your convenience, you may use the following external definition, which will For your convenience, you may use the following external definition, which will
...@@ -2584,7 +2584,7 @@ XXX ...@@ -2584,7 +2584,7 @@ XXX
Reusing ``setuptools`` Code Reusing ``setuptools`` Code
=========================== ===========================
``bootstrapping`` ``distribute_setup``
----------------- -----------------
XXX XXX
......
...@@ -15,10 +15,10 @@ python2.6 setup.py -q egg_info -RDb '' bdist_egg ...@@ -15,10 +15,10 @@ python2.6 setup.py -q egg_info -RDb '' bdist_egg
python2.6 setup.py -q egg_info -RDb '' sdist python2.6 setup.py -q egg_info -RDb '' sdist
# updating the md5 hashes # updating the md5 hashes
python bootstrapping.py --md5update dist/distribute-$VERSION-py2.3.egg python distribute_setup.py --md5update dist/distribute-$VERSION-py2.3.egg
python bootstrapping.py --md5update dist/distribute-$VERSION-py2.4.egg python distribute_setup.py --md5update dist/distribute-$VERSION-py2.4.egg
python bootstrapping.py --md5update dist/distribute-$VERSION-py2.5.egg python distribute_setup.py --md5update dist/distribute-$VERSION-py2.5.egg
python bootstrapping.py --md5update dist/distribute-$VERSION-py2.6.egg python distribute_setup.py --md5update dist/distribute-$VERSION-py2.6.egg
# XXX uploads will be done here # XXX uploads will be done here
...@@ -17,7 +17,7 @@ scripts = [] ...@@ -17,7 +17,7 @@ scripts = []
# if we are installing Distribute using "python setup.py install" # if we are installing Distribute using "python setup.py install"
# we need to get setuptools out of the way # we need to get setuptools out of the way
if 'install' in sys.argv[1:]: if 'install' in sys.argv[1:]:
from bootstrapping import before_install from distribute_setup import before_install
before_install() before_install()
dist = setup( dist = setup(
...@@ -101,7 +101,7 @@ dist = setup( ...@@ -101,7 +101,7 @@ dist = setup(
scripts = scripts, scripts = scripts,
) )
if 'install' in sys.argv[1:]: if 'install' in sys.argv[1:]:
from bootstrapping import after_install from distribute_setup import after_install
after_install(dist) after_install(dist)
...@@ -18,7 +18,7 @@ __all__ = [ ...@@ -18,7 +18,7 @@ __all__ = [
# or by the Distribute project, in case Setuptools creates # or by the Distribute project, in case Setuptools creates
# a distribution with the same version. # a distribution with the same version.
# #
# The bootstrapping script for instance, will check if this # The distribute_setup script for instance, will check if this
# attribute is present to decide wether to reinstall the package # attribute is present to decide wether to reinstall the package
_distribute = True _distribute = True
...@@ -43,7 +43,7 @@ def find_packages(where='.', exclude=()): ...@@ -43,7 +43,7 @@ def find_packages(where='.', exclude=()):
os.path.isfile(os.path.join(fn,'__init__.py')) os.path.isfile(os.path.join(fn,'__init__.py'))
): ):
out.append(prefix+name); stack.append((fn,prefix+name+'.')) out.append(prefix+name); stack.append((fn,prefix+name+'.'))
for pat in list(exclude)+['ez_setup', 'bootstrapping']: for pat in list(exclude)+['ez_setup', 'distribute_setup']:
from fnmatch import fnmatchcase from fnmatch import fnmatchcase
out = [item for item in out if not fnmatchcase(item,pat)] out = [item for item in out if not fnmatchcase(item,pat)]
return out return out
......
...@@ -2,8 +2,8 @@ import urllib2 ...@@ -2,8 +2,8 @@ import urllib2
import sys import sys
import os import os
if os.path.exists('bootstrapping.py'): if os.path.exists('distribute_setup.py'):
print 'bootstrapping.py exists in the current dir, aborting' print 'distribute_setup.py exists in the current dir, aborting'
sys.exit(2) sys.exit(2)
print '**** Starting Test' print '**** Starting Test'
...@@ -14,13 +14,13 @@ if is_jython: ...@@ -14,13 +14,13 @@ if is_jython:
import subprocess import subprocess
print 'Downloading bootstrap' print 'Downloading bootstrap'
file = urllib2.urlopen('http://nightly.ziade.org/bootstrapping.py') file = urllib2.urlopen('http://nightly.ziade.org/distribute_setup.py')
f = open('bootstrapping.py', 'w') f = open('distribute_setup.py', 'w')
f.write(file.read()) f.write(file.read())
f.close() f.close()
# running it # running it
args = [sys.executable] + ['bootstrapping.py'] args = [sys.executable] + ['distribute_setup.py']
if is_jython: if is_jython:
res = subprocess.call(args) res = subprocess.call(args)
else: else:
...@@ -28,7 +28,7 @@ else: ...@@ -28,7 +28,7 @@ else:
if res != 0: if res != 0:
print '**** Test failed, please send me the output at tarek@ziade.org' print '**** Test failed, please send me the output at tarek@ziade.org'
os.remove('bootstrapping.py') os.remove('distribute_setup.py')
sys.exit(2) sys.exit(2)
# now checking if Distribute is installed # now checking if Distribute is installed
...@@ -71,5 +71,5 @@ try: ...@@ -71,5 +71,5 @@ try:
finally: finally:
if os.path.exists(script_name): if os.path.exists(script_name):
os.remove(script_name) os.remove(script_name)
os.remove('bootstrapping.py') os.remove('distribute_setup.py')
...@@ -115,8 +115,8 @@ def main(): ...@@ -115,8 +115,8 @@ def main():
print 'Please make sure you remove any previous custom paths from' print 'Please make sure you remove any previous custom paths from'
print "your", pydistutils, "file." print "your", pydistutils, "file."
print "You're now ready to download bootstrapping.py, and run" print "You're now ready to download distribute_setup.py, and run"
print py_executable, "bootstrapping.py" print py_executable, "distribute_setup.py"
if __name__ == '__main__': if __name__ == '__main__':
main() main()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment