Exception handling

This commit is contained in:
S.Çağlar Onur
2005-08-05 18:58:59 +00:00
parent 401c6033ce
commit 2053c2103c
2 changed files with 60 additions and 13 deletions
+59 -12
View File
@@ -14,39 +14,79 @@
# Standard Python Modules
import os
# Pisi Modules
from pisi.ui import ui
# ActionsAPI Modules
import get
from shelltools import system
from shelltools import can_access_file
from libtools import gnuconfig_update
class ConfigureError(Exception):
def __init__(self, Exception):
ui.error(Exception)
if can_access_file('config.log'):
ui.error('\n!!! Please attach the config.log to your bug report:\n%s/config.log\n' % os.getcwd())
class MakeError(Exception):
def __init__(self, Exception):
ui.error(Exception)
class InstallError(Exception):
def __init__(self, Exception):
ui.error(Exception)
def configure(parameters = ''):
''' configure source with given parameters = "--with-nls --with-libusb --with-something-usefull"'''
configure_string = './configure --prefix=/%s --host=%s --mandir=/%s \
if can_access_file('configure'):
gnuconfig_update()
configure_string = './configure --prefix=/%s --host=%s --mandir=/%s \
--infodir=/%s --datadir=/%s --sysconfdir=/%s \
--localstatedir=/%s %s' \
% (get.defaultprefixDIR(), get.HOST(), get.manDIR(),
get.infoDIR(), get.dataDIR(), get.confDIR(),
get.localstateDIR(), parameters)
system(configure_string)
if system(configure_string):
raise ConfigureError('!!! Configure failed...\n')
else:
raise ConfigureError('!!! No configure script found...\n')
def rawConfigure(parameters = ''):
''' configure source with given parameters = " --prefix=/usr --libdir=/usr/lib --with-nls"'''
system('./configure %s' % parameters)
if can_access_file('configure'):
gnuconfig_update()
#FIXME: Find another way!
if system('./configure %s' % parameters):
raise ConfigureError('!!! Configure failed...\n')
else:
raise ConfigureError('!!! No configure script found...\n')
def rawConfigureWithPrefix(prefix='', parameters = ''):
system('%s ./configure %s' % ( prefix, parameters))
#FIXME: Find another way for this function!
if can_access_file('configure'):
gnuconfig_update()
if system('%s ./configure %s' % ( prefix, parameters)):
raise ConfigureError('!!! Configure failed...\n')
else:
raise ConfigureError('!!! No configure script found...\n')
def compile(parameters = ''):
system('%s %s %s' % (get.GCC(), get.CFLAGS(), parameters))
def make(parameters = ''):
make_string = ('make %s' % parameters)
system(make_string)
if can_access_file('makefile') or can_access_file('Makefile') or can_access_file('GNUmakefile'):
if system('make %s' % parameters):
raise MakeError('!!! Make failed...\n')
else:
raise MakeError('!!! No Makefile found...\n')
def install(parameters = ''):
install_string = 'make prefix=%(prefix)s/%(defaultprefix)s \
if can_access_file('makefile') or can_access_file('Makefile') or can_access_file('GNUmakefile'):
install_string = 'make prefix=%(prefix)s/%(defaultprefix)s \
datadir=%(prefix)s/%(data)s \
infodir=%(prefix)s/%(info)s \
localstatedir=%(prefix)s/%(localstate)s \
@@ -62,10 +102,17 @@ def install(parameters = ''):
'data': get.dataDIR(),
'parameters': parameters}
system(install_string)
if system(install_string):
raise InstallError('!!! Install failed...\n')
else:
raise InstallError('!!! No Makefile found...\n')
def rawInstall(parameters = ''):
system('make %s install' % parameters)
if can_access_file('makefile') or can_access_file('Makefile') or can_access_file('GNUmakefile'):
if system('make %s install' % parameters):
raise InstallError('!!! Install failed...\n')
else:
raise InstallError('!!! No Makefile found...\n')
def aclocal(parameters = ''):
system('aclocal %s' % parameters)
+1 -1
View File
@@ -89,4 +89,4 @@ def system(command):
break
ui.debug(line)
p.close()
return p.close()