From: Michael Tremer Date: Sat, 2 Sep 2023 09:30:23 +0000 (+0000) Subject: jobs: Force builders to refresh repository data all the time X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=46124b3a66f773e0224018216f6e0c4fa73169b3;p=pbs.git jobs: Force builders to refresh repository data all the time Signed-off-by: Michael Tremer --- diff --git a/src/buildservice/builders.py b/src/buildservice/builders.py index 5e7fb2b2..b01a059a 100644 --- a/src/buildservice/builders.py +++ b/src/buildservice/builders.py @@ -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, diff --git a/src/buildservice/config.py b/src/buildservice/config.py index 256f86b9..320a3ac5 100644 --- a/src/buildservice/config.py +++ b/src/buildservice/config.py @@ -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 diff --git a/src/buildservice/repository.py b/src/buildservice/repository.py index df4c5c6c..176a5f61 100644 --- a/src/buildservice/repository.py +++ b/src/buildservice/repository.py @@ -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):