[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r10156 - trunk/gnue-common
From: |
reinhard |
Subject: |
[gnue] r10156 - trunk/gnue-common |
Date: |
Tue, 20 Apr 2010 15:46:26 -0500 (CDT) |
Author: reinhard
Date: 2010-04-20 15:46:26 -0500 (Tue, 20 Apr 2010)
New Revision: 10156
Added:
trunk/gnue-common/.bzrignore
trunk/gnue-common/README.bzr
trunk/gnue-common/setup-bzr.py
trunk/gnue-common/setup.bzr
Removed:
trunk/gnue-common/README.svn
trunk/gnue-common/setup-svn.py
trunk/gnue-common/setup.svn
Modified:
trunk/gnue-common/
Log:
Migrated developer install scripts from Subversion to Bazaar.
Property changes on: trunk/gnue-common
___________________________________________________________________
Name: bzr:revision-info
+ timestamp: 2010-04-09 20:46:14.513000011 +0200
committer: Reinhard Müller <address@hidden>
properties:
branch-nick: common
Name: bzr:file-ids
+ .bzrignore bzrignore-20100409182546-xa0zbayeoj88p9k2-1
README.bzr address@hidden:trunk%2Fgnue-common:README.svn
setup-bzr.py address@hidden:trunk%2Fgnue-common:setup-svn.py
setup.bzr address@hidden:trunk%2Fgnue-common:setup.svn
Name: bzr:ancestry:v3-single1-dHJ1bmsvZ251ZS1jb21tb24.
+ address@hidden
Name: bzr:revision-id:v3-single1-dHJ1bmsvZ251ZS1jb21tb24.
+ 3114 address@hidden
Added: trunk/gnue-common/.bzrignore
===================================================================
--- trunk/gnue-common/.bzrignore (rev 0)
+++ trunk/gnue-common/.bzrignore 2010-04-20 20:46:26 UTC (rev 10156)
@@ -0,0 +1,5 @@
+po/STATISTICS
+po/*.gmo
+scripts/gcvs
+scripts/gsscvs
+setup.log
Copied: trunk/gnue-common/README.bzr (from rev 10155,
trunk/gnue-common/README.svn)
===================================================================
--- trunk/gnue-common/README.bzr (rev 0)
+++ trunk/gnue-common/README.bzr 2010-04-20 20:46:26 UTC (rev 10156)
@@ -0,0 +1,21 @@
+Developer Installation Instructions
+===================================
+
+If you have downloaded gnue-common from the Bazaar repository (which you
+most probably have, because you wouldn't see this file otherwise), you can
+install and configure everything like described in the file "INSTALL".
+
+However, GNU Enterprise supports parallel use of an "installed" version and one
+or several "development" versions by providing a "developer install" script
+that uses different names for the programs.
+
+After downloading all the tools you want to have from the Bazaar repository,
+you just to run ./setup-bzr.py in the gnue-common directory.
+
+With the developer installation, you have to substitute the commands of the
+gnue-common package as follows:
+
+gnue-schema -> gsscvs
+
+Also, you will find all relevant files and directories in ~/gnue instead of
+/usr/local/gnue.
Deleted: trunk/gnue-common/README.svn
===================================================================
--- trunk/gnue-common/README.svn 2010-04-07 06:51:21 UTC (rev 10155)
+++ trunk/gnue-common/README.svn 2010-04-20 20:46:26 UTC (rev 10156)
@@ -1,21 +0,0 @@
-Developer Installation Instructions
-===================================
-
-If you have downloaded gnue-common from the subversion repository (which you
-most probably have, because you wouldn't see this file otherwise), you can
-install and configure everything like described in the file "INSTALL".
-
-However, GNU Enterprise supports parallel use of an "installed" version and one
-or several "development" versions by providing a "developer install" script
-that uses different names for the programs.
-
-After downloading all the tools you want to have from the subversion
-repository, you just to run ./setup-svn.py in the gnue-common directory.
-
-With the developer installation, you have to substitute the commands of the
-gnue-common package as follows:
-
-gnue-schema -> gsscvs
-
-Also, you will find all relevant files and directories in ~/gnue instead of
-/usr/local/gnue.
Copied: trunk/gnue-common/setup-bzr.py (from rev 10155,
trunk/gnue-common/setup-svn.py)
===================================================================
--- trunk/gnue-common/setup-bzr.py (rev 0)
+++ trunk/gnue-common/setup-bzr.py 2010-04-20 20:46:26 UTC (rev 10156)
@@ -0,0 +1,648 @@
+#!/usr/bin/env python
+#
+# This file is part of GNU Enterprise.
+#
+# GNU Enterprise is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public
+# License as published by the Free Software Foundation; either
+# version 3, or (at your option) any later version.
+#
+# GNU Enterprise is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied
+# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public
+# License along with program; see the file COPYING. If not,
+# write to the Free Software Foundation, Inc., 59 Temple Place
+# - Suite 330, Boston, MA 02111-1307, USA.
+#
+# Copyright 2001-2010 Free Software Foundation
+#
+
+
+##########################################################
+#
+# NOTE: Nightly cron scripts on www.gnuenterprise.org
+# run this script with --auto, which uses the
+# defaults passed to getInput. So, each input
+# MUST have a sane default or various web functions
+# might just break.
+#
+
+
+import sys, string, os, glob
+
+# Hack for python 2.1 compatibility. With 2.3 we can use the global __file__
+m = __import__ ('setup-bzr', None, None, '*')
+if __name__ == '__main__':
+ sys.exit (0)
+
+# Determine if Windows is used
+WIN=(sys.platform=="win32")
+
+BZRDIR = os.path.abspath(os.path.join(os.path.dirname(m.__file__),'..'))
+BASEDIR = WIN and os.path.join(sys.prefix,"gnue-devel") or
os.path.join(BZRDIR, '.bzrdevelbase')
+PYTHONBIN=sys.executable
+
+global CURRENT_DIR
+CURRENT_DIR = ""
+CURRENT_TOOL = ""
+rootCommands = []
+
+def createShell (script,py,scriptdir="scripts"):
+ script = "%s%s" % (script, SUFFIX)
+ if py:
+ src = os.path.join(CURRENT_DIR, scriptdir, py)
+ else:
+ src = ''
+ if WIN:
+ dest = os.path.join(BINDIR, "%s.bat" % script)
+ else:
+ dest = os.path.join(CURRENT_DIR, scriptdir, script)
+ if not auto:
+ print "Creating %s....." % dest ,
+ try:
+ file = open(dest,'w')
+ if WIN:
+ # create batch file at final destination
+ file.write("@set PYTHONPATH=%s;%%PYTHONPATH%%\n" % BASEDIR)
+ file.write("@set SCRIPT=%s\n" % src)
+ file.write("@%s \"%%SCRIPT%%\" %%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9\n" %
PYTHONBIN)
+ file.close()
+ else:
+ # create script in repository and
+ file.write(bzrbase % src)
+ file.close()
+ os.system ('chmod 700 %s' % dest)
+
+ rootCommands.append ('rm -f %s/%s' % (BINDIR, script))
+ rootCommands.append ('ln -s %s %s/%s' % \
+ (dest, BINDIR, script))
+ rootCommands.append ('chmod go+rx %s' % dest)
+
+ except IOError:
+ print "Unable to create. Do you have this package checked out?"
+ else:
+ if not auto:
+ print "ok"
+
+def createDocs(sgmlfile, destdir):
+ if not willInstallDocs:
+ return
+ sgmlfile = os.path.join(CURRENT_DIR, sgmlfile)
+ destdir = os.path.join(DOCDIR, destdir)
+ rootCommands.append("if [ ! -d %s ]; then mkdir %s; fi" % (destdir, destdir))
+ rootCommands.append("%s --output %s %s" %
+ (DB2HTML, destdir, sgmlfile))
+
+
+def getInput(message, default, responseSet=None):
+
+ if auto:
+ return default
+
+ print ""
+ while 1:
+ if default:
+ print "%s [%s] " % (message, default),
+ else:
+ print "%s " % (message),
+
+
+ val = string.strip(sys.stdin.readline())
+ print ""
+
+ if not len(val) and default:
+ return default
+ elif responseSet and string.upper(val) in (responseSet):
+ return string.upper(val)
+ elif not responseSet:
+ return val
+
+
+_getYesNoAllStat = {}
+
+def getYesNo(message, default, category=None):
+
+ if auto:
+ return default
+
+ if category:
+ try:
+ response = _getYesNoAllStat[category]
+ print "\n" + message + ' ' + (response and 'Always' or 'Never')
+ return response
+ except KeyError:
+ pass
+
+ response = getInput(message,default,('Y','N','A','V'))
+ val = response in ('Y','A')
+ if category and response in ('A','V'):
+ _getYesNoAllStat[category] = val
+ return val
+
+
+def getBinPaths():
+ paths = string.split(os.environ['PATH'],os.pathsep)
+ if not ('/usr/local/bin' in paths or '/usr/local/bin/' in paths) and \
+ os.path.isdir('/usr/local/bin'):
+ paths.append('/usr/local/bin')
+ return(paths)
+
+
+# Returns a list containing all Python executables in the user's path.
+# List element 0 will always be the currently running executable
+def findAllPythonExes():
+ results = [sys.executable]
+
+ for path in getBinPaths():
+ for file in glob.glob('%s/python?*' % os.path.abspath(string.strip(path))):
+ base = os.path.basename(file)
+ version = base[6:]
+
+ # Do not include python 1.x files
+ if version < '2':
+ pass
+
+ # Do not include python2.2-popy-config
+ elif len(version)>8:
+ pass
+
+ # Do not include python??.dll
+ elif base[-3:]=="dll":
+ pass
+
+ elif os.path.realpath(file)==os.path.realpath(sys.executable):
+ # If this file is the one being executed, just replace w/full name
+ if results[0] == sys.executable:
+ results[0] = file
+ else:
+ results.append(file)
+
+ return results
+
+def findAllGNUePackages():
+ results = []
+ for file in glob.glob('../*'):
+ if os.path.isfile(os.path.join(file, 'setup.bzr')):
+ base = os.path.basename(file)
+ results.append(base)
+ results.sort()
+ return results
+
+def finddb2html():
+ for path in getBinPaths():
+ for file in glob.glob('%s/db2html' % os.path.abspath(string.strip(path))):
+ return(file)
+
+ # Nothing found
+ return "";
+
+
+def restartWithExecutable(exe):
+ os.system('%s %s --withNewExecutable "%s"' \
+ % (exe, sys.argv[0], string.join(sys.argv[1:],'" "')))
+ sys.exit()
+
+def createLink(file, dest, overwrite=0):
+ if WIN:
+ src=os.path.normpath(os.path.join(CURRENT_DIR, file))
+ dest = os.path.normpath(dest)
+
+ if os.path.isdir(src):
+ ret = os.system("xcopy /S /E /Y \"%s\" \"%s\\\" > NUL" % (src, dest))
+ else:
+ ret = os.system("copy \"%s\" \"%s\" > NUL" % (src, dest))
+ if ret!=0:
+ print "Failed to copy %s to %s." % (src, dest)
+
+ else:
+ if overwrite:
+ rootCommands.append ("if [ -e %s ]; then rm -f %s; fi" % (dest, dest))
+
+ rootCommands.append("ln -f -s %s/%s %s" % (CURRENT_DIR, file, dest))
+
+
+def linkModule(subdir, module):
+ if WIN:
+ if not os.path.exists("%s/%s" % (GNUEDIR,module)):
+ os.makedirs("%s/%s" % (GNUEDIR,module))
+ # create link via virtual python module
+ output = open ("%s/%s/__init__.py" % (GNUEDIR,module), "w")
+ output.write ("# This file was generated by setup-bzr.py.\n")
+ output.write ("\n")
+ output.write ("__path__ = [\"%s\\%s\"]\n" % (CURRENT_DIR,subdir))
+ output.write ("from __init__ import *")
+ output.close ()
+ else:
+ rootCommands.append("ln -f -s %s/%s %s/%s" % (CURRENT_DIR, subdir,
GNUEDIR, module))
+
+def createDir(subdir):
+ if WIN:
+ if not os.path.exists(subdir):
+ os.makedirs(subdir)
+ else:
+ rootCommands.append("if [ ! -d %s ]; then mkdir -p %s; fi" %
(subdir,subdir))
+
+
+restarting = ('--withNewExecutable' in sys.argv)
+auto = ('--auto' in sys.argv)
+
+if not restarting and not auto:
+ print """
+GNU Enterprise Developer Setup
+
+This script will install the GNU Enterprise tools to run
+from a Bazaar tree. This allows GNUe to be run without a
+full installation. THIS IS PRIMARILY USEFUL TO DEVELOPERS.
+ """
+
+# First of all, make sure this is a current enough Python release.
+try:
+ if sys.hexversion < 0x02000000:
+ raise AttributeError
+except AttributeError:
+
+ print "-" * 70
+ print """
+ You are running Python %s.
+
+ GNU Enterprise requires at least Python 2.0 (recommended: 2.1+).
+ If you have a later version installed, you should run setup.py
+ against that version. For example, if you have Python 2.1
+ installed, you may need to run:
+
+ python2.1 %s
+""" % (string.split(sys.version)[0], sys.argv[0])
+ print "-" * 70
+
+ exes = findAllPythonExes()
+
+ if len(exes) == 1:
+ sys.exit()
+ else:
+
+ # There are better versions of Python installed...
+
+ exes.pop(0)
+ print "\n"
+ print "I have found the following Python executables. "
+ print "Choose another version of Python to run."
+ print ""
+
+ validOptions = []
+ i = 0
+
+ for file in exes:
+ i = i + 1 # Do not change this to i += 1 as that's >= py2.x
+ validOptions.append(str(i))
+ print " [%s] %s" % (i, file)
+
+ validOptions.append ('Q')
+ selection = getInput(
+ "Please enter the number of the Python executable to\n"
+ 'use [1-%s] or enter "q" to quit.' % i, '1', validOptions)
+
+ if selection == 'Q':
+ sys.exit()
+
+ restartWithExecutable(exes[int(selection)-1])
+
+if WIN:
+ print """
+Warning:
+Under Windows GNUe data files (like images, settings etc) will NOT be
+updated by an repository update! For a full update please re-execute
+this script.
+
+You are creating a GNU Enterprise developer installation based on a
+code repository. As Microsoft Windows doesn't support filesystem links
+data files has to be copied from the repository to the installation
+directory. Python source files are instead linked by a specific import
+method and will be updated by a repository update.
+"""
+
+if not restarting:
+
+ if not auto:
+ print """
+If you are trying to install GNU Enterprise for production
+use, then answer 'N' to the following question and install
+each tool separately using it's setup.py script.
+ """
+
+ if not getYesNo("Continue installing the Bazaar-runnable tools? ","Y"):
+ sys.exit()
+
+ exes = findAllPythonExes()
+ PYTHONBIN=exes[0]
+
+
+ # Make sure they are running against the version of python they intended
+ if len(exes) > 1 and not auto:
+
+ print "\n"
+ print "I have found the following Python executables. Please"
+ print "choose the Python installation you would like to use."
+ print ""
+
+ validOptions = []
+ i = 0
+
+ for file in exes:
+ i = i + 1 # Do not change this to i += 1 as that's >= py2.x
+ validOptions.append(str(i))
+ if i == 1:
+ print " [%s] %s (Current)" % (i, file)
+ else:
+ print " [%s] %s" % (i, file)
+
+ validOptions.append ('Q')
+ selection = getInput(
+ "Please enter the number of the Python executable to\n"
+ 'use [1-%s] or enter "q" to quit.' % i, '1', validOptions)
+
+ if selection == 'Q':
+ sys.exit()
+
+ if selection != '1':
+ restartWithExecutable(exes[int(selection)-1])
+
+if not auto:
+ print
+ print "Continuing with the developer installation...\n"
+
+if not auto and not WIN:
+ print """
+This setup script can install GNUe as either a local (per user)
+copy or a system-wide copy. If you are unsure, choose the
+recommended 'Local' setting. Installing system-wide will require
+the root password and may force all users on this machine to use
+your copy."""
+
+ROOTINSTALL = WIN or getInput(
+ "Perform a [L]ocal/per-user or a [S]ystem-wide install?",'L',('L','S')) ==
'S'
+
+# confirm base path
+while WIN:
+ BASEDIR = os.path.abspath(
+ getInput ("Where do you want to install GNU Enterprise?", BASEDIR))
+
+ if os.path.isdir(BASEDIR) or \
+ getYesNo("Directory %s does not exist. Create? (Yes,No,All,neVer)" %
BASEDIR, 'Y','directories'):
+ break
+
+if WIN:
+ BINDIR = os.path.join(BASEDIR,"bin")
+ CONFDIR = os.path.join(BASEDIR,"conf")
+ DOCDIR=os.path.join(BASEDIR,"docs")
+elif ROOTINSTALL:
+ BINDIR = "/usr/local/bin"
+ CONFDIR = "/usr/local/gnue"
+ DOCDIR = "/usr/local/gnue/doc/"
+else:
+ BINDIR = os.path.expanduser("~/bin")
+ CONFDIR = os.path.expanduser("~/gnue")
+ DOCDIR = os.path.expanduser("~/gnue/docs")
+
+
+while 1:
+ BINDIR = os.path.abspath(
+ getInput ("Where shall I put executable files?", BINDIR))
+
+ if os.path.isdir(BINDIR) or \
+ getYesNo("Directory %s does not exist. Create? (Yes,No,All,neVer)" %
BINDIR, 'Y','directories'):
+ break
+
+if not auto:
+ print """
+If you maintain multiple GNUe developer installations, you may
+wish to add a suffix to the script names. For example, if
+are installing the 0.1.x branch as a secondary branch, you
+may want all the executables to be named as <script>-0.1. To
+do this, enter '-0.1' at the next prompt. Normally, you will
+leave the following option blank."""
+
+SUFFIX = string.strip(getInput ("String to append to script names:",""))
+
+while 1:
+ CONFDIR = os.path.abspath(
+ getInput ("Where shall I put configuration files?", CONFDIR))
+
+ if os.path.isdir(CONFDIR) or \
+ getYesNo("Directory %s does not exist. Create? (Yes,No,All,neVer)" %
CONFDIR, 'Y','directories'):
+ break
+
+newdirs = [BINDIR, CONFDIR, "%s/etc" % CONFDIR,
+ "%s/share" % CONFDIR,
+ "%s/share/gnue" % CONFDIR,
+ "%s/share/gnue/filters" % CONFDIR,
+ "%s/share/gnue/appserver" % CONFDIR,
+ "%s/share/gnue/forms" % CONFDIR,
+ "%s/share/gnue/images" % CONFDIR,
+ "%s/share/locale" % CONFDIR ]
+
+willInstallDocs = 0
+
+DB2HTML = finddb2html();
+if DB2HTML:
+ if getYesNo("Generate and install documentation? (This could be slow.)",
'N'):
+ willInstallDocs = 1
+ while 1:
+ DOCDIR = os.path.abspath(
+ getInput ("Where shall I put the documentation files?", DOCDIR))
+
+ if os.path.isdir(DOCDIR) or \
+ getYesNo("Directory %s does not exist. Create? (Yes,No,All,neVer)" %
DOCDIR, 'Y','directories'):
+ newdirs.append(DOCDIR)
+ break
+elif not auto:
+ print "Cannot generate documentation, could not find db2html in path\n";
+
+
+for dir in newdirs:
+ createDir(dir)
+
+GNUEDIR = os.path.join(BASEDIR,'gnue')
+
+
+bzrbase = """#!/bin/sh
+ PYTHONPATH=%(BASEDIR)s:$PYTHONPATH; export PYTHONPATH
+ SCRIPT="%%s"
+ exec %(PYTHONBIN)s ${SCRIPT} "$@"
+ """ % globals()
+
+# FIXME: Need to cleanup old files for Win32 install
+if os.path.isdir (GNUEDIR) and not WIN:
+ os.system ('rm -rf %s' % GNUEDIR)
+
+try:
+ os.makedirs(GNUEDIR)
+except:
+ pass
+
+# create path.py
+output = open ("%s/paths.py" % GNUEDIR, "w")
+output.write ("# This file was generated by setup-bzr.py.\n")
+output.write ("import os\n")
+output.write ("\n")
+output.write ("lib = os.path.dirname(os.path.dirname(__file__))\n")
+output.write ("scripts = \"%s\"\n" % BINDIR)
+output.write ("data = \"%s\"\n" % CONFDIR)
+output.write ("config = \"%s/etc\"\n" % CONFDIR)
+output.close ()
+
+if WIN:
+ # create import for gnue-common
+ CURRENT_DIR = os.path.join(BZRDIR,"common")
+ linkModule("src","common")
+ os.system("copy \"%s\\common\\module\\base\\__init__.py\" \"%s\"" % (BZRDIR,
GNUEDIR) )
+ # FIXME: add locale support to Win32 developer install
+
+else:
+ rootCommands.append("""
+ cd %(GNUEDIR)s
+ ln -f -s %(BZRDIR)s/common/module/base/__init__.py .
+ ln -f -s %(BZRDIR)s/common/src common
+ if [ -f %(BZRDIR)s/common/src/.GDTD.py ]; then rm -f
%(BZRDIR)s/common/src/.GDTD.py; fi
+
+ rm -rf %(CONFDIR)s/share/locale/*
+ cd %(CONFDIR)s/share/locale
+ for i in %(BZRDIR)s/*; do
+ package=`basename $i`
+ if [ -d $i/po ]; then
+ (cd $i/po; make -s gmo)
+ for j in $i/po/*.gmo; do
+ language=`basename $j .gmo`
+ mkdir -p %(CONFDIR)s/share/locale/${language}/LC_MESSAGES
+ ln -f -s $j
%(CONFDIR)s/share/locale/${language}/LC_MESSAGES/${package}.mo
+ done
+ fi
+ done
+
+ """ % globals() )
+
+for CURRENT_TOOL in ('common',
+ 'appserver',
+ 'forms',
+ 'reports',
+ 'navigator',
+ 'designer'):
+
+ CURRENT_DIR = os.path.join(BZRDIR, CURRENT_TOOL)
+ setupfile = os.path.join(CURRENT_DIR, 'setup.bzr')
+
+ if not auto:
+ print setupfile
+
+ if os.path.isfile(setupfile) and \
+ getYesNo('Setup devloper runtime environment for %s? (Yes,No,All,neVer)'%
CURRENT_TOOL,
+ 'Y','autotools'):
+ execfile(setupfile,globals())
+
+
+if getYesNo('Do you have any external/custom packages to setup?','N'):
+ while 1:
+ path = getInput("Path to package's directory containing a setup.bzr file?
(blank line to end)",None)
+ if not path:
+ break
+
+ CURRENT_TOOL = CURRENT_DIR = path
+ execfile(os.path.join(CURRENT_DIR,'setup.bzr'), globals())
+
+
+
+willCreateConf = 0
+willCreateConn = 0
+willCreateFilt = 0
+
+if os.path.isfile('/usr/local/gnue/etc/gnue.conf') and \
+ CONFDIR != '/usr/local/gnue' and not
os.path.isfile(CONFDIR+'/etc/gnue.conf'):
+ if getYesNo('Do you wish to use the current system-wide gnue.conf file?
(Yes,No,All,neVer)','N','conf'):
+ rootCommands.append("ln -s /usr/local/gnue/etc/gnue.conf
%(CONFDIR)s/etc/gnue.conf" % globals())
+ willCreateConf = 1
+
+
+if os.path.isfile('/usr/local/gnue/etc/backends.conf') and \
+ CONFDIR != '/usr/local/gnue' and not
os.path.isfile(CONFDIR+'/etc/backends.conf'):
+ if getYesNo('Do you wish to use the current system-wide backends.conf file?
(Yes,No,All,neVer)','Y','conf'):
+ rootCommands.append("ln -s /usr/local/gnue/etc/backends.conf
%(CONFDIR)s/etc/backends.conf" % globals())
+ willCreateConn = 1
+
+
+if os.path.isfile('/usr/local/gnue/etc/report-filters.conf') and \
+ CONFDIR != '/usr/local/gnue' and not
os.path.isfile(CONFDIR+'/etc/report-filters.conf'):
+ if getYesNo('Do you wish to use the current system-wide report-filters.conf
file? (Yes,No,All,neVer)','N','conf'):
+ rootCommands.append("ln -s /usr/local/gnue/etc/report-filters.conf
%(CONFDIR)s/etc/report-filters.conf" % globals())
+ willCreateFilt = 1
+
+
+if not willCreateConf and not os.path.isfile("%s/etc/gnue.conf"%CONFDIR):
+ if WIN:
+ createLink("%s/common/etc/gnue.conf" % BZRDIR, "%s/etc/gnue.conf" %
CONFDIR)
+ else:
+ rootCommands.append("cp %(BZRDIR)s/common/etc/gnue.conf
%(CONFDIR)s/etc/gnue.conf" % globals())
+
+
+if not willCreateConn and not os.path.isfile("%s/etc/backends.conf"%CONFDIR):
+ if WIN:
+ createLink("%s/common/etc/backends.conf" % BZRDIR, "%s/etc/backends.conf"
% CONFDIR)
+ else:
+ rootCommands.append("cp %(BZRDIR)s/common/etc/backends.conf
%(CONFDIR)s/etc/backends.conf" % globals())
+
+if not auto:
+ print
+ print "NOTE: Your backends.conf file will need to"
+ print " be edited to reflect your local setup."
+ print
+
+
+if not willCreateFilt and not
os.path.isfile("%s/etc/report-filters.conf"%CONFDIR):
+ if WIN or getYesNo ("Do you want to use a symlinked report-filters.conf
file? (Yes,No,All,neVer)",'N', 'symconf'):
+ createLink("%s/reports/etc/sample.report-filters.conf" % BZRDIR,
"%s/etc/report-filters.conf" % CONFDIR)
+ else:
+ rootCommands.append("cp %(BZRDIR)s/reports/etc/sample.report-filters.conf
%(CONFDIR)s/etc/report-filters.conf" % globals())
+
+
+if WIN:
+ print "Setup completed!"
+
+elif ROOTINSTALL:
+
+ out = open("setup-root.sh",'w')
+ out.write("#!/bin/sh\n")
+ out.write(string.join(rootCommands,"\n"))
+ out.write("\n")
+ out.close()
+
+ print ""
+ print "All the commands that need to be run as root have been written"
+ print "to setup-root.sh . In order for your setup to be complete, this"
+ print "file must be run. This setup script can run setup-root.sh for"
+ print "you. If you choose to run the script now and are not currently"
+ print "logged in as root, you will be prompted for the root password."
+ if getYesNo('Run "/bin/sh setup-root.sh" as root?','Y'):
+ os.system('su root -c "/bin/sh setup-root.sh"')
+ else:
+ print ""
+ print 'Do not forget to run "/bin/sh setup-root.sh" as root'
+ print ""
+
+else:
+
+ out = open("setup.log",'w')
+ out.write(string.join(rootCommands,"\n"))
+ out.write("\n")
+ out.close()
+
+ os.system(string.join(rootCommands,'\n'))
+
+#
+# Save our config settings
+#
+from pprint import pformat
+c = open (os.path.join(BZRDIR,'.bzr-config'),'w')
+for key, val in globals().items():
+ if key[0].isupper():
+ c.write('%s=%s\n\n' % (key, pformat(val)))
Deleted: trunk/gnue-common/setup-svn.py
===================================================================
--- trunk/gnue-common/setup-svn.py 2010-04-07 06:51:21 UTC (rev 10155)
+++ trunk/gnue-common/setup-svn.py 2010-04-20 20:46:26 UTC (rev 10156)
@@ -1,651 +0,0 @@
-#!/usr/bin/env python
-#
-# This file is part of GNU Enterprise.
-#
-# GNU Enterprise is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public
-# License as published by the Free Software Foundation; either
-# version 3, or (at your option) any later version.
-#
-# GNU Enterprise is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied
-# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-# PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public
-# License along with program; see the file COPYING. If not,
-# write to the Free Software Foundation, Inc., 59 Temple Place
-# - Suite 330, Boston, MA 02111-1307, USA.
-#
-# Copyright 2001-2009 Free Software Foundation
-#
-
-
-##########################################################
-#
-# NOTE: Nightly cron scripts on www.gnuenterprise.org
-# run this script with --auto, which uses the
-# defaults passed to getInput. So, each input
-# MUST have a sane default or various web functions
-# might just break.
-#
-
-
-import sys, string, os, glob
-
-# Hack for python 2.1 compatibility. With 2.3 we can use the global __file__
-m = __import__ ('setup-svn', None, None, '*')
-if __name__ == '__main__':
- sys.exit (0)
-
-# Determine if Windows is used
-WIN=(sys.platform=="win32")
-
-SVNDIR = os.path.abspath(os.path.join(os.path.dirname(m.__file__),'..'))
-BASEDIR = WIN and os.path.join(sys.prefix,"gnue-devel") or
os.path.join(SVNDIR, '.svndevelbase')
-PYTHONBIN=sys.executable
-
-global CURRENT_DIR
-CURRENT_DIR = ""
-CURRENT_TOOL = ""
-rootCommands = []
-
-def createShell (script,py,scriptdir="scripts"):
- script = "%s%s" % (script, SUFFIX)
- if py:
- src = os.path.join(CURRENT_DIR, scriptdir, py)
- else:
- src = ''
- if WIN:
- dest = os.path.join(BINDIR, "%s.bat" % script)
- else:
- dest = os.path.join(CURRENT_DIR, scriptdir, script)
- if not auto:
- print "Creating %s....." % dest ,
- try:
- file = open(dest,'w')
- if WIN:
- # create batch file at final destination
- file.write("@set PYTHONPATH=%s;%%PYTHONPATH%%\n" % BASEDIR)
- file.write("@set SCRIPT=%s\n" % src)
- file.write("@%s \"%%SCRIPT%%\" %%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9\n" %
PYTHONBIN)
- file.close()
- else:
- # create script in repository and
- file.write(svnbase % src)
- file.close()
- os.system ('chmod 700 %s' % dest)
-
- rootCommands.append ('rm -f %s/%s' % (BINDIR, script))
- rootCommands.append ('ln -s %s %s/%s' % \
- (dest, BINDIR, script))
- rootCommands.append ('chmod go+rx %s' % dest)
-
- except IOError:
- print "Unable to create. Do you have this package checked out?"
- else:
- if not auto:
- print "ok"
-
-def createDocs(sgmlfile, destdir):
- if not willInstallDocs:
- return
- sgmlfile = os.path.join(CURRENT_DIR, sgmlfile)
- destdir = os.path.join(DOCDIR, destdir)
- rootCommands.append("if [ ! -d %s ]; then mkdir %s; fi" % (destdir, destdir))
- rootCommands.append("%s --output %s %s" %
- (DB2HTML, destdir, sgmlfile))
-
-
-def getInput(message, default, responseSet=None):
-
- if auto:
- return default
-
- print ""
- while 1:
- if default:
- print "%s [%s] " % (message, default),
- else:
- print "%s " % (message),
-
-
- val = string.strip(sys.stdin.readline())
- print ""
-
- if not len(val) and default:
- return default
- elif responseSet and string.upper(val) in (responseSet):
- return string.upper(val)
- elif not responseSet:
- return val
-
-
-_getYesNoAllStat = {}
-
-def getYesNo(message, default, category=None):
-
- if auto:
- return default
-
- if category:
- try:
- response = _getYesNoAllStat[category]
- print "\n" + message + ' ' + (response and 'Always' or 'Never')
- return response
- except KeyError:
- pass
-
- response = getInput(message,default,('Y','N','A','V'))
- val = response in ('Y','A')
- if category and response in ('A','V'):
- _getYesNoAllStat[category] = val
- return val
-
-
-def getBinPaths():
- paths = string.split(os.environ['PATH'],os.pathsep)
- if not ('/usr/local/bin' in paths or '/usr/local/bin/' in paths) and \
- os.path.isdir('/usr/local/bin'):
- paths.append('/usr/local/bin')
- return(paths)
-
-
-# Returns a list containing all Python executables in the user's path.
-# List element 0 will always be the currently running executable
-def findAllPythonExes():
- results = [sys.executable]
-
- for path in getBinPaths():
- for file in glob.glob('%s/python?*' % os.path.abspath(string.strip(path))):
- base = os.path.basename(file)
- version = base[6:]
-
- # Do not include python 1.x files
- if version < '2':
- pass
-
- # Do not include python2.2-popy-config
- elif len(version)>8:
- pass
-
- # Do not include python??.dll
- elif base[-3:]=="dll":
- pass
-
- elif os.path.realpath(file)==os.path.realpath(sys.executable):
- # If this file is the one being executed, just replace w/full name
- if results[0] == sys.executable:
- results[0] = file
- else:
- results.append(file)
-
- return results
-
-def findAllGNUePackages():
- results = []
- for file in glob.glob('../*'):
- if os.path.isfile(os.path.join(file, 'setup.svn')):
- base = os.path.basename(file)
- results.append(base)
- results.sort()
- return results
-
-def finddb2html():
- for path in getBinPaths():
- for file in glob.glob('%s/db2html' % os.path.abspath(string.strip(path))):
- return(file)
-
- # Nothing found
- return "";
-
-
-def restartWithExecutable(exe):
- os.system('%s %s --withNewExecutable "%s"' \
- % (exe, sys.argv[0], string.join(sys.argv[1:],'" "')))
- sys.exit()
-
-def createLink(file, dest, overwrite=0):
- if WIN:
- src=os.path.normpath(os.path.join(CURRENT_DIR, file))
- dest = os.path.normpath(dest)
-
- if os.path.isdir(src):
- ret = os.system("xcopy /S /E /Y \"%s\" \"%s\\\" > NUL" % (src, dest))
- else:
- ret = os.system("copy \"%s\" \"%s\" > NUL" % (src, dest))
- if ret!=0:
- print "Failed to copy %s to %s." % (src, dest)
-
- else:
- if overwrite:
- rootCommands.append ("if [ -e %s ]; then rm -f %s; fi" % (dest, dest))
-
- rootCommands.append("ln -f -s %s/%s %s" % (CURRENT_DIR, file, dest))
-
-
-def linkModule(subdir, module):
- if WIN:
- if not os.path.exists("%s/%s" % (GNUEDIR,module)):
- os.makedirs("%s/%s" % (GNUEDIR,module))
- # create link via virtual python module
- output = open ("%s/%s/__init__.py" % (GNUEDIR,module), "w")
- output.write ("# This file was generated by setup-svn.py.\n")
- output.write ("\n")
- output.write ("__path__ = [\"%s\\%s\"]\n" % (CURRENT_DIR,subdir))
- output.write ("from __init__ import *")
- output.close ()
- else:
- rootCommands.append("ln -f -s %s/%s %s/%s" % (CURRENT_DIR, subdir,
GNUEDIR, module))
-
-def createDir(subdir):
- if WIN:
- if not os.path.exists(subdir):
- os.makedirs(subdir)
- else:
- rootCommands.append("if [ ! -d %s ]; then mkdir -p %s; fi" %
(subdir,subdir))
-
-
-restarting = ('--withNewExecutable' in sys.argv)
-auto = ('--auto' in sys.argv)
-
-if not restarting and not auto:
- print """
-GNU Enterprise Developer Setup
-
-This script will install the GNU Enterprise tools to run
-from a SVN copy. This allows GNUe to be run without a
-full installation. THIS IS PRIMARILY USEFUL TO DEVELOPERS.
- """
-
-# First of all, make sure this is a current enough Python release.
-try:
- if sys.hexversion < 0x02000000:
- raise AttributeError
-except AttributeError:
-
- print "-" * 70
- print """
- You are running Python %s.
-
- GNU Enterprise requires at least Python 2.0 (recommended: 2.1+).
- If you have a later version installed, you should run setup.py
- against that version. For example, if you have Python 2.1
- installed, you may need to run:
-
- python2.1 %s
-""" % (string.split(sys.version)[0], sys.argv[0])
- print "-" * 70
-
- exes = findAllPythonExes()
-
- if len(exes) == 1:
- sys.exit()
- else:
-
- # There are better versions of Python installed...
-
- exes.pop(0)
- print "\n"
- print "I have found the following Python executables. "
- print "Choose another version of Python to run."
- print ""
-
- validOptions = []
- i = 0
-
- for file in exes:
- i = i + 1 # Do not change this to i += 1 as that's >= py2.x
- validOptions.append(str(i))
- print " [%s] %s" % (i, file)
-
- validOptions.append ('Q')
- selection = getInput(
- "Please enter the number of the Python executable to\n"
- 'use [1-%s] or enter "q" to quit.' % i, '1', validOptions)
-
- if selection == 'Q':
- sys.exit()
-
- restartWithExecutable(exes[int(selection)-1])
-
-if WIN:
- print """
-Warning:
-Under Windows GNUe data files (like images, settings etc) will NOT be
-updated by an repository update! For a full update please re-execute
-this script.
-
-You are creating a GNU Enterprise developer installation based on a
-code repository. As Microsoft Windows doesn't support filesystem links
-data files has to be copied from the repository to the installation
-directory. Python source files are instead linked by a specific import
-method and will be updated by a repository update.
-"""
-
-if not restarting:
-
- if not auto:
- print """
-If you are trying to install GNU Enterprise for production
-use, then answer 'N' to the following question and install
-each tool separately using it's setup.py script.
- """
-
- if not getYesNo("Continue installing the SVN-runnable tools? ","Y"):
- sys.exit()
-
- exes = findAllPythonExes()
- PYTHONBIN=exes[0]
-
-
- # Make sure they are running against the version of python they intended
- if len(exes) > 1 and not auto:
-
- print "\n"
- print "I have found the following Python executables. Please"
- print "choose the Python installation you would like to use."
- print ""
-
- validOptions = []
- i = 0
-
- for file in exes:
- i = i + 1 # Do not change this to i += 1 as that's >= py2.x
- validOptions.append(str(i))
- if i == 1:
- print " [%s] %s (Current)" % (i, file)
- else:
- print " [%s] %s" % (i, file)
-
- validOptions.append ('Q')
- selection = getInput(
- "Please enter the number of the Python executable to\n"
- 'use [1-%s] or enter "q" to quit.' % i, '1', validOptions)
-
- if selection == 'Q':
- sys.exit()
-
- if selection != '1':
- restartWithExecutable(exes[int(selection)-1])
-
-if not auto:
- print
- print "Continuing with the developer installation...\n"
-
-if not auto and not WIN:
- print """
-This setup script can install GNUe as either a local (per user)
-copy or a system-wide copy. If you are unsure, choose the
-recommended 'Local' setting. Installing system-wide will require
-the root password and may force all users on this machine to use
-your copy."""
-
-ROOTINSTALL = WIN or getInput(
- "Perform a [L]ocal/per-user or a [S]ystem-wide install?",'L',('L','S')) ==
'S'
-
-# confirm base path
-while WIN:
- BASEDIR = os.path.abspath(
- getInput ("Where do you want to install GNU Enterprise?", BASEDIR))
-
- if os.path.isdir(BASEDIR) or \
- getYesNo("Directory %s does not exist. Create? (Yes,No,All,neVer)" %
BASEDIR, 'Y','directories'):
- break
-
-if WIN:
- BINDIR = os.path.join(BASEDIR,"bin")
- CONFDIR = os.path.join(BASEDIR,"conf")
- DOCDIR=os.path.join(BASEDIR,"docs")
-elif ROOTINSTALL:
- BINDIR = "/usr/local/bin"
- CONFDIR = "/usr/local/gnue"
- DOCDIR = "/usr/local/gnue/doc/"
-else:
- BINDIR = os.path.expanduser("~/bin")
- CONFDIR = os.path.expanduser("~/gnue")
- DOCDIR = os.path.expanduser("~/gnue/docs")
-
-
-while 1:
- BINDIR = os.path.abspath(
- getInput ("Where shall I put executable files?", BINDIR))
-
- if os.path.isdir(BINDIR) or \
- getYesNo("Directory %s does not exist. Create? (Yes,No,All,neVer)" %
BINDIR, 'Y','directories'):
- break
-
-if not auto:
- print """
-If you maintain multiple GNUe developer installations, you may
-wish to add a suffix to the script names. For example, if
-are installing the 0.1.x branch as a secondary branch, you
-may want all the executables to be named as <script>-0.1. To
-do this, enter '-0.1' at the next prompt. Normally, you will
-leave the following option blank."""
-
-SUFFIX = string.strip(getInput ("String to append to script names:",""))
-
-while 1:
- CONFDIR = os.path.abspath(
- getInput ("Where shall I put configuration files?", CONFDIR))
-
- if os.path.isdir(CONFDIR) or \
- getYesNo("Directory %s does not exist. Create? (Yes,No,All,neVer)" %
CONFDIR, 'Y','directories'):
- break
-
-newdirs = [BINDIR, CONFDIR, "%s/etc" % CONFDIR,
- "%s/share" % CONFDIR,
- "%s/share/gnue" % CONFDIR,
- "%s/share/gnue/filters" % CONFDIR,
- "%s/share/gnue/appserver" % CONFDIR,
- "%s/share/gnue/forms" % CONFDIR,
- "%s/share/gnue/images" % CONFDIR,
- "%s/share/locale" % CONFDIR ]
-
-willInstallDocs = 0
-
-DB2HTML = finddb2html();
-if DB2HTML:
- if getYesNo("Generate and install documentation? (This could be slow.)",
'N'):
- willInstallDocs = 1
- while 1:
- DOCDIR = os.path.abspath(
- getInput ("Where shall I put the documentation files?", DOCDIR))
-
- if os.path.isdir(DOCDIR) or \
- getYesNo("Directory %s does not exist. Create? (Yes,No,All,neVer)" %
DOCDIR, 'Y','directories'):
- newdirs.append(DOCDIR)
- break
-elif not auto:
- print "Cannot generate documentation, could not find db2html in path\n";
-
-
-for dir in newdirs:
- createDir(dir)
-
-GNUEDIR = os.path.join(BASEDIR,'gnue')
-
-
-svnbase = """#!/bin/sh
- PYTHONPATH=%(BASEDIR)s:$PYTHONPATH; export PYTHONPATH
- SCRIPT="%%s"
- exec %(PYTHONBIN)s ${SCRIPT} "$@"
- """ % globals()
-
-# FIXME: Need to cleanup old files for Win32 install
-if os.path.isdir (GNUEDIR) and not WIN:
- os.system ('rm -rf %s' % GNUEDIR)
-
-try:
- os.makedirs(GNUEDIR)
-except:
- pass
-
-# create path.py
-output = open ("%s/paths.py" % GNUEDIR, "w")
-output.write ("# This file was generated by setup-svn.py.\n")
-output.write ("import os\n")
-output.write ("\n")
-output.write ("lib = os.path.dirname(os.path.dirname(__file__))\n")
-output.write ("scripts = \"%s\"\n" % BINDIR)
-output.write ("data = \"%s\"\n" % CONFDIR)
-output.write ("config = \"%s/etc\"\n" % CONFDIR)
-output.close ()
-
-if WIN:
- # create import for gnue-common
- CURRENT_DIR = os.path.join(SVNDIR,"gnue-common")
- linkModule("src","common")
- os.system("copy \"%s\\gnue-common\\module\\base\\__init__.py\" \"%s\"" %
(SVNDIR, GNUEDIR) )
- # FIXME: add locale support to Win32 developer install
-
-else:
- rootCommands.append("""
- cd %(GNUEDIR)s
- ln -f -s %(SVNDIR)s/gnue-common/module/base/__init__.py .
- ln -f -s %(SVNDIR)s/gnue-common/src common
- if [ -f %(SVNDIR)s/gnue-common/src/.GDTD.py ]; then rm -f
%(SVNDIR)s/gnue-common/src/.GDTD.py; fi
-
- rm -rf %(CONFDIR)s/share/locale/*
- cd %(CONFDIR)s/share/locale
- for i in %(SVNDIR)s/*; do
- package=`basename $i`
- if [ -d $i/po ]; then
- (cd $i/po; make -s gmo)
- for j in $i/po/*.gmo; do
- language=`basename $j .gmo`
- mkdir -p %(CONFDIR)s/share/locale/${language}/LC_MESSAGES
- ln -f -s $j
%(CONFDIR)s/share/locale/${language}/LC_MESSAGES/${package}.mo
- done
- fi
- done
-
- """ % globals() )
-
-for CURRENT_TOOL in ('gnue-common',
- 'gnue-designer',
- 'gnue-dbtools',
- 'gnue-forms',
- 'gnue-reports',
- 'gnue-navigator',
- 'gnue-pos',
- 'gnue-integrator',
- 'gnue-appserver'):
-
- CURRENT_DIR = os.path.join(SVNDIR, CURRENT_TOOL)
- setupfile = os.path.join(CURRENT_DIR, 'setup.svn')
-
- if not auto:
- print setupfile
-
- if os.path.isfile(setupfile) and \
- getYesNo('Setup SVN environment for %s? (Yes,No,All,neVer)'% CURRENT_TOOL,
- 'Y','autotools'):
- execfile(setupfile,globals())
-
-
-if getYesNo('Do you have any external/custom packages to setup?','N'):
- while 1:
- path = getInput("Path to package's directory containing a setup.svn file?
(blank line to end)",None)
- if not path:
- break
-
- CURRENT_TOOL = CURRENT_DIR = path
- execfile(os.path.join(CURRENT_DIR,'setup.svn'), globals())
-
-
-
-willCreateConf = 0
-willCreateConn = 0
-willCreateFilt = 0
-
-if os.path.isfile('/usr/local/gnue/etc/gnue.conf') and \
- CONFDIR != '/usr/local/gnue' and not
os.path.isfile(CONFDIR+'/etc/gnue.conf'):
- if getYesNo('Do you wish to use the current system-wide gnue.conf file?
(Yes,No,All,neVer)','N','conf'):
- rootCommands.append("ln -s /usr/local/gnue/etc/gnue.conf
%(CONFDIR)s/etc/gnue.conf" % globals())
- willCreateConf = 1
-
-
-if os.path.isfile('/usr/local/gnue/etc/backends.conf') and \
- CONFDIR != '/usr/local/gnue' and not
os.path.isfile(CONFDIR+'/etc/backends.conf'):
- if getYesNo('Do you wish to use the current system-wide backends.conf file?
(Yes,No,All,neVer)','Y','conf'):
- rootCommands.append("ln -s /usr/local/gnue/etc/backends.conf
%(CONFDIR)s/etc/backends.conf" % globals())
- willCreateConn = 1
-
-
-if os.path.isfile('/usr/local/gnue/etc/report-filters.conf') and \
- CONFDIR != '/usr/local/gnue' and not
os.path.isfile(CONFDIR+'/etc/report-filters.conf'):
- if getYesNo('Do you wish to use the current system-wide report-filters.conf
file? (Yes,No,All,neVer)','N','conf'):
- rootCommands.append("ln -s /usr/local/gnue/etc/report-filters.conf
%(CONFDIR)s/etc/report-filters.conf" % globals())
- willCreateFilt = 1
-
-
-if not willCreateConf and not os.path.isfile("%s/etc/gnue.conf"%CONFDIR):
- if WIN:
- createLink("%s/gnue-common/etc/gnue.conf" % SVNDIR, "%s/etc/gnue.conf" %
CONFDIR)
- else:
- rootCommands.append("cp %(SVNDIR)s/gnue-common/etc/gnue.conf
%(CONFDIR)s/etc/gnue.conf" % globals())
-
-
-if not willCreateConn and not os.path.isfile("%s/etc/backends.conf"%CONFDIR):
- if WIN:
- createLink("%s/gnue-common/etc/backends.conf" % SVNDIR,
"%s/etc/backends.conf" % CONFDIR)
- else:
- rootCommands.append("cp %(SVNDIR)s/gnue-common/etc/backends.conf
%(CONFDIR)s/etc/backends.conf" % globals())
-
-if not auto:
- print
- print "NOTE: Your backends.conf file will need to"
- print " be edited to reflect your local setup."
- print
-
-
-if not willCreateFilt and not
os.path.isfile("%s/etc/report-filters.conf"%CONFDIR):
- if WIN or getYesNo ("Do you want to use a symlinked report-filters.conf
file? (Yes,No,All,neVer)",'N', 'symconf'):
- createLink("%s/gnue-reports/etc/sample.report-filters.conf" % SVNDIR,
"%s/etc/report-filters.conf" % CONFDIR)
- else:
- rootCommands.append("cp
%(SVNDIR)s/gnue-reports/etc/sample.report-filters.conf
%(CONFDIR)s/etc/report-filters.conf" % globals())
-
-
-if WIN:
- print "Setup completed!"
-
-elif ROOTINSTALL:
-
- out = open("setup-root.sh",'w')
- out.write("#!/bin/sh\n")
- out.write(string.join(rootCommands,"\n"))
- out.write("\n")
- out.close()
-
- print ""
- print "All the commands that need to be run as root have been written"
- print "to setup-root.sh . In order for your setup to be complete, this"
- print "file must be run. This setup script can run setup-root.sh for"
- print "you. If you choose to run the script now and are not currently"
- print "logged in as root, you will be prompted for the root password."
- if getYesNo('Run "/bin/sh setup-root.sh" as root?','Y'):
- os.system('su root -c "/bin/sh setup-root.sh"')
- else:
- print ""
- print 'Do not forget to run "/bin/sh setup-root.sh" as root'
- print ""
-
-else:
-
- out = open("setup.log",'w')
- out.write(string.join(rootCommands,"\n"))
- out.write("\n")
- out.close()
-
- os.system(string.join(rootCommands,'\n'))
-
-#
-# Save our config settings
-#
-from pprint import pformat
-c = open (os.path.join(SVNDIR,'.svn-config'),'w')
-for key, val in globals().items():
- if key[0].isupper():
- c.write('%s=%s\n\n' % (key, pformat(val)))
Copied: trunk/gnue-common/setup.bzr (from rev 10155,
trunk/gnue-common/setup.svn)
===================================================================
--- trunk/gnue-common/setup.bzr (rev 0)
+++ trunk/gnue-common/setup.bzr 2010-04-20 20:46:26 UTC (rev 10156)
@@ -0,0 +1,31 @@
+#
+# This file is part of GNU Enterprise.
+#
+# GNU Enterprise is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public
+# License as published by the Free Software Foundation; either
+# version 3, or (at your option) any later version.
+#
+# GNU Enterprise is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied
+# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public
+# License along with program; see the file COPYING. If not,
+# write to the Free Software Foundation, Inc., 59 Temple Place
+# - Suite 330, Boston, MA 02111-1307, USA.
+#
+# Copyright 2001-2010 Free Software Foundation
+#
+# ********************
+# NOTE:
+# This file is parsed/run by gnue-common's setup-bzr.py script.
+# If you are attempting to set up a Bazaar install environment,
+# please run that file. This file is not a standalone script.
+# ********************
+
+createShell ('gsscvs', 'gnue-schema')
+createShell ('gcvs','')
+
+createLink ('images/*.*', '%s/share/gnue/images/' % CONFDIR)
Deleted: trunk/gnue-common/setup.svn
===================================================================
--- trunk/gnue-common/setup.svn 2010-04-07 06:51:21 UTC (rev 10155)
+++ trunk/gnue-common/setup.svn 2010-04-20 20:46:26 UTC (rev 10156)
@@ -1,32 +0,0 @@
-#
-# This file is part of GNU Enterprise.
-#
-# GNU Enterprise is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public
-# License as published by the Free Software Foundation; either
-# version 3, or (at your option) any later version.
-#
-# GNU Enterprise is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied
-# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-# PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public
-# License along with program; see the file COPYING. If not,
-# write to the Free Software Foundation, Inc., 59 Temple Place
-# - Suite 330, Boston, MA 02111-1307, USA.
-#
-# Copyright 2001-2004 Free Software Foundation
-#
-# ********************
-# NOTE:
-# This file is parsed/run by gnue-common's setup-svn.py script.
-# If you are attempting to set up a CVS install environment, please
-# run that file. This file is not a standalone script.
-# ********************
-#
-
-createShell ('gsscvs', 'gnue-schema')
-createShell ('gcvs','')
-
-createLink ('images/*.*', '%s/share/gnue/images/' % CONFDIR)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r10156 - trunk/gnue-common,
reinhard <=