From: Michael Tremer Date: Tue, 11 Feb 2025 09:59:49 +0000 (+0000) Subject: releases: Mirror all stable releases X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=827cbcf674f3c2e6289a9c163a895e6d28b95e47;p=pbs.git releases: Mirror all stable releases Signed-off-by: Michael Tremer --- diff --git a/src/buildservice/__init__.py b/src/buildservice/__init__.py index 370312b3..0ccead36 100644 --- a/src/buildservice/__init__.py +++ b/src/buildservice/__init__.py @@ -573,9 +573,30 @@ class Backend(object): "--include=.timestamp", ] + paths = [] + + # Add all stable releases + async for distro in self.distros: + releases = await distro.get_releases() + + for release in releases: + if not release.stable: + continue + + paths.append( + release.local_path(), + ) + # Add all mirrored repositories async for repo in await self.repos.mirrored: - path = os.path.relpath(repo.local_path(), self.basepath) + paths.append( + repo.local_path(), + ) + + # Add all paths + for path in paths: + # Make the path relative (again) + path = os.path.relpath(path, self.basepath) commandline.append("--include=%s***" % path) diff --git a/src/buildservice/releases.py b/src/buildservice/releases.py index ed955d7b..df070299 100644 --- a/src/buildservice/releases.py +++ b/src/buildservice/releases.py @@ -158,3 +158,26 @@ class Release(database.Base, database.BackendMixin, database.SoftDeleteMixin): images.append(image) return images + + # Path + + @property + def path(self): + """ + Make the path + """ + return "%s/%s" % (self.distro.slug, self.slug) + + # Local Path + + def local_path(self, arch=None): + """ + Path to the releases + """ + path = self.backend.path("releases", self.path) + + # Append the architecture + if arch: + path = os.path.join(path, arch) + + return path