* sense metadata changes try.

This commit is contained in:
Faik Uygur
2006-07-12 13:56:08 +00:00
parent eb0e8d7b0e
commit c2a33da2e0
+19 -8
View File
@@ -568,10 +568,6 @@ class Builder:
metadata.package.installedSize = size metadata.package.installedSize = size
metadata.package.build = build_no
metadata_xml_path = util.join_path(self.pkg_dir(), ctx.const.metadata_xml)
metadata.write(metadata_xml_path)
self.metadata = metadata self.metadata = metadata
@@ -625,6 +621,16 @@ class Builder:
def calc_build_no(self, package_name): def calc_build_no(self, package_name):
"""Calculate build number""" """Calculate build number"""
def metadata_changed(old_metadata, new_metadata):
old_metadata.package.build = None
for key in old_metadata.package.__dict__.keys():
if old_metadata.package.__dict__[key] != new_metadata.package.__dict__[key]:
if key != "build":
return True
return False
# find previous build in packages dir # find previous build in packages dir
found = [] found = []
def locate_old_package(old_package_fn): def locate_old_package(old_package_fn):
@@ -669,7 +675,6 @@ class Builder:
old_pkg = Package(old_package_fn, 'r') old_pkg = Package(old_package_fn, 'r')
old_pkg.read(util.join_path(ctx.config.tmp_dir(), 'oldpkg')) old_pkg.read(util.join_path(ctx.config.tmp_dir(), 'oldpkg'))
# FIXME: TAKE INTO ACCOUNT MINOR CHANGES IN METADATA
changed = False changed = False
fnew = self.files.list fnew = self.files.list
fold = old_pkg.files.list fold = old_pkg.files.list
@@ -689,6 +694,10 @@ class Builder:
if fo.hash != fn.hash: if fo.hash != fn.hash:
changed = True changed = True
break break
if metadata_changed(old_pkg.metadata, self.metadata):
changed = True
else: # no old build had a build number else: # no old build had a build number
old_build = None old_build = None
@@ -747,6 +756,8 @@ class Builder:
ctx.ui.info(_("Generating %s,") % ctx.const.files_xml) ctx.ui.info(_("Generating %s,") % ctx.const.files_xml)
self.gen_files_xml(package) self.gen_files_xml(package)
ctx.ui.info(_("Generating %s,") % ctx.const.metadata_xml)
self.gen_metadata_xml(package)
# build number # build number
if ctx.config.options.ignore_build_no or not ctx.config.values.build.buildno: if ctx.config.options.ignore_build_no or not ctx.config.values.build.buildno:
@@ -754,9 +765,9 @@ class Builder:
ctx.ui.warning(_('Build number is not available. For repo builds you must enable buildno in pisi.conf.')) ctx.ui.warning(_('Build number is not available. For repo builds you must enable buildno in pisi.conf.'))
else: else:
build_no, old_build_no = self.calc_build_no(package.name) build_no, old_build_no = self.calc_build_no(package.name)
ctx.ui.info(_("Generating %s,") % ctx.const.metadata_xml) self.metadata.package.build = build_no
self.gen_metadata_xml(package, build_no) self.metadata.write(util.join_path(self.pkg_dir(), ctx.const.metadata_xml))
# Calculate new and oldpackage names for buildfarm # Calculate new and oldpackage names for buildfarm
name = util.package_name(package.name, name = util.package_name(package.name,