]> git.ipfire.org Git - pakfire.git/commitdiff
builder: Pass configuration file through for distribution
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 19 Apr 2021 16:50:34 +0000 (16:50 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 19 Apr 2021 16:50:34 +0000 (16:50 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/pakfire/base.py
src/pakfire/builder.py
src/pakfire/cli.py

index 17c5d3b11bf5078803ddacf0126e07608df09921..d831264bd1de12e66bd6aaf04090e7002da0a06f 100644 (file)
@@ -25,12 +25,10 @@ import random
 import string
 
 from . import _pakfire
-from . import distro
 from . import logger
 from . import packages
 from . import util
 
-from .config import Config
 from .system import system
 
 from .constants import *
@@ -39,18 +37,12 @@ from .i18n import _
 class Pakfire(_pakfire.Pakfire):
        __version__ = PAKFIRE_VERSION
 
-       def __init__(self, path=None, config=None, arch=None, distro=None, offline=False):
-               _pakfire.Pakfire.__init__(self, path, arch, offline=offline)
+       def __init__(self, path=None, arch=None, conf=None, offline=False):
+               _pakfire.Pakfire.__init__(self, path, arch, conf=conf, offline=offline)
 
                # Initialise logging system
                self.log = self._setup_logger()
 
-               # Default to system distribution
-               self.distro = distro or system.distro
-
-               # Load configuration
-               self.config = config or Config("general.conf")
-
        def _setup_logger(self):
                log = logging.getLogger("pakfire")
                log.propagate = 0
@@ -69,9 +61,6 @@ class Pakfire(_pakfire.Pakfire):
                        Called to initialize this Pakfire instance when
                        the context is entered.
                """
-               # Dump the configuration when we enter the context
-               self.config.dump()
-
                # Refresh repositories
                self.refresh_repositories()
 
index 89ca4b773b823a64e76b33a29fe811a0ed8267a1..8c98cc0d5b438b9f52652ff9fb801464d2d7aced 100644 (file)
@@ -25,7 +25,6 @@ import uuid
 
 from . import _pakfire
 from . import base
-from . import config
 from . import logger
 from . import util
 
@@ -72,16 +71,12 @@ exit 0
 """
 
 class Builder(object):
-       def __init__(self, arch=None, build_id=None, logfile=None, **kwargs):
-               self.config = config.Config("general.conf")
-
-               distro_name = self.config.get("builder", "distro", None)
-               if distro_name:
-                       self.config.read("distros/%s.conf" % distro_name)
+       def __init__(self, conf, arch=None, build_id=None, logfile=None, **kwargs):
+               self.conf = conf
 
                # Settings array.
                self.settings = {
-                       "enable_ccache"       : self.config.get_bool("builder", "use_ccache", True),
+                       "enable_ccache" : True,
                }
 
                # Add settings from keyword arguments
@@ -106,8 +101,7 @@ class Builder(object):
                # Initialise Pakfire instance
                pakfire = base.Pakfire(
                        arch=self.arch,
-                       config=self.config,
-                       distro=self.config.distro,
+                       conf=self.conf,
                )
 
                # Mount ccache
index ef7163ca829d4878a333a2769a37eb3651f54a06..93adb2d95e9f9123cd1a5797c8fcddd743161995 100644 (file)
@@ -400,7 +400,7 @@ class CliBuilder(Cli):
                # Add additional arguments
                parser.add_argument("--arch", "-a", nargs="?",
                        help=_("Run pakfire for the given architecture"))
-               parser.add_argument("--distro", nargs="?",
+               parser.add_argument("--distro", nargs="?", default="ipfire3", # XXX for now
                        help=_("Choose the distribution configuration to use for build"))
 
                # build
@@ -483,7 +483,10 @@ class CliBuilder(Cli):
                return parser.parse_args()
 
        def builder(self, ns):
-               return builder.Builder(arch=ns.arch)
+               # Find distro configuration file
+               conf = os.path.join(CONFIG_DISTRO_DIR, "%s.conf" % ns.distro)
+
+               return builder.Builder(conf=conf, arch=ns.arch)
 
        def handle_build(self, ns):
                package, = ns.package