commit: 988511359bd3f58aa91f8cd94179b8f44779719a Author: Magnus Granberg <zorry <AT> gentoo <DOT> org> AuthorDate: Sun Sep 6 20:28:38 2015 +0000 Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org> CommitDate: Sun Sep 6 20:28:38 2015 +0000 URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=98851135
add git log file commit ID pym/tbc/package.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pym/tbc/package.py b/pym/tbc/package.py index 6224846..ef9b453 100644 --- a/pym/tbc/package.py +++ b/pym/tbc/package.py @@ -82,6 +82,13 @@ 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) + for line in g.log('-n 1', ebuild_file).splitlines(): + if re.search('^commit', line): + git_log_ebuild = re.sub('commit', '', line) + return git_log_ebuild def get_packageDict(self, pkgdir, cpv, repo): @@ -90,10 +97,10 @@ class tbc_package(object): element = portage.versions.cpv_getkey(cpv).split('/') categories = element[0] package = element[1] - + ebuild_file = pkgdir + "/" + package + "-" + ebuild_version_tree + ".ebuild" # Make a checksum of the ebuild try: - ebuild_version_checksum_tree = portage.checksum.sha256hash(pkgdir + "/" + package + "-" + ebuild_version_tree + ".ebuild")[0] + ebuild_version_checksum_tree = portage.checksum.sha256hash(ebuild_file)[0] except: ebuild_version_checksum_tree = "0" log_msg = "QA: Can't checksum the ebuild file. %s on repo %s" % (cpv, repo,) @@ -102,8 +109,7 @@ class tbc_package(object): add_logs(self._session, log_msg, "info", self._config_id) git_commit = '0' else: - git_commit = '0' - #FIXME The git commit need to be fixed or when $ID get fixed + git_commit = self.get_git_log_ebuild(repodir, ebuild_file): # Get the ebuild metadata ebuild_version_metadata_tree = self.get_ebuild_metadata(cpv, repo) @@ -177,14 +183,13 @@ class tbc_package(object): package_metadataDict = {} md_email_list = [] herd = None + attDict['metadata_xml_email'] = False try: pkg_md = MetaDataXML(pkgdir + "/metadata.xml", herd) except: log_msg = "Metadata file %s is missing or has errors" % (pkgdir + "/metadata.xml") add_logs(self._session, log_msg, "qa", self._config_id) - attDict['metadata_xml_email'] = False else: - attDict['git_log_pkg_text'] = self.get_git_log_pkg_text(repodir, cp) tmp_herds = pkg_md.herds() if tmp_herds != (): attDict['metadata_xml_herds'] = tmp_herds[0] @@ -196,7 +201,7 @@ class tbc_package(object): else: log_msg = "Metadata file %s missing Email" % (pkgdir + "/metadata.xml") add_logs(self._session, log_msg, "qa", self._config_id) - attDict['metadata_xml_email'] = False + attDict['git_log_pkg_text'] = self.get_git_log_pkg_text(repodir, cp) attDict['metadata_xml_descriptions'] = '' package_metadataDict[package_id] = attDict return package_metadataDict