commit:     71d06a89176b48e1dbdbb971b703422334efc540
Author:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 25 22:48:27 2016 +0000
Commit:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Mon Jan 25 22:48:27 2016 +0000
URL:        
https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=71d06a89

add support for logging part2

 pym/tbc/build_log.py |  2 +-
 pym/tbc/package.py   | 65 +++++++++++++++++++++++++++-------------------------
 pym/tbc/sqlquerys.py |  2 +-
 3 files changed, 36 insertions(+), 33 deletions(-)

diff --git a/pym/tbc/build_log.py b/pym/tbc/build_log.py
index 70cd091..a16cdc6 100644
--- a/pym/tbc/build_log.py
+++ b/pym/tbc/build_log.py
@@ -304,7 +304,7 @@ def add_buildlog_main(settings, pkg, trees):
        build_log_dict['log_hash'] = log_hash.hexdigest()
        build_log_dict['logfilename'] = 
settings.get("PORTAGE_LOG_FILE").split(host_config)[1]
        log_msg = "Logfile name: %s" % (settings.get("PORTAGE_LOG_FILE"),)
-        write_log(session, log_msg, "info", config_id, 
'build_log.add_buildlog_main')
+       write_log(session, log_msg, "info", config_id, 
'build_log.add_buildlog_main')
        build_log_dict['emerge_info'] = get_emerge_info_id(settings, trees, 
session, config_id)
        log_id = add_new_buildlog(session, build_dict, build_log_dict)
 

diff --git a/pym/tbc/package.py b/pym/tbc/package.py
index 72108a2..65a0f40 100644
--- a/pym/tbc/package.py
+++ b/pym/tbc/package.py
@@ -7,6 +7,7 @@ import hashlib
 import os
 import git
 import portage
+import datetime
 from portage.xml.metadata import MetaDataXML
 from tbc.flags import tbc_use_flags
 from tbc.text import get_ebuild_cvs_revision, get_log_text_dict
@@ -83,6 +84,7 @@ class tbc_package(object):
                                if ebuild_auxdb_list[i] == '':
                                        ebuild_auxdb_list[i] = ''
                        return ebuild_auxdb_list
+
        def get_git_log_ebuild(self, repodir, ebuild_file):
                git_log_ebuild = ''
                g = git.Git(repodir)
@@ -105,11 +107,12 @@ class tbc_package(object):
                except:
                        ebuild_version_checksum_tree = "0"
                        log_msg = "QA: Can't checksum the ebuild file. %s on 
repo %s" % (cpv, repo,)
-                       write_log(session, log_msg, "warning", config_id, 
'packages.get_packageDict')
+                       write_log(self._session, log_msg, "warning", 
self._config_id, 'packages.get_packageDict')
                        log_msg = "C %s:%s ... Fail." % (cpv, repo)
-                       write_log(session, log_msg, "info", config_id, 
'packages.get_packageDict')
+                       write_log(self._session, log_msg, "info", 
self._config_id, 'packages.get_packageDict')
                        git_commit = '0'
                else:
+                       repodir =self._ myportdb.getRepositoryPath(repo)
                        git_commit = self.get_git_log_ebuild(repodir, 
ebuild_file)
 
                # Get the ebuild metadata
@@ -119,7 +122,7 @@ class tbc_package(object):
                # so it can be updated next time we update the db
                if not ebuild_version_metadata_tree:
                        log_msg = " QA: %s have broken metadata on repo %s" % 
(cpv, repo)
-                       write_log(session, log_msg, "warning", config_id, 
'packages.get_packageDict')
+                       write_log(self._session, log_msg, "warning", 
self._config_id, 'packages.get_packageDict')
                        ebuild_version_metadata_tree = 
['','','','','','','','','','','','','','','','','','','','','','','','','']
                        ebuild_version_checksum_tree = '0'
 
@@ -168,17 +171,17 @@ class tbc_package(object):
                                                # B = Build cpv use-flags config
                                                # FIXME log_msg need a fix to 
log the use flags corect.
                                                log_msg = "B %s:%s USE: %s 
Setup: %s" % (k, v['repo'], use_flagsDict, setup_id,)
-                                               write_log(session, log_msg, 
"info", config_id, 'packages.add_new_build_job_db')
+                                               write_log(self._session, 
log_msg, "info", self._config_id, 'packages.add_new_build_job_db')
                                        i = i +1
 
-       def get_git_log_pkg_text(self, repodir, cp):
+       def get_git_changelog_text(self, repodir, cp):
                n = '5'
                git_log_pkg = ''
                g = git.Git(repodir)
                git_log_pkg = g.log('-n ' + n, '--grep=' + cp)
                return git_log_pkg
 
-       def get_package_metadataDict(self, pkgdir, package_id):
+       def get_package_metadataDict(self, pkgdir, repodir, package_id, cp):
                # Make package_metadataDict
                attDict = {}
                package_metadataDict = {}
@@ -189,7 +192,7 @@ class tbc_package(object):
                        pkg_md = MetaDataXML(pkgdir + "/metadata.xml", herd)
                except:
                        log_msg = "Metadata file %s is missing or has errors" % 
(pkgdir + "/metadata.xml")
-                       write_log(session, log_msg, "warning", config_id, 
'packages.get_package_metadataDict')
+                       write_log(self._session, log_msg, "warning", 
self._config_id, 'packages.get_package_metadataDict')
                else:
                        tmp_herds = pkg_md.herds()
                        if tmp_herds != ():
@@ -201,8 +204,8 @@ class tbc_package(object):
                                attDict['metadata_xml_email'] = md_email_list
                        else:
                                log_msg = "Metadata file %s missing Email" % 
(pkgdir + "/metadata.xml")
-                               write_log(session, log_msg, "warning", 
config_id, 'packages.get_package_metadataDict')
-               attDict['git_log_pkg_text'] = 
self.get_git_log_pkg_text(repodir, cp)
+                               write_log(self._session, log_msg, "warning", 
self._config_id, 'packages.get_package_metadataDict')
+               attDict['git_changlog'] = self.get_git_changelog_text(repodir, 
cp)
                attDict['metadata_xml_descriptions'] = ''
                package_metadataDict[package_id] = attDict
                return package_metadataDict
@@ -247,9 +250,9 @@ class tbc_package(object):
                        mtime = os.path.getmtime(pkgdir + "/Manifest")
                except:
                        log_msg = "QA: Can't checksum the Manifest file. 
:%s:%s" % (cp, repo,)
-                       write_log(session, log_msg, "warning", config_id, 
'packages.get_manifest_mtime_tree')
+                       write_log(self._session, log_msg, "warning", 
self._config_id, 'packages.get_manifest_mtime_tree')
                        log_msg = "C %s:%s ... Fail." % (cp, repo)
-                       write_log(session, log_msg, "warning", config_id, 
'packages.get_manifest_mtime_tree')
+                       write_log(self._session, log_msg, "warning", 
self._config_id, 'packages.get_manifest_mtime_tree')
                        return False
                return 
datetime.datetime.fromtimestamp(mtime).replace(microsecond=0)
 
@@ -258,9 +261,9 @@ class tbc_package(object):
                # C = Checking
                # N = New Package
                log_msg = "C %s:%s" % (cp, repo)
-               write_log(session, log_msg, "info", config_id, 
'packages.add_new_package_db')
+               write_log(self._session, log_msg, "info", self._config_id, 
'packages.add_new_package_db')
                log_msg = "N %s:%s" % (cp, repo)
-               write_log(session, log_msg, "info", config_id, 
'packages.add_new_package_db')
+               write_log(self._session, log_msg, "info", self._config_id, 
'packages.add_new_package_db')
                repodir = self._myportdb.getRepositoryPath(repo)
                mytree = []
                mytree.append(repodir)
@@ -275,16 +278,16 @@ class tbc_package(object):
                status = check_repoman_full(self._session, pkgdir, package_id, 
self._config_id)
                if status:
                        log_msg = "Repoman %s::%s ... Fail." % (cp, repo)
-                       write_log(session, log_msg, "warning", config_id, 
'packages.add_new_package_db')
+                       write_log(self._session, log_msg, "warning", 
self._config_id, 'packages.add_new_package_db')
 
-               package_metadataDict = self.get_package_metadataDict(pkgdir, 
package_id)
+               package_metadataDict = self.get_package_metadataDict(pkgdir, 
repodir, package_id, cp)
                # Get the ebuild list for cp
                ebuild_list_tree = self._myportdb.cp_list(cp, use_cache=1, 
mytree=mytree)
                if ebuild_list_tree == []:
                        log_msg = "QA: Can't get the ebuilds list. %s:%s" % 
(cp, repo,)
-                       write_log(session, log_msg, "error", config_id, 
'packages.add_new_package_db')
+                       write_log(self._session, log_msg, "error", 
self._config_id, 'packages.add_new_package_db')
                        log_msg = "C %s:%s ... Fail." % (cp, repo)
-                       write_log(session, log_msg, "warning", config_id, 
'packages.add_new_package_db')
+                       write_log(self._session, log_msg, "warning", 
self._config_id, 'packages.add_new_package_db')
                        return None
 
                # Make the needed packageDict with ebuild infos so we can add 
it later to the db.
@@ -301,7 +304,7 @@ class tbc_package(object):
                packageDict[cpv]['new'] = True
                self.add_package(packageDict, package_metadataDict, package_id, 
new_ebuild_id_list, old_ebuild_id_list, manifest_mtime_tree)
                log_msg = "C %s:%s ... Done." % (cp, repo)
-               write_log(session, log_msg, "info", config_id, 
'packages.add_new_package_db')
+               write_log(self._session, log_msg, "info", self._config_id, 
'packages.add_new_package_db')
 
        def update_package_db(self, package_id):
                # Update the categories and package with new info
@@ -310,7 +313,7 @@ class tbc_package(object):
                cp = CategoryInfo.Category + '/' + PackageInfo.Package
                repo = RepoInfo.Repo
                log_msg = "C %s:%s" % (cp, repo)
-               write_log(session, log_msg, "info", config_id, 
'packages.update_package_db')
+               write_log(self._session, log_msg, "info", self._config_id, 
'packages.update_package_db')
                repodir = self._myportdb.getRepositoryPath(repo)
                pkgdir = repodir + "/" + cp # Get RepoDIR + cp
                if not os.path.isdir(pkgdir):
@@ -320,16 +323,16 @@ class tbc_package(object):
                                cpv = cp + "-" + EbuildInfo.Version
                                # R =  remove ebuild
                                log_msg = "R %s:%s" % (cpv, repo,)
-                               write_log(session, log_msg, "info", config_id, 
'packages.update_package_db')
+                               write_log(self._session, log_msg, "info", 
self._config_id, 'packages.update_package_db')
                        add_old_ebuild(self._session, old_ebuild_id_list)
                        add_old_package(self._session, package_id)
                        log_msg = "C %s:%s ... Done." % (cp, repo)
-                       write_log(session, log_msg, "info", config_id, 
'packages.update_package_db')
+                       write_log(self._session, log_msg, "info", 
self._config_id, 'packages.update_package_db')
                        return None
                
                mytree = []
                mytree.append(repodir)
-               manifest_mtime_tree = self.get_manifest_checksum_tree(pkgdir, 
cp, repo, mytree)
+               manifest_mtime_tree = self.get_manifest_mtime_tree(pkgdir, cp, 
repo, mytree)
                if not manifest_mtime_tree:
                        return None
 
@@ -338,24 +341,24 @@ class tbc_package(object):
 
                        # U = Update
                        log_msg = "U %s:%s" % (cp, repo)
-                       write_log(session, log_msg, "info", config_id, 
'packages.update_package_db')
+                       write_log(self._session, log_msg, "info", 
self._config_id, 'packages.update_package_db')
 
                        # Get the ebuild list for cp
                        old_ebuild_id_list = []
                        ebuild_list_tree = self._myportdb.cp_list(cp, 
use_cache=1, mytree=mytree)
                        if ebuild_list_tree == []:
                                log_msg = "QA: Can't get the ebuilds list. 
%s:%s" % (cp, repo,)
-                               write_log(session, log_msg, "error", config_id, 
'packages.update_package_db')
+                               write_log(self._session, log_msg, "error", 
self._config_id, 'packages.update_package_db')
                                log_msg = "C %s:%s ... Fail." % (cp, repo)
-                               write_log(session, log_msg, "warning", 
config_id, 'packages.update_package_db')
+                               write_log(self._session, log_msg, "warning", 
self._config_id, 'packages.update_package_db')
                                return None
 
                        # Check cp with repoman full
                        status = check_repoman_full(self._session, pkgdir, 
package_id, self._config_id)
                        if status:
                                log_msg = "Repoman %s::%s ... Fail." % (cp, 
repo)
-                               write_log(session, log_msg, "warning", 
config_id, 'packages.update_package_db')
-                       package_metadataDict = 
self.get_package_metadataDict(pkgdir, package_id)
+                               write_log(self._session, log_msg, "warning", 
self._config_id, 'packages.update_package_db')
+                       package_metadataDict = 
self.get_package_metadataDict(pkgdir, repodir, package_id, cp)
                        packageDict ={}
                        new_ebuild_id_list = []
                        for cpv in sorted(ebuild_list_tree):
@@ -383,7 +386,7 @@ class tbc_package(object):
                                                ebuilds_id , status = 
get_ebuild_id_db(self._session, checksum, package_id)
                                                for ebuild_id in ebuilds_id:
                                                        log_msg = "U %s:%s:%s 
Dups of checksums" % (cpv, repo, ebuild_id,)
-                                                       write_log(session, 
log_msg, "warning", config_id, 'packages.update_package_db')
+                                                       
write_log(self._session, log_msg, "warning", self._config_id, 
'packages.update_package_db')
                                                        
dupe_ebuild_id_list.append(ebuild_id)
                                        add_old_ebuild(self._session, 
dupe_ebuild_id_list)
                                        ebuild_version_manifest_checksum_db = 
None
@@ -394,12 +397,12 @@ class tbc_package(object):
                                if ebuild_version_manifest_checksum_db is None:
                                        # N = New ebuild
                                        log_msg = "N %s:%s" % (cpv, repo,)
-                                       write_log(session, log_msg, "info", 
config_id, 'packages.update_package_db')
+                                       write_log(self._session, log_msg, 
"info", self._config_id, 'packages.update_package_db')
                                        packageDict[cpv]['new'] = True
                                elif  ebuild_version_checksum_tree != 
ebuild_version_manifest_checksum_db:
                                        # U = Updated ebuild
                                        log_msg = "U %s:%s" % (cpv, repo,)
-                                       write_log(session, log_msg, "info", 
config_id, 'packages.update_package_db')
+                                       write_log(self._session, log_msg, 
"info", self._config_id, 'packages.update_package_db')
                                else:
                                        # Remove cpv from packageDict and add 
ebuild to new ebuils list
                                        del packageDict[cpv]
@@ -408,4 +411,4 @@ class tbc_package(object):
                        self.add_package(packageDict, package_metadataDict, 
package_id, new_ebuild_id_list, old_ebuild_id_list, manifest_mtime_tree)
 
                log_msg = "C %s:%s ... Done." % (cp, repo)
-               write_log(session, log_msg, "info", config_id, 
'packages.update_package_db')
+               write_log(self._session, log_msg, "info", self._config_id, 
'packages.update_package_db')

diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index 5100bec..e43b8fc 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -422,7 +422,7 @@ def add_new_ebuild_sql(session, packageDict):
                        except (MultipleResultsFound) as e:
                                # FIXME
                                sys.exit()
-               session.add(EbuildsMetadata(EbuildId = EbuildInfo.EbuildId, 
Revision = v['ebuild_version_revision_tree'], Descriptions = 
v['ebuild_version_descriptions_tree']))
+               session.add(EbuildsMetadata(EbuildId = EbuildInfo.EbuildId, 
Commit = v['git_commit'], Descriptions = v['ebuild_version_descriptions_tree']))
                session.commit()
                ebuild_id_list.append(EbuildInfo.EbuildId)
                restrictions = []

Reply via email to