index: Add support for new filename format of delta packages
Also store release numbers instead of build numbers.
This commit is contained in:
+13
-5
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user