paket kuruluyor ve paket içerisindeki comar scriptleri register ediliyor!

dizinlendirmede bir sorun var. Dosyalar saklanırken ayrı ayrı dizinlere koyuluyor ve files_xml_dir'a files.xml diye dosya atılıyor. Salakça tabi :). Bunun yerine paket adı ve version numarasından bir dizin oluşturacağız lib_dir() içerisine ve dosyaları oraya yerleştireceğiz... Daha kolay olacak. Salaklığıma geldi files_xml_dir, metadata_xml_dir, comar_files_dir gibi dizinler açtım...
This commit is contained in:
Barış Metin
2005-07-15 13:48:08 +00:00
parent 7210d1cfbc
commit fa7aa783cb
4 changed files with 51 additions and 14 deletions
+11 -7
View File
@@ -3,19 +3,23 @@
import socket
def sendCommand(cmd, blocking=False):
s = socket.socket(socket.AF_UNIX,socket.SOCK_STREAM)
s.connect("/tmp/comar")
s.send(cmd)
s.close()
try:
s = socket.socket(socket.AF_UNIX,socket.SOCK_STREAM)
s.connect("/tmp/comar")
s.send(cmd)
s.close()
return True
except socket.error:
return False
def registerScript(om, appname, scriptPath):
cmd = '+' + om + ' ' + appname + ' ' +scriptPath + '\n'
sendCommand(cmd)
return sendCommand(cmd)
def removeScript(appname):
cmd = "-" + appname + '\n'
sendCommand(cmd)
return sendCommand(cmd)
def call(om):
cmd = '$' + om + '\n'
sendCommand(cmd)
return sendCommand(cmd)
+9
View File
@@ -42,6 +42,15 @@ class Config(object):
def install_dir(self):
return self.tmp_dir() + const.install_dir_suffix
def files_xml_dir(self):
return self.destdir + const.files_xml_dir_suffix
def metadata_xml_dir(self):
return self.destdir + const.metadata_xml_dir_suffix
def comar_files_dir(self):
return self.destdir + const.comar_files_dir_suffix
__configinstance = configimpl()
def __init__(self):
+6
View File
@@ -33,10 +33,16 @@ class Constants:
self.__c.distributionRelease = "0.1"
# directories
# TODO: bu dizinler constant olmak zorunda değil. yalnızca bu
# grubu config içerisine taşıyabiliriz. configfile'dan
# düzenlenebilirler.
self.__c.lib_dir_suffix = "/var/lib/pisi"
self.__c.db_dir_suffix = "/var/db/pisi"
self.__c.archives_dir_suffix = "/var/cache/pisi/archives"
self.__c.tmp_dir_suffix = "/var/tmp/pisi"
self.__c.comar_files_dir_suffix = "/var/lib/pisi/comar"
self.__c.files_xml_dir_suffix = "/var/lib/pisi/files"
self.__c.metadata_xml_dir_suffix = "/var/lib/pisi/metadata"
# directory suffixes for build
self.__c.work_dir_suffix = "/work"
+25 -7
View File
@@ -9,11 +9,13 @@ from package import Package
from files import Files
import util
from config import config
from constants import const
from ui import ui
from installdb import installdb
from packagedb import packagedb
import dependency
from metadata import MetaData
import comariface
#import conflicts
##TODO: Caglar'in onerisi uzerine.
@@ -54,6 +56,11 @@ def extract_pkg_files(package_fn):
ui.info('Extracting files\n')
package.extract_dir_flat('install', config.destdir)
def copy_from_pkg(package_fn, file, dest):
package = Package(package_fn, 'r')
ui.info('Coping file %s to %s\n' %(file, dest))
package.extract_file(file, dest)
def remove(package_name):
"""Remove a goddamn package"""
@@ -125,15 +132,26 @@ def install(package_fn):
# unzip package in place
extract_pkg_files(package_fn)
# TODO: put files.xml, metadata.xml, actions.py and COMAR scripts
# put files.xml, metadata.xml, actions.py and COMAR scripts
# somewhere in the file system. We'll need these in future...
copy_from_pkg(package_fn, const.files_xml , config.files_xml_dir())
copy_from_pkg(package_fn, const.metadata_xml , config.metadata_xml_dir())
for pcomar in package.providesComar:
fpath = os.path.join(const.comar_dir, pcomar.script)
# comar prefix is added to the libdir while extracting comar
# script file. so we'll use lib_dir as destination.
copy_from_pkg(package_fn, fpath, config.lib_dir())
# TODO: register COMAR scripts
# something like the below?
# import comariface
# for comar int metadata.package.providesComar:
# scriptPath = .... + comar.script
# comariface.register(comar.om, metadata.package.name, scriptPath)
# register COMAR scripts
for pcomar in package.providesComar:
scriptPath = config.comar_files_dir() + pcomar.script
ui.info("Registering COMAR script %s\n" % pcomar.script)
ret = comariface.registerScript(pcomar.om,
package.name,
scriptPath)
if not ret:
ui.error("Unable to register COMAR script. Be sure that comard is running!\n")
# update databases