except ReleaseExistsError as e:
log.debug("Release %s already exists" % e)
+ # The latest build is newer than this release
+ except BuildExistsError as e:
+ log.debug("Latest build is newer")
+
# Launch the build
if release and release.build:
await self.backend.builds.launch([release.build])
"""
Returns True if a build with this version already exists
"""
- # XXX needs to check if we already have a newer version
- # XXX packages don't have version separately
- # XXX How do we get this from EVR?
+ # If there is no build to check against we return False
+ if not self.latest_build:
+ return False
- #return version in [build.pkg.version for build in self.builds]
+ # Check if the version is larger than the build
+ with self.backend.pakfire() as p:
+ # Compare the versions
+ if p.version_compare(self.latest_build.pkg.evr, version) > 0:
+ return True
- @property
- def builds(self):
- return self.distro.get_builds_by_name(self.name)
+ return False
@lazy_property
def latest_build(self):