* fonksiyon haline dondur

This commit is contained in:
Eray Özkural
2005-06-20 13:48:40 +00:00
parent 4dff4b67bf
commit c679310f36
+28 -35
View File
@@ -11,49 +11,42 @@ import packagedb
import dependency import dependency
#import conflicts #import conflicts
class PisiInstallError(Exception): class InstallError(Exception):
pass pass
class PisiInstall: def install(self, package_fn):
# tek bir fonksiyon olan bir seyi class yapmak dogru mu?
# ne state sakliyor PisiInstall?
def __init__(self, package_fn): package = Package(package_fn, 'r')
self.install(package_fn) # extract control files
util.clean_dir(ctx.install_dir())
ui.info('extracting files\n')
package.extract_PISI_files(ctx.install_dir())
def install(self, package_fn): # verify package
# check if we have all required files
package = Package(package_fn, 'r') metadata = MetaData()
# extract control files metadata.read(ctx.install_dir() + '/metadata.xml')
util.clean_dir(ctx.install_dir()) # check package semantics
ui.info('extracting files\n') if not metadata.verify():
package.extract_PISI_files(ctx.install_dir()) raise InstallError("MetaData format wrong")
# verify package # check file system requirements
# check if we have all required files # what to do if / is split into /usr, /var, etc.?
metadata = MetaData() # check conflicts
metadata.read(ctx.install_dir() + '/metadata.xml') # check dependencies
# check package semantics if not dependency.installable(metadata.packages[0].name):
if not metadata.verify(): raise InstallError("Package not installable")
raise InstallError("MetaData format wrong")
# check file system requirements # unzip package in place
# what to do if / is split into /usr, /var, etc.? package.extract_dir_flat(ctx.destdir)
# check conflicts # update databases
# check dependencies
if not dependency.installable(metadata.packages[0].name):
raise InstallError("Package not installable")
# unzip package in place # installdb
package.extract_dir_flat(ctx.destdir) installdb.install(metadata.packages[0].name,
metadata.source.version,
# update databases metadata.source.release,
ctx.install_dir() + '/files.xml')
# installdb
installdb.install(metadata.packages[0].name,
metadata.source.version,
metadata.source.release,
ctx.install_dir() + '/files.xml')