1 |
commit: 4b895c761e79db78b1c3640d5d053c93fdd98277 |
2 |
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue Jan 26 23:17:20 2016 +0000 |
4 |
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Jan 26 23:17:20 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=4b895c76 |
7 |
|
8 |
fix for Dups of checksums |
9 |
|
10 |
pym/tbc/build_log.py | 6 +++--- |
11 |
pym/tbc/package.py | 2 +- |
12 |
pym/tbc/sqlquerys.py | 6 +++--- |
13 |
3 files changed, 7 insertions(+), 7 deletions(-) |
14 |
|
15 |
diff --git a/pym/tbc/build_log.py b/pym/tbc/build_log.py |
16 |
index d4fa0ef..b194561 100644 |
17 |
--- a/pym/tbc/build_log.py |
18 |
+++ b/pym/tbc/build_log.py |
19 |
@@ -108,16 +108,16 @@ def get_build_dict_db(session, config_id, settings, tbc_settings_dict, pkg): |
20 |
pkgdir = myportdb.getRepositoryPath(repo) + "/" + categories + "/" + package |
21 |
ebuild_version_checksum_tree = portage.checksum.sha256hash(pkgdir+ "/" + package + "-" + ebuild_version + ".ebuild")[0] |
22 |
build_dict['checksum'] = ebuild_version_checksum_tree |
23 |
- ebuild_id_list, status = get_ebuild_id_db(session, build_dict['checksum'], build_dict['package_id']) |
24 |
+ ebuild_id_list, status = get_ebuild_id_db(session, build_dict['checksum'], build_dict['package_id'], build_dict['ebuild_version']) |
25 |
if status: |
26 |
if ebuild_id_list is None: |
27 |
log_msg = "%s:%s Don't have any ebuild_id!" % (pkg.cpv, repo,) |
28 |
- add_logs(session, log_msg, "error", config_id) |
29 |
+ write_log(session, log_msg, "error", config_id, 'build_log.get_build_dict_db') |
30 |
else: |
31 |
old_ebuild_id_list = [] |
32 |
for ebuild_id in ebuild_id_list: |
33 |
log_msg = "%s:%s:%s Dups of checksums" % (pkg.cpv, repo, ebuild_id,) |
34 |
- add_logs(session, log_msg, "error", config_id) |
35 |
+ write_log(session, log_msg, "error", config_id, 'build_log.get_build_dict_db') |
36 |
old_ebuild_id_list.append(ebuild_id) |
37 |
add_old_ebuild(session, old_ebuild_id_list) |
38 |
return |
39 |
|
40 |
diff --git a/pym/tbc/package.py b/pym/tbc/package.py |
41 |
index bb797de..60e0de5 100644 |
42 |
--- a/pym/tbc/package.py |
43 |
+++ b/pym/tbc/package.py |
44 |
@@ -351,7 +351,7 @@ class tbc_package(object): |
45 |
elif fail: |
46 |
dupe_ebuild_id_list = [] |
47 |
for checksum in checksums_db: |
48 |
- ebuilds_id , status = get_ebuild_id_db(self._session, checksum, package_id) |
49 |
+ ebuilds_id , status = get_ebuild_id_db(self._session, checksum, package_id, ebuild_version_tree) |
50 |
for ebuild_id in ebuilds_id: |
51 |
log_msg = "U %s:%s:%s Dups of checksums" % (cpv, repo, ebuild_id,) |
52 |
write_log(self._session, log_msg, "warning", self._config_id, 'packages.update_package_db') |
53 |
|
54 |
diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py |
55 |
index 4161461..2fdb7f1 100644 |
56 |
--- a/pym/tbc/sqlquerys.py |
57 |
+++ b/pym/tbc/sqlquerys.py |
58 |
@@ -545,13 +545,13 @@ def get_ebuild_checksums(session, package_id, ebuild_version): |
59 |
return ebuild_checksum_list, True |
60 |
return EbuildInfo.Checksum, False |
61 |
|
62 |
-def get_ebuild_id_db(session, checksum, package_id): |
63 |
+def get_ebuild_id_db(session, checksum, package_id, ebuild_version): |
64 |
try: |
65 |
- EbuildInfos = session.query(Ebuilds).filter_by(PackageId = package_id).filter_by(Checksum = checksum).one() |
66 |
+ EbuildInfos = session.query(Ebuilds).filter_by(PackageId = package_id).filter_by(Checksum = checksum).filter_by(Version = ebuild_version).filter_by(Active = True).one() |
67 |
except NoResultFound as e: |
68 |
return None, True |
69 |
except MultipleResultsFound as e: |
70 |
- EbuildInfos = session.query(Ebuilds).filter_by(PackageId = package_id).filter_by(Checksum = checksum).all() |
71 |
+ EbuildInfos = session.query(Ebuilds).filter_by(PackageId = package_id).filter_by(Checksum = checksum).filter_by(Version = ebuild_version).filter_by(Active = True).all() |
72 |
ebuilds_id = [] |
73 |
for EbuildInfo in EbuildInfos: |
74 |
ebuilds_id.append(EbuildInfo.EbuildId) |