]> git.ipfire.org Git - pbs.git/commitdiff
jobs: Force builders to refresh repository data all the time
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 2 Sep 2023 09:30:23 +0000 (09:30 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 2 Sep 2023 09:30:23 +0000 (09:30 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/buildservice/builders.py
src/buildservice/config.py
src/buildservice/repository.py

index 5e7fb2b2fa88e5c73c1b441bd096bb2913c43d6b..b01a059aa51b00850c9ccae55adec751605d1a4c 100644 (file)
@@ -845,7 +845,7 @@ class Builder(base.DataObject):
                                "test"    : job.is_test(),
 
                                # Send the pakfire configuration without using any mirrors
-                               "conf"    : "%s" % job.pakfire(mirrored=False),
+                               "conf"    : "%s" % job.pakfire(build=True, mirrored=False),
 
                                # URL to the package
                                "pkg"     : job.pkg.download_url,
index 256f86b9c3e2268e35d90ae661652f3a45300494..320a3ac570d28154213c26312bc74158d145cd98 100644 (file)
@@ -15,7 +15,7 @@ log = logging.getLogger("pbs.config")
 
 class PakfireConfig(base.Object):
        def init(self, distro=None, repos=None, vendor=None, contact=None,
-                       arch=None, include_source=False, mirrored=True, logger=None):
+                       arch=None, include_source=False, mirrored=True, build=None, logger=None):
                self.distro = distro
                self.repos = set()
 
@@ -36,6 +36,9 @@ class PakfireConfig(base.Object):
                # Should the repositories use any mirrors?
                self.mirrored = mirrored
 
+               # Is this for a build?
+               self.build = build
+
                # Log messages to here
                self.logger = logger
 
@@ -123,8 +126,8 @@ class PakfireConfig(base.Object):
 
                # Add the repository configurations
                for repo in self.repos:
-                       repo.write_config(config, local=local,
-                               include_source=self.include_source, mirrored=self.mirrored)
+                       repo.write_config(config, local=local, include_source=self.include_source,
+                               mirrored=self.mirrored, build=self.build)
 
                return config
 
index df4c5c6c6708f27b37f8a99f58523a24130f984e..176a5f61fc005c6afb6ebc9f57472b02fe5aa7fe 100644 (file)
@@ -286,12 +286,12 @@ class Repository(base.DataObject):
                if include_source:
                        self._write_config(config, "%s-source" % self.slug, "src", **kwargs)
 
-       def _write_config(self, config, name, arch, local=False, mirrored=True):
+       def _write_config(self, config, name, arch, local=False, mirrored=True, build=False):
                # Disable mirroring if local or not mirrored
                if local or not self.mirrored:
                        mirrored = False
 
-               config["repo:%s" % name] = {
+               args = {
                        # Description
                        "description" : "%s - %s" % (self.distro.name, self.name),
 
@@ -308,6 +308,15 @@ class Repository(base.DataObject):
                        "mirrors" : self.mirrorlist if mirrored else "",
                }
 
+               if build:
+                       # Refresh Interval - Force a refresh every time
+                       args |= {
+                               "refresh" : "0",
+                       }
+
+               # Store in configuration
+               config["repo:%s" % name] = args
+
        # Name
 
        def get_name(self):