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
|
md.package.additionalFiles = None
|
||||||
|
|
||||||
if md.package.name in deltas:
|
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]:
|
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 = metadata.Delta()
|
||||||
delta.packageURI = util.removepathprefix(repo_uri, delta_path)
|
delta.packageURI = util.removepathprefix(repo_uri, delta_path)
|
||||||
delta.packageSize = long(os.path.getsize(delta_path))
|
delta.packageSize = long(os.path.getsize(delta_path))
|
||||||
delta.packageHash = util.sha1_file(delta_path)
|
delta.packageHash = util.sha1_file(delta_path)
|
||||||
name, buildFrom, buildTo = util.parse_delta_package_name(delta_path)
|
delta.releaseFrom = src_release
|
||||||
delta.buildFrom = buildFrom
|
|
||||||
|
|
||||||
# Add only delta to latest build of the package
|
md.package.deltaPackages.append(delta)
|
||||||
if int(buildTo) == int(md.package.build):
|
|
||||||
md.package.deltaPackages.append(delta)
|
|
||||||
|
|
||||||
self.packages.append(md.package)
|
self.packages.append(md.package)
|
||||||
|
|
||||||
|
|||||||
+3
-2
@@ -33,6 +33,7 @@ class Delta:
|
|||||||
t_PackageSize = [ autoxml.Long, autoxml.optional]
|
t_PackageSize = [ autoxml.Long, autoxml.optional]
|
||||||
t_PackageHash = [ autoxml.String, autoxml.optional, "SHA1Sum" ]
|
t_PackageHash = [ autoxml.String, autoxml.optional, "SHA1Sum" ]
|
||||||
a_buildFrom = [autoxml.String, autoxml.optional]
|
a_buildFrom = [autoxml.String, autoxml.optional]
|
||||||
|
a_releaseFrom = [autoxml.String, autoxml.optional]
|
||||||
|
|
||||||
class Source:
|
class Source:
|
||||||
__metaclass__ = autoxml.autoxml
|
__metaclass__ = autoxml.autoxml
|
||||||
@@ -57,9 +58,9 @@ class Package(specfile.Package, xmlfile.XmlFile):
|
|||||||
|
|
||||||
t_Source = [ Source, autoxml.optional]
|
t_Source = [ Source, autoxml.optional]
|
||||||
|
|
||||||
def get_delta(self, buildFrom):
|
def get_delta(self, release):
|
||||||
for delta in self.deltaPackages:
|
for delta in self.deltaPackages:
|
||||||
if delta.buildFrom == str(buildFrom):
|
if delta.releaseFrom == str(release):
|
||||||
return delta
|
return delta
|
||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
|||||||
Reference in New Issue
Block a user