index: Add support for new filename format of delta packages

Also store release numbers instead of build numbers.
This commit is contained in:
Fatih Aşıcı
2010-10-06 10:53:58 +00:00
parent d11c1eba07
commit 1ce5b914e1
2 changed files with 16 additions and 7 deletions
+13 -5
View File
@@ -140,17 +140,25 @@ class Index(xmlfile.XmlFile):
md.package.additionalFiles = None
if md.package.name in deltas:
name, version, release, distro_id, arch = \
util.split_package_filename(path)
for delta_path in deltas[md.package.name]:
src_release, dst_release, delta_distro_id, delta_arch = \
util.split_delta_package_filename(delta_path)[1:]
# Add only delta to latest build of the package
if dst_release != md.package.release or \
(delta_distro_id, delta_arch) != (distro_id, arch):
continue
delta = metadata.Delta()
delta.packageURI = util.removepathprefix(repo_uri, delta_path)
delta.packageSize = long(os.path.getsize(delta_path))
delta.packageHash = util.sha1_file(delta_path)
name, buildFrom, buildTo = util.parse_delta_package_name(delta_path)
delta.buildFrom = buildFrom
delta.releaseFrom = src_release
# Add only delta to latest build of the package
if int(buildTo) == int(md.package.build):
md.package.deltaPackages.append(delta)
md.package.deltaPackages.append(delta)
self.packages.append(md.package)
+3 -2
View File
@@ -33,6 +33,7 @@ class Delta:
t_PackageSize = [ autoxml.Long, autoxml.optional]
t_PackageHash = [ autoxml.String, autoxml.optional, "SHA1Sum" ]
a_buildFrom = [autoxml.String, autoxml.optional]
a_releaseFrom = [autoxml.String, autoxml.optional]
class Source:
__metaclass__ = autoxml.autoxml
@@ -57,9 +58,9 @@ class Package(specfile.Package, xmlfile.XmlFile):
t_Source = [ Source, autoxml.optional]
def get_delta(self, buildFrom):
def get_delta(self, release):
for delta in self.deltaPackages:
if delta.buildFrom == str(buildFrom):
if delta.releaseFrom == str(release):
return delta
else:
return None