commit: 4b895c761e79db78b1c3640d5d053c93fdd98277
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 26 23:17:20 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Tue Jan 26 23:17:20 2016 +0000
URL:
https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=4b895c76
fix for Dups of checksums
pym/tbc/build_log.py | 6 +++---
pym/tbc/package.py | 2 +-
pym/tbc/sqlquerys.py | 6 +++---
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/pym/tbc/build_log.py b/pym/tbc/build_log.py
index d4fa0ef..b194561 100644
--- a/pym/tbc/build_log.py
+++ b/pym/tbc/build_log.py
@@ -108,16 +108,16 @@ def get_build_dict_db(session, config_id, settings,
tbc_settings_dict, pkg):
pkgdir = myportdb.getRepositoryPath(repo) + "/" + categories + "/" +
package
ebuild_version_checksum_tree = portage.checksum.sha256hash(pkgdir+ "/"
+ package + "-" + ebuild_version + ".ebuild")[0]
build_dict['checksum'] = ebuild_version_checksum_tree
- ebuild_id_list, status = get_ebuild_id_db(session,
build_dict['checksum'], build_dict['package_id'])
+ ebuild_id_list, status = get_ebuild_id_db(session,
build_dict['checksum'], build_dict['package_id'], build_dict['ebuild_version'])
if status:
if ebuild_id_list is None:
log_msg = "%s:%s Don't have any ebuild_id!" % (pkg.cpv,
repo,)
- add_logs(session, log_msg, "error", config_id)
+ write_log(session, log_msg, "error", config_id,
'build_log.get_build_dict_db')
else:
old_ebuild_id_list = []
for ebuild_id in ebuild_id_list:
log_msg = "%s:%s:%s Dups of checksums" %
(pkg.cpv, repo, ebuild_id,)
- add_logs(session, log_msg, "error", config_id)
+ write_log(session, log_msg, "error", config_id,
'build_log.get_build_dict_db')
old_ebuild_id_list.append(ebuild_id)
add_old_ebuild(session, old_ebuild_id_list)
return
diff --git a/pym/tbc/package.py b/pym/tbc/package.py
index bb797de..60e0de5 100644
--- a/pym/tbc/package.py
+++ b/pym/tbc/package.py
@@ -351,7 +351,7 @@ class tbc_package(object):
elif fail:
dupe_ebuild_id_list = []
for checksum in checksums_db:
- ebuilds_id , status =
get_ebuild_id_db(self._session, checksum, package_id)
+ ebuilds_id , status =
get_ebuild_id_db(self._session, checksum, package_id, ebuild_version_tree)
for ebuild_id in ebuilds_id:
log_msg = "U %s:%s:%s Dups of
checksums" % (cpv, repo, ebuild_id,)
write_log(self._session,
log_msg, "warning", self._config_id, 'packages.update_package_db')
diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index 4161461..2fdb7f1 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -545,13 +545,13 @@ def get_ebuild_checksums(session, package_id,
ebuild_version):
return ebuild_checksum_list, True
return EbuildInfo.Checksum, False
-def get_ebuild_id_db(session, checksum, package_id):
+def get_ebuild_id_db(session, checksum, package_id, ebuild_version):
try:
- EbuildInfos = session.query(Ebuilds).filter_by(PackageId =
package_id).filter_by(Checksum = checksum).one()
+ EbuildInfos = session.query(Ebuilds).filter_by(PackageId =
package_id).filter_by(Checksum = checksum).filter_by(Version =
ebuild_version).filter_by(Active = True).one()
except NoResultFound as e:
return None, True
except MultipleResultsFound as e:
- EbuildInfos = session.query(Ebuilds).filter_by(PackageId =
package_id).filter_by(Checksum = checksum).all()
+ EbuildInfos = session.query(Ebuilds).filter_by(PackageId =
package_id).filter_by(Checksum = checksum).filter_by(Version =
ebuild_version).filter_by(Active = True).all()
ebuilds_id = []
for EbuildInfo in EbuildInfos:
ebuilds_id.append(EbuildInfo.EbuildId)