Added config.cfg

This commit is contained in:
Yuta
2011-03-20 01:30:20 +09:00
parent 459fdae35f
commit c7c4ab09c8
4 changed files with 196 additions and 39 deletions
+21 -26
View File
@@ -1,4 +1,6 @@
import os
import re
import ConfigParser
VERSION = "0.6.8"
@@ -28,38 +30,31 @@ PATH_PATCHES_MACOSX_PYTHON24 = os.path.join(PATH_PATCHES_MACOSX,"python24")
PATH_BIN_PYTHONBREW = os.path.join(PATH_BIN,'pythonbrew')
PATH_ETC_CURRENT = os.path.join(PATH_ETC,'current')
PATH_ETC_TEMP = os.path.join(PATH_ETC,'temp')
PATH_ETC_CONFIG = os.path.join(PATH_ETC,'config.cfg')
# read config.cfg
config = ConfigParser.SafeConfigParser()
config.read([PATH_ETC_CONFIG, os.path.join(INSTALLER_ROOT,'etc','config.cfg')])
# setuptools download
DISTRIBUTE_SETUP_DLSITE = "http://python-distribute.org/distribute_setup.py"
DISTRIBUTE_SETUP_DLSITE = config.get('distribute', 'url')
# pythonbrew download
PYTHONBREW_UPDATE_URL_HEAD = "http://github.com/utahta/pythonbrew/tarball/master"
PYTHONBREW_UPDATE_URL_PYPI = "http://pypi.python.org/packages/source/p/pythonbrew/pythonbrew-%s.tar.gz"
PYTHONBREW_UPDATE_URL_HEAD = config.get('pythonbrew', 'head')
PYTHONBREW_UPDATE_URL_PYPI = config.get('pythonbrew', 'pypi')
# stable version text
PYTHONBREW_STABLE_VERSION_URL = "https://github.com/utahta/pythonbrew/raw/master/stable-version.txt"
PYTHONBREW_STABLE_VERSION_URL = config.get('pythonbrew', 'stable-version')
# python download
LATEST_VERSIONS_OF_PYTHON = []
PYTHON_VERSION_URL = {}
PYTHON_VERSION_URL["1.5.2"] = "http://www.python.org/ftp/python/src/py152.tgz"
PYTHON_VERSION_URL["1.6.1"] = "http://www.python.org/download/releases/1.6.1/Python-1.6.1.tar.gz"
_PYTHON_VERSIONS_LIST = [
"2.0", "2.0.1",
"2.1", "2.1.1", "2.1.2", "2.1.3",
"2.2", "2.2.1", "2.2.2", "2.2.3",
"2.3", "2.3.1", "2.3.2", "2.3.4", "2.3.5", "2.3.6", "2.3.7",
"2.4", "2.4.1", "2.4.2", "2.4.3", "2.4.4", "2.4.5", "2.4.6",
"2.5", "2.5.1", "2.5.2", "2.5.3", "2.5.4", "2.5.5",
"2.6", "2.6.1", "2.6.2", "2.6.3", "2.6.4", "2.6.5", "2.6.6",
"2.7", "2.7.1",
"3.0", "3.0.1",
"3.1", "3.1.1", "3.1.2", "3.1.3",
"3.2",
]
for version in _PYTHON_VERSIONS_LIST:
PYTHON_VERSION_URL[version] = "http://www.python.org/ftp/python/%s/Python-%s.tgz" % (version, version)
del _PYTHON_VERSIONS_LIST
LATEST_VERSIONS_OF_PYTHON = ['1.5.2', '1.6.1',
'2.0.1', '2.1.3', '2.2.3', '2.3.7', '2.4.6', '2.5.5', '2.6.6', '2.7.1',
'3.0.1', '3.1.3', '3.2']
PYTHON_VERSION_URL["1.5.6"] = config.get('Python-1.5.6', 'url')
PYTHON_VERSION_URL["1.6.1"] = config.get('Python-1.6.1', 'url')
for section in sorted(config.sections()):
m = re.search("^Python-(.*)$", section)
if m:
version = m.group(1)
PYTHON_VERSION_URL[version] = config.get(section, 'url')
if config.has_option(section, 'latest') and config.getboolean(section, 'latest'):
LATEST_VERSIONS_OF_PYTHON.append(version)
+165
View File
@@ -0,0 +1,165 @@
[distribute]
url = "http://python-distribute.org/distribute_setup.py"
[pythonbrew]
head = 'http://github.com/utahta/pythonbrew/tarball/master'
pypi = 'http://pypi.python.org/packages/source/p/pythonbrew/pythonbrew-%%s.tar.gz'
stable-version = 'https://github.com/utahta/pythonbrew/raw/master/stable-version.txt'
[Python-1.5.6]
url = http://www.python.org/ftp/python/src/py152.tgz
latest = True
[Python-1.6.1]
url = http://www.python.org/download/releases/1.6.1/Python-1.6.1.tar.gz
latest = True
[Python-2.0]
url = http://www.python.org/ftp/python/2.0/Python-2.0.tgz
[Python-2.0.1]
url = http://www.python.org/ftp/python/2.0.1/Python-2.0.1.tgz
latest = True
[Python-2.1]
url = http://www.python.org/ftp/python/2.1/Python-2.1.tgz
[Python-2.1.1]
url = http://www.python.org/ftp/python/2.1.1/Python-2.1.1.tgz
[Python-2.1.2]
url = http://www.python.org/ftp/python/2.1.2/Python-2.1.2.tgz
[Python-2.1.3]
url = http://www.python.org/ftp/python/2.1.3/Python-2.1.3.tgz
latest = True
[Python-2.2]
url = http://www.python.org/ftp/python/2.2/Python-2.2.tgz
[Python-2.2.1]
url = http://www.python.org/ftp/python/2.2.1/Python-2.2.1.tgz
[Python-2.2.2]
url = http://www.python.org/ftp/python/2.2.2/Python-2.2.2.tgz
[Python-2.2.3]
url = http://www.python.org/ftp/python/2.2.3/Python-2.2.3.tgz
latest = True
[Python-2.3]
url = http://www.python.org/ftp/python/2.3/Python-2.3.tgz
[Python-2.3.1]
url = http://www.python.org/ftp/python/2.3.1/Python-2.3.1.tgz
[Python-2.3.2]
url = http://www.python.org/ftp/python/2.3.2/Python-2.3.2.tgz
[Python-2.3.4]
url = http://www.python.org/ftp/python/2.3.4/Python-2.3.4.tgz
[Python-2.3.5]
url = http://www.python.org/ftp/python/2.3.5/Python-2.3.5.tgz
[Python-2.3.6]
url = http://www.python.org/ftp/python/2.3.6/Python-2.3.6.tgz
[Python-2.3.7]
url = http://www.python.org/ftp/python/2.3.7/Python-2.3.7.tgz
latest = True
[Python-2.4]
url = http://www.python.org/ftp/python/2.4/Python-2.4.tgz
[Python-2.4.1]
url = http://www.python.org/ftp/python/2.4.1/Python-2.4.1.tgz
[Python-2.4.2]
url = http://www.python.org/ftp/python/2.4.2/Python-2.4.2.tgz
[Python-2.4.3]
url = http://www.python.org/ftp/python/2.4.3/Python-2.4.3.tgz
[Python-2.4.4]
url = http://www.python.org/ftp/python/2.4.4/Python-2.4.4.tgz
[Python-2.4.5]
url = http://www.python.org/ftp/python/2.4.5/Python-2.4.5.tgz
[Python-2.4.6]
url = http://www.python.org/ftp/python/2.4.6/Python-2.4.6.tgz
latest = True
[Python-2.5]
url = http://www.python.org/ftp/python/2.5/Python-2.5.tgz
[Python-2.5.1]
url = http://www.python.org/ftp/python/2.5.1/Python-2.5.1.tgz
[Python-2.5.2]
url = http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tgz
[Python-2.5.3]
url = http://www.python.org/ftp/python/2.5.3/Python-2.5.3.tgz
[Python-2.5.4]
url = http://www.python.org/ftp/python/2.5.4/Python-2.5.4.tgz
[Python-2.5.5]
url = http://www.python.org/ftp/python/2.5.5/Python-2.5.5.tgz
latest = True
[Python-2.6]
url = http://www.python.org/ftp/python/2.6/Python-2.6.tgz
[Python-2.6.1]
url = http://www.python.org/ftp/python/2.6.1/Python-2.6.1.tgz
[Python-2.6.2]
url = http://www.python.org/ftp/python/2.6.2/Python-2.6.2.tgz
[Python-2.6.3]
url = http://www.python.org/ftp/python/2.6.3/Python-2.6.3.tgz
[Python-2.6.4]
url = http://www.python.org/ftp/python/2.6.4/Python-2.6.4.tgz
[Python-2.6.5]
url = http://www.python.org/ftp/python/2.6.5/Python-2.6.5.tgz
[Python-2.6.6]
url = http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz
latest = True
[Python-2.7]
url = http://www.python.org/ftp/python/2.7/Python-2.7.tgz
[Python-2.7.1]
url = http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz
latest = True
[Python-3.0]
url = http://www.python.org/ftp/python/3.0/Python-3.0.tgz
[Python-3.0.1]
url = http://www.python.org/ftp/python/3.0.1/Python-3.0.1.tgz
latest = True
[Python-3.1]
url = http://www.python.org/ftp/python/3.1/Python-3.1.tgz
[Python-3.1.1]
url = http://www.python.org/ftp/python/3.1.1/Python-3.1.1.tgz
[Python-3.1.2]
url = http://www.python.org/ftp/python/3.1.2/Python-3.1.2.tgz
[Python-3.1.3]
url = http://www.python.org/ftp/python/3.1.3/Python-3.1.3.tgz
latest = True
[Python-3.2]
url = http://www.python.org/ftp/python/3.2/Python-3.2.tgz
latest = True
+10 -13
View File
@@ -13,21 +13,16 @@ from pythonbrew.define import PATH_BUILD, PATH_BIN, PATH_DISTS, PATH_PYTHONS,\
PATH_ETC, PATH_SCRIPTS, PATH_SCRIPTS_PYTHONBREW,\
PATH_SCRIPTS_PYTHONBREW_COMMANDS, INSTALLER_ROOT, PATH_BIN_PYTHONBREW,\
ROOT, PATH_LOG, DISTRIBUTE_SETUP_DLSITE, PATH_PATCHES,\
PATH_PATCHES_MACOSX_PYTHON25, PATH_PATCHES_MACOSX_PYTHON24
PATH_PATCHES_MACOSX_PYTHON25, PATH_PATCHES_MACOSX_PYTHON24, PATH_ETC_CONFIG
from pythonbrew.downloader import get_python_version_url, Downloader,\
get_headerinfo_from_url
from pythonbrew.log import logger
def install_pythonbrew():
PythonbrewInstaller().install(INSTALLER_ROOT)
m = re.search("(t?csh)", os.environ.get("SHELL"))
if m:
shrc = "cshrc"
yourshrc = m.group(1)+"rc"
else:
shrc = yourshrc = "bashrc"
# pythonbrew is only for bash
shrc = yourshrc = "bashrc"
logger.info("""
Well-done! Congratulations!
@@ -84,7 +79,7 @@ class PythonbrewInstaller(object):
rm_r(PATH_PATCHES)
shutil.copytree(os.path.join(installer_root,"patches"), PATH_PATCHES)
# create main file
# create a main file
fp = open("%s/pythonbrew_main.py" % PATH_SCRIPTS, "w")
fp.write("""import pythonbrew
if __name__ == "__main__":
@@ -92,7 +87,7 @@ if __name__ == "__main__":
""")
fp.close()
# create entry point
# create entry point file
fp = open(PATH_BIN_PYTHONBREW, "w")
fp.write("""#!/usr/bin/env bash
%s %s/pythonbrew_main.py "$@"
@@ -100,13 +95,15 @@ if __name__ == "__main__":
fp.close()
os.chmod(PATH_BIN_PYTHONBREW, 0755)
# create bashrc
# create a bashrc for pythonbrew
fp = open(os.path.join(PATH_ETC,'bashrc'), 'w')
for line in open(os.path.join(installer_root,'scripts','bashrc')):
for line in open(os.path.join(installer_root,'etc','bashrc')):
line = line.replace('@ROOT@', ROOT)
fp.write(line)
fp.close()
os.system("echo 'setenv PATH %s/bin:%s/current/bin:$PATH' > %s/cshrc" % (ROOT, PATH_PYTHONS, PATH_ETC))
# copy config.cfg
shutil.copy(os.path.join(installer_root,'etc','config.cfg'), PATH_ETC_CONFIG)
class PythonInstaller(object):
def __init__(self, arg, options):