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)

Reply via email to