config değerlerini ve constantları düzenle

This commit is contained in:
Barış Metin
2005-07-18 18:17:12 +00:00
parent 93a5fe5dcc
commit a8bd1376a0
5 changed files with 30 additions and 24 deletions
+3 -2
View File
@@ -9,6 +9,7 @@ import sys
import util import util
from ui import ui from ui import ui
from constants import const from constants import const
from config import config
from sourcearchive import SourceArchive from sourcearchive import SourceArchive
from files import Files, FileInfo from files import Files, FileInfo
from metadata import MetaData from metadata import MetaData
@@ -194,8 +195,8 @@ class PisiBuild:
some additional information.""" some additional information."""
metadata = MetaData() metadata = MetaData()
metadata.fromSpec(self.spec.source, package) metadata.fromSpec(self.spec.source, package)
metadata.package.distribution = const.distribution metadata.package.distribution = config.values.general.distribution
metadata.package.distributionRelease = const.distributionRelease metadata.package.distributionRelease = config.values.general.distribution_release
metadata.package.architecture = "Any" metadata.package.architecture = "Any"
# FIXME: Bu hatalı. installsize'ı almak için tüm # FIXME: Bu hatalı. installsize'ı almak için tüm
+8 -7
View File
@@ -1,12 +1,10 @@
# -*- coding: utf-8 -*-
# PISI Configuration module is used for gathering and providing # PISI Configuration module is used for gathering and providing
# regular PISI configurations. # regular PISI configurations.
# Authors: Baris Metin <baris@uludag.org.tr # Authors: Baris Metin <baris@uludag.org.tr
# Eray Ozkural <eray@uludag.org.tr> # Eray Ozkural <eray@uludag.org.tr>
#TODO: Eventually PISI will have a configuration file (located in
#/etc/pisi/conf?) and this module will provide access to those
#configuration parameters.
from constants import const from constants import const
from configfile import ConfigurationFile from configfile import ConfigurationFile
@@ -26,17 +24,20 @@ class Config(object):
# pkg_x_dir: per package directory for storing info type x # pkg_x_dir: per package directory for storing info type x
def lib_dir(self): def lib_dir(self):
return self.destdir + const.lib_dir_suffix return self.destdir + self.values.dirs.lib_dir
def db_dir(self): def db_dir(self):
return self.destdir + const.db_dir_suffix return self.destdir + self.values.dirs.db_dir
def archives_dir(self): def archives_dir(self):
return self.destdir + const.archives_dir_suffix return self.destdir + self.values.dirs.archives_dir
def tmp_dir(self): def tmp_dir(self):
return self.destdir + const.tmp_dir_suffix return self.destdir + self.values.dirs.tmp_dir
# bu dizini neden kullanıyoruz? Yalnızca index.py içerisinde
# kullanılıyor ama /var/tmp/pisi/install gibi bir dizine niye
# ihtiyacımız var? (baris)
def install_dir(self): def install_dir(self):
return self.tmp_dir() + const.install_dir_suffix return self.tmp_dir() + const.install_dir_suffix
+17
View File
@@ -27,6 +27,8 @@ class ConfigException(Exception):
class GeneralDefaults: class GeneralDefaults:
"""Default values for [general] section""" """Default values for [general] section"""
destinationdirectory = os.getcwd() + "/tmp" # FOR ALPHA destinationdirectory = os.getcwd() + "/tmp" # FOR ALPHA
distribution = "Pardus"
distribution_release = "0.1"
class BuildDefaults: class BuildDefaults:
"""Default values for [build] section""" """Default values for [build] section"""
@@ -34,6 +36,13 @@ class BuildDefaults:
CFLAGS = "-mcpu=i686 -O2 -pipe -fomit-frame-pointer" CFLAGS = "-mcpu=i686 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS= "-mcpu=i686 -O2 -pipe -fomit-frame-pointer" CXXFLAGS= "-mcpu=i686 -O2 -pipe -fomit-frame-pointer"
class DirsDefaults:
"Default values for [directories] section"
lib_dir = "/var/lib/pisi"
db_dir = "/var/db/pisi"
archives_dir = "/var/cache/pisi/archives"
tmp_dir = "/var/tmp/pisi"
class SvnDefaults: class SvnDefaults:
"""Default values for [svn] section """ """Default values for [svn] section """
username = password = None username = password = None
@@ -48,6 +57,8 @@ class ConfigurationSection(object):
self.defaults = GeneralDefaults self.defaults = GeneralDefaults
elif section == "build": elif section == "build":
self.defaults = BuildDefaults self.defaults = BuildDefaults
elif section == "directories":
self.defaults = DirsDefaults
elif section == "svn": elif section == "svn":
self.defaults = SvnDefaults self.defaults = SvnDefaults
else: else:
@@ -87,6 +98,12 @@ class ConfigurationFile(object):
builditems = [] builditems = []
self.build = ConfigurationSection("build", builditems) self.build = ConfigurationSection("build", builditems)
try:
dirsitems = parser.items("directories")
except NoSectionError:
dirsitems = []
self.dirs = ConfigurationSection("directories", dirsitems)
try: try:
svnitems = parser.items("svn") svnitems = parser.items("svn")
except NoSectionError: except NoSectionError:
-14
View File
@@ -28,23 +28,9 @@ class Constants:
__c = _constant() __c = _constant()
def __init__(self): def __init__(self):
# Constants for metadata
#TODO: These two will be defined in a configuration file.
self.__c.distribution = "Pardus"
self.__c.distributionRelease = "0.1"
# prefix for package names # prefix for package names
self.__c.package_prefix = ".pisi" self.__c.package_prefix = ".pisi"
# 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"
# directory suffixes for build # directory suffixes for build
self.__c.work_dir_suffix = "/work" self.__c.work_dir_suffix = "/work"
self.__c.install_dir_suffix = "/install" self.__c.install_dir_suffix = "/install"
+2 -1
View File
@@ -27,10 +27,11 @@ class BuildContext(object):
# pkg_x_dir: per package directory for storing info type x # pkg_x_dir: per package directory for storing info type x
def pkg_dir(self): def pkg_dir(self):
"package build directory"
packageDir = self.spec.source.name + '-' \ packageDir = self.spec.source.name + '-' \
+ self.spec.source.version + '-' + self.spec.source.release + self.spec.source.version + '-' + self.spec.source.release
return self.destdir + const.tmp_dir_suffix \ return self.destdir + self.values.dirs.tmp_dir \
+ '/' + packageDir + '/' + packageDir
def pkg_work_dir(self): def pkg_work_dir(self):