* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-12-20 22:13 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-12-20 22:13 UTC (permalink / raw
To: gentoo-commits
commit: 966f66269f41f46f29895f7c9b6240f7babd5094
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 20 22:13:17 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Tue Dec 20 22:13:17 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=966f6626
fix a NoResultFound in get_job_status_waiting_on_guest
pym/tbc/sqlquerys.py | 5 +++--
pym/tbc/sync.py | 4 +++-
pym/tbc/updatedb.py | 4 +++-
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index 0276131..0ec5fc9 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -45,8 +45,9 @@ def get_jobs(session, config_id):
return JobsInfo
def get_job_status_waiting_on_guest(session):
- JobsInfo = session.query(Jobs).filter_by(Status = 'Waiting_on_guest').one()
- if JobsInfo == []:
+ try:
+ JobsInfo = session.query(Jobs).filter_by(Status = 'Waiting_on_guest').one()
+ except NoResultFound as e:
return None
return JobInfo.JobId
diff --git a/pym/tbc/sync.py b/pym/tbc/sync.py
index dee13ff..a93b84f 100644
--- a/pym/tbc/sync.py
+++ b/pym/tbc/sync.py
@@ -66,7 +66,9 @@ def git_sync_main(session):
time.sleep(60)
job_id = get_job_status_waiting_on_guest(session)
- update_job_list(session, 'Runing', job_id)
+ if not job_id is None:
+ update_job_list(session, 'Runing', job_id)
+
# check git diffs witch get updated and pass that to a dict
# fetch and merge the repo
repo_cp_dict = {}
diff --git a/pym/tbc/updatedb.py b/pym/tbc/updatedb.py
index b6539e4..7fce867 100644
--- a/pym/tbc/updatedb.py
+++ b/pym/tbc/updatedb.py
@@ -94,7 +94,9 @@ def update_cpv_db(session, repo_cp_dict, config_id, tbc_settings):
time.sleep(30)
job_id = get_job_status_waiting_on_guest(session)
- update_job_list(session, 'Runing', job_id)
+ if not job_id is None:
+ update_job_list(session, 'Runing', job_id)
+
log_msg = "Checking categories, package, ebuilds"
write_log(session, log_msg, "info", config_id, 'updatedb.update_cpv_db')
new_build_jobs_list = []
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2018-02-05 2:52 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2018-02-05 2:52 UTC (permalink / raw
To: gentoo-commits
commit: 236dc594e15792d1b53501b7595edd571993e03b
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 5 02:52:40 2018 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Mon Feb 5 02:52:40 2018 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=236dc594
use perform_checksum for checksum on files
pym/tbc/build_job.py | 3 ++-
pym/tbc/build_log.py | 4 ++--
pym/tbc/check_setup.py | 5 +++--
pym/tbc/package.py | 3 ++-
pym/tbc/updatedb.py | 3 ++-
5 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/pym/tbc/build_job.py b/pym/tbc/build_job.py
index d0d72c3..8d10a68 100644
--- a/pym/tbc/build_job.py
+++ b/pym/tbc/build_job.py
@@ -12,6 +12,7 @@ from portage import _encodings
from portage import _unicode_decode
from portage.versions import cpv_getkey
from portage.dep import check_required_use
+from portage.checksum import perform_checksum
from tbc.depclean import do_depclean
from tbc.flags import tbc_use_flags
from tbc.qachecks import check_file_in_manifest
@@ -34,7 +35,7 @@ class build_job_action(object):
pkgdir = portdb.getRepositoryPath(repo) + "/" + cp
build_use_flags_list = []
try:
- ebuild_version_checksum_tree = portage.checksum.sha256hash(pkgdir + "/" + package + "-" + build_dict['ebuild_version'] + ".ebuild")[0]
+ ebuild_version_checksum_tree = perform_checksum(pkgdir + "/" + package + "-" + build_dict['ebuild_version'] + ".ebuild", "SHA256")[0]
except:
ebuild_version_checksum_tree = None
if ebuild_version_checksum_tree == build_dict['checksum']:
diff --git a/pym/tbc/build_log.py b/pym/tbc/build_log.py
index 762ebd4..e9e5dd0 100644
--- a/pym/tbc/build_log.py
+++ b/pym/tbc/build_log.py
@@ -14,7 +14,7 @@ from portage.util import writemsg, \
writemsg_level, writemsg_stdout
from portage import _encodings
from portage import _unicode_encode
-
+from portage.checksum import perform_checksum
from _emerge.main import parse_opts
portage.proxy.lazyimport.lazyimport(globals(),
@@ -106,7 +106,7 @@ def get_build_dict_db(session, config_id, settings, tbc_settings_dict, pkg):
else:
build_dict['build_useflags'] = use_flagsDict
pkgdir = myportdb.getRepositoryPath(repo) + "/" + categories + "/" + package
- ebuild_version_checksum_tree = portage.checksum.sha256hash(pkgdir+ "/" + package + "-" + ebuild_version + ".ebuild")[0]
+ ebuild_version_checksum_tree = perform_checksum(pkgdir+ "/" + package + "-" + ebuild_version + ".ebuild", "SHA256")[0]
build_dict['checksum'] = ebuild_version_checksum_tree
ebuild_id_list, status = get_ebuild_id_db(session, build_dict['checksum'], build_dict['package_id'], build_dict['ebuild_version'])
if status:
diff --git a/pym/tbc/check_setup.py b/pym/tbc/check_setup.py
index a5f53e7..dcd7a0c 100644
--- a/pym/tbc/check_setup.py
+++ b/pym/tbc/check_setup.py
@@ -7,6 +7,7 @@ import os
import errno
from portage.exception import DigestException, FileNotFound, ParseError, PermissionDenied
+from portage.checksum import perform_checksum
from tbc.text import get_file_text
from tbc.sqlquerys import get_config_all_info, add_logs, get_configmetadata_info, get_setup_info
from tbc.sync import git_pull
@@ -29,7 +30,7 @@ def check_make_conf(session, config_id):
# Check if we have some error in the file. (portage.util.getconfig)
# Check if we envorment error with the config. (settings.validate)
try:
- make_conf_checksum_tree = portage.checksum.sha256hash(make_conf_file)[0]
+ make_conf_checksum_tree = perform_checksum(make_conf_file, "SHA256")[0]
portage.util.getconfig(make_conf_file, tolerant=0, allow_sourcing=True, expand=True)
mysettings = portage.config(config_root = check_config_dir)
mysettings.validate()
@@ -61,7 +62,7 @@ def check_configure_guest(session, config_id):
# Check if we have some error in the file (portage.util.getconfig)
# Check if we envorment error with the config (settings.validate)
try:
- make_conf_checksum_tree = portage.checksum.sha256hash(make_conf_file)[0]
+ make_conf_checksum_tree = perform_checksum(make_conf_file, "SHA256")[0]
portage.util.getconfig(make_conf_file, tolerant=0, allow_sourcing=True, expand=True)
mysettings = portage.config(config_root = "/")
mysettings.validate()
diff --git a/pym/tbc/package.py b/pym/tbc/package.py
index 721f9b1..84e3907 100644
--- a/pym/tbc/package.py
+++ b/pym/tbc/package.py
@@ -9,6 +9,7 @@ import git
import portage
import datetime
from portage.xml.metadata import MetaDataXML
+from portage.checksum import perform_checksum
from tbc.flags import tbc_use_flags
from tbc.text import get_ebuild_cvs_revision, get_log_text_dict
from tbc.flags import tbc_use_flags
@@ -111,7 +112,7 @@ class tbc_package(object):
ebuild_file = pkgdir + "/" + package + "-" + ebuild_version_tree + ".ebuild"
# Make a checksum of the ebuild
try:
- ebuild_version_checksum_tree = portage.checksum.sha256hash(ebuild_file)[0]
+ ebuild_version_checksum_tree = perform_checksum(ebuild_file, "SHA256")[0]
except:
ebuild_version_checksum_tree = "0"
log_msg = "QA: Can't checksum the ebuild file. %s on repo %s" % (cpv, repo,)
diff --git a/pym/tbc/updatedb.py b/pym/tbc/updatedb.py
index 437cfd5..d32f0ac 100644
--- a/pym/tbc/updatedb.py
+++ b/pym/tbc/updatedb.py
@@ -9,6 +9,7 @@ import time
import re
import portage
from portage.xml.metadata import MetaDataXML
+from portage.checksum import perform_checksum
from sqlalchemy.orm import scoped_session, sessionmaker
from tbc.ConnectionManager import NewConnection
from tbc.sqlquerys import get_package_info, update_repo_db, \
@@ -46,7 +47,7 @@ def get_categories_metadataDict(pkgdir):
pkg_md = MetaDataXML(pkgdir + "/metadata.xml", None)
metadata_xml_descriptions_tree = re.sub('\t', '', pkg_md.descriptions()[0])
categories_metadataDict['metadata_xml_descriptions'] = re.sub('\n', '', metadata_xml_descriptions_tree)
- categories_metadataDict['metadata_xml_checksum'] = portage.checksum.sha256hash(pkgdir + "/metadata.xml")[0]
+ categories_metadataDict['metadata_xml_checksum'] = perform_checksum(pkgdir + "/metadata.xml", "SHA256")[0]
return categories_metadataDict
def update_cpv_db_pool(mysettings, myportdb, cp, repo, tbc_settings, config_id):
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2017-01-15 19:57 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2017-01-15 19:57 UTC (permalink / raw
To: gentoo-commits
commit: 700a263237acc4beb17442ff66b4e70dd0947bce
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 15 19:57:10 2017 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Sun Jan 15 19:57:10 2017 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=700a2632
update web irker adress
pym/tbc/build_log.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pym/tbc/build_log.py b/pym/tbc/build_log.py
index 2a00b95..762ebd4 100644
--- a/pym/tbc/build_log.py
+++ b/pym/tbc/build_log.py
@@ -328,7 +328,7 @@ def add_buildlog_main(settings, pkg, trees):
else:
build_msg = "BUILD: FAILD"
tbc_config = get_tbc_config(session)
- msg = "Package: %s Repo: %s %s %s %s Weblink http://%s/new/logs/build/%s\n" % (pkg.cpv, pkg.repo, build_msg, repoman_msg, qa_msg, tbc_config.WebIrker, log_id,)
+ msg = "Package: %s Repo: %s %s %s %s Weblink http://%s/%s\n" % (pkg.cpv, pkg.repo, build_msg, repoman_msg, qa_msg, tbc_config.WebIrker, log_id,)
write_log(session, msg, "info", config_id, 'build_log.add_buildlog_main')
send_irk(msg, tbc_config.HostIrker)
session.close
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2017-01-08 15:33 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2017-01-08 15:33 UTC (permalink / raw
To: gentoo-commits
commit: 7d547c4e12884b4f2914eb9e151d3f043978ba42
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 8 15:31:57 2017 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Sun Jan 8 15:31:57 2017 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=7d547c4e
add slot and homepage
pym/tbc/db_mapping.py | 3 +++
pym/tbc/package.py | 2 +-
pym/tbc/sqlquerys.py | 6 ++++--
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/pym/tbc/db_mapping.py b/pym/tbc/db_mapping.py
index 96ae75b..f48ef56 100644
--- a/pym/tbc/db_mapping.py
+++ b/pym/tbc/db_mapping.py
@@ -293,6 +293,9 @@ class EbuildsMetadata(Base):
New = Column('new', Boolean, default=False)
Updated = Column('updated', Boolean, default=False)
Descriptions = Column('descriptions', Text)
+ Slot = Column('slot', String(10))
+ Homepage = Column('homepage', String(200))
+ License = Column('license', String(200))
__tablename__ = 'ebuilds_metadata'
class TbcConfig(Base):
diff --git a/pym/tbc/package.py b/pym/tbc/package.py
index 4bbb63e..721f9b1 100644
--- a/pym/tbc/package.py
+++ b/pym/tbc/package.py
@@ -299,7 +299,7 @@ class tbc_package(object):
# take package descriptions from the ebuilds
if package_metadataDict[package_id]['metadata_xml_descriptions'] != packageDict[cpv]['ebuild_version_descriptions_tree']:
package_metadataDict[package_id]['metadata_xml_descriptions'] = packageDict[cpv]['ebuild_version_descriptions_tree']
- package_metadataDict[package_id][new] = True
+ package_metadataDict[package_id]['new'] = True
self.add_package(packageDict, package_metadataDict, package_id, new_ebuild_id_list, old_ebuild_id_list)
log_msg = "C %s:%s ... Done." % (cp, repo)
write_log(self._session, log_msg, "info", self._config_id, 'packages.add_new_package_db')
diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index de60af7..9c962f4 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -432,7 +432,9 @@ def add_new_ebuild_sql(session, packageDict):
except (MultipleResultsFound) as e:
# FIXME
sys.exit()
- session.add(EbuildsMetadata(EbuildId = EbuildInfo.EbuildId, New = v['new'], Updated = v['updated'], Commit = v['git_commit'], CommitMsg = v['git_commit_msg'], Descriptions = v['ebuild_version_descriptions_tree']))
+ session.add(EbuildsMetadata(EbuildId = EbuildInfo.EbuildId, New = v['new'], Updated = v['updated'], Commit = v['git_commit'], \
+ CommitMsg = v['git_commit_msg'], Descriptions = v['ebuild_version_descriptions_tree'], Slot = v['ebuild_version_metadata_tree'][2], \
+ Homepage = v['ebuild_version_metadata_tree'][5], License = v['ebuild_version_metadata_tree'][6]))
session.commit()
ebuild_id_list.append(EbuildInfo.EbuildId)
restrictions = []
@@ -636,7 +638,7 @@ def reset_new_updated(session):
for x in EMInfo:
x.New = False
session.flush()
-try:
+ try:
BLInfo = session.query(BuildLogs).filter(BuildLogs.New == True).all()
except NoResultFound as e:
pass
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2017-01-08 15:33 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2017-01-08 15:33 UTC (permalink / raw
To: gentoo-commits
commit: 9ea28d6fc2bc00eaf64739cf6739ff52bbfe1056
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 8 15:32:49 2017 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Sun Jan 8 15:32:49 2017 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=9ea28d6f
add header.txt to ignore files
pym/tbc/sync.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pym/tbc/sync.py b/pym/tbc/sync.py
index a93b84f..8488c50 100644
--- a/pym/tbc/sync.py
+++ b/pym/tbc/sync.py
@@ -72,7 +72,7 @@ def git_sync_main(session):
# check git diffs witch get updated and pass that to a dict
# fetch and merge the repo
repo_cp_dict = {}
- search_list = [ '^metadata', '^eclass', '^licenses', '^profiles', '^scripts', '^skel.', ]
+ search_list = [ '^metadata', '^eclass', '^licenses', '^profiles', '^scripts', '^skel.', '^header.txt']
for repo_dir in git_repos_list(myportdb):
reponame = myportdb.getRepositoryName(repo_dir)
repo = git.Repo(repo_dir)
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-12-22 18:31 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-12-22 18:31 UTC (permalink / raw
To: gentoo-commits
commit: 35875a290ff4f094f6a9f2299f2c9e9c301482d9
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 22 18:31:02 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Thu Dec 22 18:31:02 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=35875a29
add new on BuildLogs and BuildJobs
pym/tbc/db_mapping.py | 2 ++
pym/tbc/sqlquerys.py | 22 +++++++++++++++++++---
2 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/pym/tbc/db_mapping.py b/pym/tbc/db_mapping.py
index 91ae5dd..96ae75b 100644
--- a/pym/tbc/db_mapping.py
+++ b/pym/tbc/db_mapping.py
@@ -136,6 +136,7 @@ class BuildJobs(Base):
Status = Column('status', Enum('Waiting','Building','Looked',))
BuildNow = Column('build_now', Boolean, default=False)
RemoveBin = Column('removebin', Boolean ,default=False)
+ New = Column('new', Boolean, default=False)
TimeStamp = Column('time_stamp', DateTime, nullable=False, default=datetime.datetime.utcnow)
__tablename__ = 'build_jobs'
@@ -188,6 +189,7 @@ class BuildLogs(Base):
SummeryText = Column('summery_text', Text)
LogHash = Column('log_hash', String(100))
BugId = Column('bug_id', Integer, default=0)
+ New = Column('new', Boolean, default=False)
TimeStamp = Column('time_stamp', DateTime, nullable=False, default=datetime.datetime.utcnow)
__tablename__ = 'build_logs'
diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index 6542c0a..de60af7 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -54,7 +54,7 @@ def get_job_status_waiting_on_guest(session):
def update_job_list(session, status, job_id):
JobInfo = session.query(Jobs).filter_by(JobId = job_id).one()
JobInfo.Status = status
- if status = 'Done':
+ if status == 'Done':
JobInfo.TimeStamp = datetime.datetime.utcnow()
session.commit()
@@ -244,7 +244,7 @@ def add_new_buildlog(session, build_dict, build_log_dict):
return None, False
def build_log_id_no_match(build_dict, build_log_dict):
- NewBuildLog = BuildLogs(EbuildId = build_dict['ebuild_id'], Fail = build_log_dict['fail'], SummeryText = build_log_dict['build_error'], LogHash = build_log_dict['log_hash'])
+ NewBuildLog = BuildLogs(EbuildId = build_dict['ebuild_id'], Fail = build_log_dict['fail'], SummeryText = build_log_dict['build_error'], LogHash = build_log_dict['log_hash'], New = True)
session.add(NewBuildLog)
session.flush()
build_log_id = NewBuildLog.BuildLogId
@@ -532,7 +532,7 @@ def get_package_info_from_package_id(session, package_id):
return PackageInfo, CategoryInfo, RepoInfo
def add_new_build_job(session, ebuild_id, setup_id, use_flagsDict, config_id):
- NewBuildJobs =BuildJobs(EbuildId = ebuild_id, SetupId = setup_id, ConfigId = config_id, Status = 'Waiting', BuildNow = False, RemoveBin = True)
+ NewBuildJobs = BuildJobs(EbuildId = ebuild_id, SetupId = setup_id, ConfigId = config_id, Status = 'Waiting', BuildNow = False, RemoveBin = True, New = True)
session.add(NewBuildJobs)
session.flush()
build_job_id = NewBuildJobs.BuildJobId
@@ -636,6 +636,22 @@ def reset_new_updated(session):
for x in EMInfo:
x.New = False
session.flush()
+try:
+ BLInfo = session.query(BuildLogs).filter(BuildLogs.New == True).all()
+ except NoResultFound as e:
+ pass
+ else:
+ for x in BLInfo:
+ x.New = False
+ session.flush()
+ try:
+ BJInfo = session.query(BuildJobs).filter(BuildJobs.New == True).all()
+ except NoResultFound as e:
+ pass
+ else:
+ for x in BJInfo:
+ x.New = False
+ session.flush()
try:
EMInfo = session.query(EbuildsMetadata).filter(EbuildsMetadata.Updated == True).all()
except NoResultFound as e:
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-12-22 11:29 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-12-22 11:29 UTC (permalink / raw
To: gentoo-commits
commit: e8fbf308450b9b257f1cd16532591caba51cc192
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 22 11:09:24 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Thu Dec 22 11:09:24 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=e8fbf308
reset new and updated on ebuild and package metadata
pym/tbc/sqlquerys.py | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index 1d69151..a64c5ef 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -616,3 +616,30 @@ def add_old_category(session, category_id):
CategorysInfo = session.query(Categories).filter_by(CategoryId = category_id).one()
CategorysInfo.Active = False
session.commit()
+
+def reset_new_updated(session):
+ try:
+ PMInfo = session.query(PackagesMetadata).filter(PackagesMetadata.New == True).all()
+ except NoResultFound as e:
+ pass
+ else:
+ for x in PMInfo:
+ x.New = False
+ session.flush()
+ try:
+ EMInfo = session.query(EbuildsMetadata).filter(EbuildsMetadata.New == True).all()
+ except NoResultFound as e:
+ pass
+ else:
+ for x in EMInfo:
+ x.New = False
+ session.flush()
+ try:
+ EMInfo = session.query(EbuildsMetadata).filter(EbuildsMetadata.Updated == True).all()
+ except NoResultFound as e:
+ pass
+ else:
+ for x in EMInfo:
+ x.Updated = False
+ session.flush()
+ session.commit()
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-12-22 11:29 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-12-22 11:29 UTC (permalink / raw
To: gentoo-commits
commit: 3ac0465df0049240f20ccb0efee65463203f7542
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 22 11:09:50 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Thu Dec 22 11:09:50 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=3ac0465d
reset new and updated on ebuild and package metadata
pym/tbc/updatedb.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/pym/tbc/updatedb.py b/pym/tbc/updatedb.py
index 7fce867..437cfd5 100644
--- a/pym/tbc/updatedb.py
+++ b/pym/tbc/updatedb.py
@@ -13,7 +13,8 @@ from sqlalchemy.orm import scoped_session, sessionmaker
from tbc.ConnectionManager import NewConnection
from tbc.sqlquerys import get_package_info, update_repo_db, \
update_categories_db, get_configmetadata_info, get_config_all_info, add_new_build_job, \
- get_config_info, get_setup_info, get_job_status_waiting_on_guest, update_job_list
+ get_config_info, get_setup_info, get_job_status_waiting_on_guest, update_job_list, \
+ reset_new_updated
from tbc.check_setup import check_make_conf
from tbc.package import tbc_package
# Get the options from the config file tbc.conf
@@ -156,6 +157,7 @@ def update_cpv_db(session, repo_cp_dict, config_id, tbc_settings):
def update_db_main(session, repo_cp_dict, config_id):
# Main
+ reset_new_updated(session)
if repo_cp_dict == {}:
return True
# Logging
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-12-22 11:29 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-12-22 11:29 UTC (permalink / raw
To: gentoo-commits
commit: 1513ff38cfc184098d7a96e22a5ecaec72f863d1
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 22 11:23:44 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Thu Dec 22 11:23:44 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=1513ff38
update timestamp when jobs is done
pym/tbc/sqlquerys.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index a64c5ef..6542c0a 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -54,6 +54,8 @@ def get_job_status_waiting_on_guest(session):
def update_job_list(session, status, job_id):
JobInfo = session.query(Jobs).filter_by(JobId = job_id).one()
JobInfo.Status = status
+ if status = 'Done':
+ JobInfo.TimeStamp = datetime.datetime.utcnow()
session.commit()
def get_config_all_info(session):
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-12-22 10:15 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-12-22 10:15 UTC (permalink / raw
To: gentoo-commits
commit: f8bbed36aa7ed37a73b7d06347a9b8558c8dc728
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 22 10:14:34 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Thu Dec 22 10:14:34 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=f8bbed36
fix commit to git_commit
pym/tbc/db_mapping.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pym/tbc/db_mapping.py b/pym/tbc/db_mapping.py
index 964df54..91ae5dd 100644
--- a/pym/tbc/db_mapping.py
+++ b/pym/tbc/db_mapping.py
@@ -286,7 +286,7 @@ class EbuildsKeywords(Base):
class EbuildsMetadata(Base):
Id = Column('id', Integer, primary_key=True)
EbuildId = Column('ebuild_id', ForeignKey('ebuilds.ebuild_id'))
- Commit = Column('commit', String(100))
+ Commit = Column('git_commit', String(100))
CommitMsg = Column('git_commit_msg', String(200))
New = Column('new', Boolean, default=False)
Updated = Column('updated', Boolean, default=False)
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-12-22 10:11 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-12-22 10:11 UTC (permalink / raw
To: gentoo-commits
commit: 4834c9751340622feb34f4c3d747517826499788
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 22 10:10:27 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Thu Dec 22 10:10:27 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=4834c975
add git commit msg
pym/tbc/db_mapping.py | 1 +
pym/tbc/package.py | 14 ++++++++++----
pym/tbc/sqlquerys.py | 2 +-
3 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/pym/tbc/db_mapping.py b/pym/tbc/db_mapping.py
index aba6ee1..964df54 100644
--- a/pym/tbc/db_mapping.py
+++ b/pym/tbc/db_mapping.py
@@ -287,6 +287,7 @@ class EbuildsMetadata(Base):
Id = Column('id', Integer, primary_key=True)
EbuildId = Column('ebuild_id', ForeignKey('ebuilds.ebuild_id'))
Commit = Column('commit', String(100))
+ CommitMsg = Column('git_commit_msg', String(200))
New = Column('new', Boolean, default=False)
Updated = Column('updated', Boolean, default=False)
Descriptions = Column('descriptions', Text)
diff --git a/pym/tbc/package.py b/pym/tbc/package.py
index 3c5664c..4bbb63e 100644
--- a/pym/tbc/package.py
+++ b/pym/tbc/package.py
@@ -92,10 +92,14 @@ class tbc_package(object):
def get_git_log_ebuild(self, repodir, ebuild_file):
git_log_ebuild = ''
g = git.Git(repodir)
+ index = 1
+ git_log_dict = {}
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
+ git_log_dict[index] = line
+ index = index + 1
+ git_ebuild_commit = re.sub('commit ', '', git_log_dict[1])
+ git_ebuild_commit_msg = re.sub(' ', '', git_log_dict[5])
+ return git_ebuild_commit, git_ebuild_commit_msg
def get_packageDict(self, pkgdir, cpv, repo):
@@ -115,9 +119,10 @@ class tbc_package(object):
log_msg = "C %s:%s ... Fail." % (cpv, repo)
write_log(self._session, log_msg, "info", self._config_id, 'packages.get_packageDict')
git_commit = '0'
+ git_commit_msg = '0'
else:
repodir =self._myportdb.getRepositoryPath(repo)
- git_commit = self.get_git_log_ebuild(repodir, ebuild_file)
+ git_commit, git_commit_msg = self.get_git_log_ebuild(repodir, ebuild_file)
# Get the ebuild metadata
ebuild_version_metadata_tree = self.get_ebuild_metadata(cpv, repo)
@@ -140,6 +145,7 @@ class tbc_package(object):
attDict['ebuild_version_metadata_tree'] = ebuild_version_metadata_tree
#attDict['ebuild_version_text_tree'] = ebuild_version_text_tree[0]
attDict['git_commit'] = git_commit
+ attDict['git_commit_msg'] = git_commit_msg
attDict['new'] = False
attDict['updated'] = False
attDict['ebuild_version_descriptions_tree'] = ebuild_version_metadata_tree[7]
diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index c9141ef..1d69151 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -430,7 +430,7 @@ def add_new_ebuild_sql(session, packageDict):
except (MultipleResultsFound) as e:
# FIXME
sys.exit()
- session.add(EbuildsMetadata(EbuildId = EbuildInfo.EbuildId, New = v['new'], Updated = v['updated'], Commit = v['git_commit'], Descriptions = v['ebuild_version_descriptions_tree']))
+ session.add(EbuildsMetadata(EbuildId = EbuildInfo.EbuildId, New = v['new'], Updated = v['updated'], Commit = v['git_commit'], CommitMsg = v['git_commit_msg'], Descriptions = v['ebuild_version_descriptions_tree']))
session.commit()
ebuild_id_list.append(EbuildInfo.EbuildId)
restrictions = []
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-12-22 10:11 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-12-22 10:11 UTC (permalink / raw
To: gentoo-commits
commit: 682b192ef7f23ddebb56206e263a540e557ba515
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 22 09:58:30 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Thu Dec 22 09:58:30 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=682b192e
change new to updated in the update run and some typos
pym/tbc/package.py | 5 ++---
pym/tbc/sqlquerys.py | 2 +-
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/pym/tbc/package.py b/pym/tbc/package.py
index 0a5749d..3c5664c 100644
--- a/pym/tbc/package.py
+++ b/pym/tbc/package.py
@@ -141,7 +141,7 @@ class tbc_package(object):
#attDict['ebuild_version_text_tree'] = ebuild_version_text_tree[0]
attDict['git_commit'] = git_commit
attDict['new'] = False
- attDict['update'] = False
+ attDict['updated'] = False
attDict['ebuild_version_descriptions_tree'] = ebuild_version_metadata_tree[7]
return attDict
@@ -264,7 +264,6 @@ class tbc_package(object):
mytree = []
mytree.append(repodir)
pkgdir = repodir + "/" + cp # Get RepoDIR + cp
-
package_id = add_new_package_sql(self._session, cp, repo)
# Check cp with repoman full
@@ -377,7 +376,7 @@ class tbc_package(object):
# N = New ebuild
log_msg = "N %s:%s" % (cpv, repo,)
write_log(self._session, log_msg, "info", self._config_id, 'packages.update_package_db')
- packageDict[cpv]['new'] = True
+ packageDict[cpv]['updated'] = True
package_updated = True
elif ebuild_version_checksum_tree != ebuild_version_manifest_checksum_db:
# U = Updated ebuild
diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index 0ec5fc9..c9141ef 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -49,7 +49,7 @@ def get_job_status_waiting_on_guest(session):
JobsInfo = session.query(Jobs).filter_by(Status = 'Waiting_on_guest').one()
except NoResultFound as e:
return None
- return JobInfo.JobId
+ return JobsInfo.JobId
def update_job_list(session, status, job_id):
JobInfo = session.query(Jobs).filter_by(JobId = job_id).one()
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-12-20 21:21 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-12-20 21:21 UTC (permalink / raw
To: gentoo-commits
commit: 7c8cea8c8af2b8393b59ac1bf23917c130f9b369
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 20 21:20:30 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Tue Dec 20 21:20:30 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=7c8cea8c
fix a typo in update_package_metadata
pym/tbc/sqlquerys.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index aa9c2a7..0276131 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -511,7 +511,7 @@ def update_package_metadata(session, package_metadataDict):
try:
PackagesMetadataInfo = session.query(PackagesMetadata).filter_by(PackageId = k).one()
except NoResultFound as e:
- session.add(PackagesMetadata(PackageId = k, Gitlog = v['git_changlog'], Descriptions = v['metadata_xml_descriptions'], v['new']))
+ session.add(PackagesMetadata(PackageId = k, Gitlog = v['git_changlog'], Descriptions = v['metadata_xml_descriptions'], New = v['new']))
session.commit()
else:
PackagesMetadataInfo.Gitlog = v['git_changlog']
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-12-20 21:16 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-12-20 21:16 UTC (permalink / raw
To: gentoo-commits
commit: 603f968772a11e3406f774967f76bbbcb5ece729
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 20 21:15:24 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Tue Dec 20 21:15:24 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=603f9687
fix a typo in add_new_ebuild_sql
pym/tbc/sqlquerys.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index 901db08..aa9c2a7 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -429,7 +429,7 @@ def add_new_ebuild_sql(session, packageDict):
except (MultipleResultsFound) as e:
# FIXME
sys.exit()
- session.add(EbuildsMetadata(EbuildId = EbuildInfo.EbuildId, New = v['new'], Updated = v['updated'], = v['git_commit'], Descriptions = v['ebuild_version_descriptions_tree']))
+ session.add(EbuildsMetadata(EbuildId = EbuildInfo.EbuildId, New = v['new'], Updated = v['updated'], Commit = v['git_commit'], Descriptions = v['ebuild_version_descriptions_tree']))
session.commit()
ebuild_id_list.append(EbuildInfo.EbuildId)
restrictions = []
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-12-20 20:25 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-12-20 20:25 UTC (permalink / raw
To: gentoo-commits
commit: f028abe51998fb054cf463861c920babed43a4cf
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 20 19:57:16 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Tue Dec 20 19:57:16 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=f028abe5
fix a typo in irk code
pym/tbc/irk.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pym/tbc/irk.py b/pym/tbc/irk.py
index b00f816..3b3589b 100644
--- a/pym/tbc/irk.py
+++ b/pym/tbc/irk.py
@@ -23,6 +23,6 @@ def irk(target, message, server = DEFAULT_SERVER):
def send_irk(msg, host):
target = "tinderbox-cluster"
try:
- irk(target, msg, server = (host, 6659)
+ irk(target, msg, server = (host, 6659))
except socket.error as e:
sys.stderr.write("irk: write to server failed: %r\n" % e)
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-12-20 20:25 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-12-20 20:25 UTC (permalink / raw
To: gentoo-commits
commit: 7df70c0bf6d0a8cd4a2773091778a44ada419294
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 20 19:59:12 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Tue Dec 20 19:59:12 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=7df70c0b
add new,update on ebuilds and package
pym/tbc/db_mapping.py | 2 ++
pym/tbc/package.py | 8 +++++---
pym/tbc/sqlquerys.py | 4 ++--
3 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/pym/tbc/db_mapping.py b/pym/tbc/db_mapping.py
index d3fead1..304dcd8 100644
--- a/pym/tbc/db_mapping.py
+++ b/pym/tbc/db_mapping.py
@@ -106,6 +106,7 @@ class PackagesMetadata(Base):
PackageId = Column('package_id', Integer, ForeignKey('packages.package_id'))
Gitlog = Column('gitlog', Text)
Descriptions = Column('descriptions', Text)
+ New = Column('new', Boolean, default=False)
__tablename__ = 'packages_metadata'
class Ebuilds(Base):
@@ -287,6 +288,7 @@ class EbuildsMetadata(Base):
EbuildId = Column('ebuild_id', ForeignKey('ebuilds.ebuild_id'))
Commit = Column('commit', String(100))
New = Column('new', Boolean, default=False)
+ Updated = Column('updated', Boolean, default=False)
Descriptions = Column('descriptions', Text)
__tablename__ = 'ebuilds_metadata'
diff --git a/pym/tbc/package.py b/pym/tbc/package.py
index 6e42af3..0a5749d 100644
--- a/pym/tbc/package.py
+++ b/pym/tbc/package.py
@@ -141,6 +141,7 @@ class tbc_package(object):
#attDict['ebuild_version_text_tree'] = ebuild_version_text_tree[0]
attDict['git_commit'] = git_commit
attDict['new'] = False
+ attDict['update'] = False
attDict['ebuild_version_descriptions_tree'] = ebuild_version_metadata_tree[7]
return attDict
@@ -195,7 +196,6 @@ 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:
@@ -217,6 +217,7 @@ class tbc_package(object):
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'] = ''
+ attDict['new'] = False
package_metadataDict[package_id] = attDict
return package_metadataDict
@@ -288,12 +289,12 @@ class tbc_package(object):
old_ebuild_id_list = []
for cpv in sorted(ebuild_list_tree):
packageDict[cpv] = self.get_packageDict(pkgdir, cpv, repo)
+ packageDict[cpv]['new'] = True
# take package descriptions from the ebuilds
if package_metadataDict[package_id]['metadata_xml_descriptions'] != packageDict[cpv]['ebuild_version_descriptions_tree']:
package_metadataDict[package_id]['metadata_xml_descriptions'] = packageDict[cpv]['ebuild_version_descriptions_tree']
-
- packageDict[cpv]['new'] = True
+ package_metadataDict[package_id][new] = True
self.add_package(packageDict, package_metadataDict, package_id, new_ebuild_id_list, old_ebuild_id_list)
log_msg = "C %s:%s ... Done." % (cp, repo)
write_log(self._session, log_msg, "info", self._config_id, 'packages.add_new_package_db')
@@ -382,6 +383,7 @@ class tbc_package(object):
# U = Updated ebuild
log_msg = "U %s:%s" % (cpv, repo,)
write_log(self._session, log_msg, "info", self._config_id, 'packages.update_package_db')
+ packageDict[cpv]['updated'] = True
package_updated = True
else:
# Remove cpv from packageDict and add ebuild to new ebuils list
diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index 60f4ba8..770e84e 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -423,7 +423,7 @@ def add_new_ebuild_sql(session, packageDict):
except (MultipleResultsFound) as e:
# FIXME
sys.exit()
- session.add(EbuildsMetadata(EbuildId = EbuildInfo.EbuildId, New = v['new'], Commit = v['git_commit'], Descriptions = v['ebuild_version_descriptions_tree']))
+ session.add(EbuildsMetadata(EbuildId = EbuildInfo.EbuildId, New = v['new'], Updated = v['updated'], = v['git_commit'], Descriptions = v['ebuild_version_descriptions_tree']))
session.commit()
ebuild_id_list.append(EbuildInfo.EbuildId)
restrictions = []
@@ -505,7 +505,7 @@ def update_package_metadata(session, package_metadataDict):
try:
PackagesMetadataInfo = session.query(PackagesMetadata).filter_by(PackageId = k).one()
except NoResultFound as e:
- session.add(PackagesMetadata(PackageId = k, Gitlog = v['git_changlog'], Descriptions = v['metadata_xml_descriptions']))
+ session.add(PackagesMetadata(PackageId = k, Gitlog = v['git_changlog'], Descriptions = v['metadata_xml_descriptions'], v['new']))
session.commit()
else:
PackagesMetadataInfo.Gitlog = v['git_changlog']
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-12-20 20:25 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-12-20 20:25 UTC (permalink / raw
To: gentoo-commits
commit: ccd8dad636b0f58585c0c3c5eac7f80d138600ee
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 20 20:25:03 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Tue Dec 20 20:25:03 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=ccd8dad6
add Waiting_on_guest
pym/tbc/db_mapping.py | 2 +-
pym/tbc/jobs.py | 4 ++--
pym/tbc/sqlquerys.py | 6 ++++++
pym/tbc/sync.py | 5 ++++-
pym/tbc/updatedb.py | 4 +++-
5 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/pym/tbc/db_mapping.py b/pym/tbc/db_mapping.py
index 304dcd8..aba6ee1 100644
--- a/pym/tbc/db_mapping.py
+++ b/pym/tbc/db_mapping.py
@@ -39,7 +39,7 @@ class Logs(Base):
class Jobs(Base):
JobId = Column('job_id', Integer, primary_key=True)
JobType = Column('job_type', Enum('updatedb', 'esync', 'removeold_cpv'))
- Status = Column('status', Enum('Runing', 'Done', 'Waiting'))
+ Status = Column('status', Enum('Runing', 'Done', 'Waiting', 'Waiting_on_guest'))
User = Column('user', String(50))
ConfigId = Column('config_id', Integer, ForeignKey('configs.config_id'))
RunConfigId = Column('run_config_id', Integer, ForeignKey('configs.config_id'))
diff --git a/pym/tbc/jobs.py b/pym/tbc/jobs.py
index efe8623..800fe87 100644
--- a/pym/tbc/jobs.py
+++ b/pym/tbc/jobs.py
@@ -46,7 +46,7 @@ def jobs_main(session, config_id):
# log_msg = "Job %s did fail." % (job_id,)
# write_log(session, log_msg, "info", config_id, 'jobs_main')
elif job == "esync":
- update_job_list(session, "Runing", job_id)
+ update_job_list(session, "Waiting_on_guest", job_id)
log_msg = "Job %s is runing." % (job_id,)
write_log(session, log_msg, "info", config_id, 'jobs_main')
if update_db_main(session, git_sync_main(session), config_id):
@@ -58,7 +58,7 @@ def jobs_main(session, config_id):
log_msg = "Job %s did fail." % (job_id,)
write_log(session, log_msg, "info", config_id, 'jobs_main')
elif job == "updatedb":
- update_job_list(session, "Runing", job_id)
+ update_job_list(session, "Waiting_on_guest", job_id)
log_msg = "Job %s is runing." % (job_id,)
write_log(session, log_msg, "info", config_id, 'jobs_main')
if update_db_main(session, None, config_id):
diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index 770e84e..901db08 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -44,6 +44,12 @@ def get_jobs(session, config_id):
return None
return JobsInfo
+def get_job_status_waiting_on_guest(session):
+ JobsInfo = session.query(Jobs).filter_by(Status = 'Waiting_on_guest').one()
+ if JobsInfo == []:
+ return None
+ return JobInfo.JobId
+
def update_job_list(session, status, job_id):
JobInfo = session.query(Jobs).filter_by(JobId = job_id).one()
JobInfo.Status = status
diff --git a/pym/tbc/sync.py b/pym/tbc/sync.py
index 7063bfb..dee13ff 100644
--- a/pym/tbc/sync.py
+++ b/pym/tbc/sync.py
@@ -11,7 +11,8 @@ import re
import git
from tbc.sqlquerys import get_config_id_fqdn, add_logs, get_config_all_info, \
- get_configmetadata_info, get_config_info, get_setup_info
+ get_configmetadata_info, get_config_info, get_setup_info, get_job_status_waiting_on_guest, \
+ update_job_list
from tbc.readconf import read_config_settings
from tbc.log import write_log
@@ -64,6 +65,8 @@ def git_sync_main(session):
else:
time.sleep(60)
+ job_id = get_job_status_waiting_on_guest(session)
+ update_job_list(session, 'Runing', job_id)
# check git diffs witch get updated and pass that to a dict
# fetch and merge the repo
repo_cp_dict = {}
diff --git a/pym/tbc/updatedb.py b/pym/tbc/updatedb.py
index 0753d92..b6539e4 100644
--- a/pym/tbc/updatedb.py
+++ b/pym/tbc/updatedb.py
@@ -13,7 +13,7 @@ from sqlalchemy.orm import scoped_session, sessionmaker
from tbc.ConnectionManager import NewConnection
from tbc.sqlquerys import get_package_info, update_repo_db, \
update_categories_db, get_configmetadata_info, get_config_all_info, add_new_build_job, \
- get_config_info, get_setup_info
+ get_config_info, get_setup_info, get_job_status_waiting_on_guest, update_job_list
from tbc.check_setup import check_make_conf
from tbc.package import tbc_package
# Get the options from the config file tbc.conf
@@ -93,6 +93,8 @@ def update_cpv_db(session, repo_cp_dict, config_id, tbc_settings):
break
time.sleep(30)
+ job_id = get_job_status_waiting_on_guest(session)
+ update_job_list(session, 'Runing', job_id)
log_msg = "Checking categories, package, ebuilds"
write_log(session, log_msg, "info", config_id, 'updatedb.update_cpv_db')
new_build_jobs_list = []
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-12-10 16:17 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-12-10 16:17 UTC (permalink / raw
To: gentoo-commits
commit: a18f23061cd8ca410e6453212bf802feb8d0c602
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 10 16:16:56 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Sat Dec 10 16:16:56 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=a18f2306
add port for irker
pym/tbc/irk.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pym/tbc/irk.py b/pym/tbc/irk.py
index 3186cb5..b00f816 100644
--- a/pym/tbc/irk.py
+++ b/pym/tbc/irk.py
@@ -23,6 +23,6 @@ def irk(target, message, server = DEFAULT_SERVER):
def send_irk(msg, host):
target = "tinderbox-cluster"
try:
- irk(target, msg, server = host)
+ irk(target, msg, server = (host, 6659)
except socket.error as e:
sys.stderr.write("irk: write to server failed: %r\n" % e)
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-12-05 21:11 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-12-05 21:11 UTC (permalink / raw
To: gentoo-commits
commit: d88b81146838c007345ca0c87cd6d51b6f624f27
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 5 21:11:08 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Mon Dec 5 21:11:08 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=d88b8114
Set email to maintainer-needed if email not found
pym/tbc/package.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/pym/tbc/package.py b/pym/tbc/package.py
index 255ec67..6e42af3 100644
--- a/pym/tbc/package.py
+++ b/pym/tbc/package.py
@@ -211,7 +211,9 @@ class tbc_package(object):
if md_email_list != []:
attDict['metadata_xml_email'] = md_email_list
else:
- log_msg = "Metadata file %s missing Email" % (pkgdir + "/metadata.xml")
+ md_email_list.append('maintainer-needed@gentoo.org')
+ attDict['metadata_xml_email'] = md_email_list
+ log_msg = "Metadata file %s missing Email. Setting it to maintainer-needed" % (pkgdir + "/metadata.xml")
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'] = ''
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-11-20 15:37 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-11-20 15:37 UTC (permalink / raw
To: gentoo-commits
commit: cc61c64c0c2bfb3bdfe32eb0030db2ab69483346
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 20 15:37:42 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Sun Nov 20 15:37:42 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=cc61c64c
ImportError: No module named 'repoman.checks.ebuilds'
pym/tbc/qachecks.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pym/tbc/qachecks.py b/pym/tbc/qachecks.py
index 892642f..976cb2a 100644
--- a/pym/tbc/qachecks.py
+++ b/pym/tbc/qachecks.py
@@ -14,7 +14,7 @@ from portage import os, _encodings, _unicode_decode, _unicode_encode
from portage.exception import DigestException, FileNotFound, ParseError, PermissionDenied
from _emerge.Package import Package
from _emerge.RootConfig import RootConfig
-from repoman.checks.ebuilds.checks import run_checks
+from repoman.modules.scan.ebuild.checks import run_checks
from tbc.repoman import repoman_main
from tbc.sqlquerys import get_configmetadata_info, get_config_info, get_setup_info
import portage
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-11-15 21:58 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-11-15 21:58 UTC (permalink / raw
To: gentoo-commits
commit: 7af6ebcf89684464488684ee3dc349827ddd7f46
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 5 21:35:47 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Tue Apr 5 21:35:47 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=7af6ebcf
remove log file from summery text
pym/tbc/build_log.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/pym/tbc/build_log.py b/pym/tbc/build_log.py
index 5476592..2a00b95 100644
--- a/pym/tbc/build_log.py
+++ b/pym/tbc/build_log.py
@@ -292,16 +292,17 @@ def add_buildlog_main(settings, pkg, trees):
build_log_dict = {}
build_log_dict = get_buildlog_info(session, settings, pkg, build_dict, config_id)
error_log_list = build_log_dict['error_log_list']
+ build_log_dict['logfilename'] = settings.get("PORTAGE_LOG_FILE").split(host_config)[1]
build_error = ""
log_hash = hashlib.sha256()
build_error = ""
if error_log_list != []:
for log_line in error_log_list:
- build_error = build_error + log_line
+ if not re.search(build_log_dict['logfilename'], log_line):
+ build_error = build_error + log_line
log_hash.update(build_error.encode('utf-8'))
build_log_dict['build_error'] = build_error
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')
build_log_dict['emerge_info'] = get_emerge_info_id(settings, trees, session, config_id)
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-03-06 17:47 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-03-06 17:47 UTC (permalink / raw
To: gentoo-commits
commit: 2fe8d223790b5f40b42e41f3ed80b59d408aaa05
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 6 17:47:58 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Sun Mar 6 17:47:58 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=2fe8d223
fix a typo for package env files
pym/tbc/build_job.py | 23 ++++++++---------------
1 file changed, 8 insertions(+), 15 deletions(-)
diff --git a/pym/tbc/build_job.py b/pym/tbc/build_job.py
index e8ab829..d0d72c3 100644
--- a/pym/tbc/build_job.py
+++ b/pym/tbc/build_job.py
@@ -103,21 +103,14 @@ class build_job_action(object):
f.write(filetext)
f.write('\n')
f.close
- if enable_test_features:
- filetext = k + ' ' + 'test.conf'
- log_msg = "filetext: %s" % filetext
- add_logs(self._session, log_msg, "info", self._config_id)
- with open("/etc/portage/package.env/99_env", "a") as f:
- f.write(filetext)
- f.write('\n')
- f.close
- filetext = '=' + k + ' ' + 'test.conf'
- log_msg = "filetext: %s" % filetext
- add_logs(self._session, log_msg, "info", self._config_id)
- with open("/etc/portage/package.env/99_env", "a") as f:
- f.write(filetext)
- f.write('\n')
- f.close
+ if enable_test_features:
+ filetext = '=' + k + ' ' + 'test.conf'
+ log_msg = "filetext: %s" % filetext
+ add_logs(self._session, log_msg, "info", self._config_id)
+ with open("/etc/portage/package.env/99_env", "a") as f:
+ f.write(filetext)
+ f.write('\n')
+ f.close
log_msg = "build_cpv_list: %s" % (build_cpv_list,)
add_logs(self._session, log_msg, "info", self._config_id)
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-03-03 15:26 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-03-03 15:26 UTC (permalink / raw
To: gentoo-commits
commit: 75fd66c5a04ba87ae92005b335fd5f854e00b5e5
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 3 15:27:15 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Thu Mar 3 15:27:15 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=75fd66c5
fix test too many values to unpack
pym/tbc/flags.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pym/tbc/flags.py b/pym/tbc/flags.py
index 10c9390..eb3f782 100644
--- a/pym/tbc/flags.py
+++ b/pym/tbc/flags.py
@@ -195,7 +195,7 @@ class tbc_use_flags(object):
return iuse_flags, final_flags
def comper_useflags(self, build_dict):
- iuse_flags, use_enable = self.get_flags()
+ iuse_flags, use_enable, usemasked = self.get_flags()
iuse = []
build_use_flags_dict = build_dict['build_useflags']
build_use_flags_list = []
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-03-02 20:50 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-03-02 20:50 UTC (permalink / raw
To: gentoo-commits
commit: e57dd6203e4c04ac18c4b5333bf6c78b1a1eff11
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 2 20:50:59 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Wed Mar 2 20:50:59 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=e57dd620
add more support for use test
pym/tbc/build_job.py | 49 ++++++++++++++++++++++++++++++++++++-------------
pym/tbc/db_mapping.py | 6 ++++--
pym/tbc/flags.py | 10 ++--------
pym/tbc/package.py | 18 +++++++++++++-----
pym/tbc/sqlquerys.py | 15 ++++++---------
5 files changed, 61 insertions(+), 37 deletions(-)
diff --git a/pym/tbc/build_job.py b/pym/tbc/build_job.py
index dcec3b9..e8ab829 100644
--- a/pym/tbc/build_job.py
+++ b/pym/tbc/build_job.py
@@ -67,6 +67,14 @@ class build_job_action(object):
build_cpv_list = []
depclean_fail = True
disable_test_features = False
+ enable_test_features = False
+ restrictions_test = False
+ restrictions_list= get_ebuild_restrictions(self._session, build_dict['ebuild_id'])
+ if restrictions_list:
+ if "test" in restrictions_list:
+ restrictions_test = True
+ if restrictions_test and "test" in settings.features:
+ disable_test_features = True
for k, build_use_flags_list in buildqueru_cpv_dict.items():
build_cpv_list.append("=" + k)
if not build_use_flags_list == None:
@@ -80,22 +88,37 @@ class build_job_action(object):
f.write(filetext)
f.write('\n')
f.close
- if not build_dict['build_useflags'] is None:
- if "test" in build_dict['build_useflags'] and "test" in settings.features:
- if build_dict['build_useflags']['test'] is False:
- disable_test_features = True
- restrictions_dict = get_ebuild_restrictions(self._session, build_dict['ebuild_id'])
- if restrictions_dict:
- if "test" in restrictions_dict:
- disable_test_features = True
- if disable_test_features:
- filetext = k + ' ' + 'notest.conf'
+
+ if not build_dict['build_useflags'] is None:
+ if "test" in build_dict['build_useflags']:
+ if build_dict['build_useflags']['test'] is False and "test" in settings.features:
+ disable_test_features = True
+ if build_dict['build_useflags']['test'] is True and not disable_test_features and "test" not in settings.features:
+ enable_test_features = True
+ if disable_test_features:
+ filetext = '=' + k + ' ' + 'notest.conf'
+ log_msg = "filetext: %s" % filetext
+ add_logs(self._session, log_msg, "info", self._config_id)
+ with open("/etc/portage/package.env/99_env", "a") as f:
+ f.write(filetext)
+ f.write('\n')
+ f.close
+ if enable_test_features:
+ filetext = k + ' ' + 'test.conf'
log_msg = "filetext: %s" % filetext
add_logs(self._session, log_msg, "info", self._config_id)
- with open("/etc/portage/package.env", "a") as f:
+ with open("/etc/portage/package.env/99_env", "a") as f:
f.write(filetext)
f.write('\n')
f.close
+ filetext = '=' + k + ' ' + 'test.conf'
+ log_msg = "filetext: %s" % filetext
+ add_logs(self._session, log_msg, "info", self._config_id)
+ with open("/etc/portage/package.env/99_env", "a") as f:
+ f.write(filetext)
+ f.write('\n')
+ f.close
+
log_msg = "build_cpv_list: %s" % (build_cpv_list,)
add_logs(self._session, log_msg, "info", self._config_id)
@@ -138,8 +161,8 @@ class build_job_action(object):
os.remove("/etc/portage/package.use/99_autounmask")
with open("/etc/portage/package.use/99_autounmask", "a") as f:
f.close
- os.remove("/etc/portage/package.env")
- with open("/etc/portage/package.env", "a") as f:
+ os.remove("/etc/portage/package.env/99_env")
+ with open("/etc/portage/package.env/99_env/", "a") as f:
f.close
except:
pass
diff --git a/pym/tbc/db_mapping.py b/pym/tbc/db_mapping.py
index 86884bf..34ac324 100644
--- a/pym/tbc/db_mapping.py
+++ b/pym/tbc/db_mapping.py
@@ -12,11 +12,13 @@ class Keywords(Base):
KeywordId = Column('keyword_id', Integer, primary_key=True)
Keyword = Column('keyword', String)
__tablename__ = 'keywords'
-
+
class Setups(Base):
SetupId = Column('setup_id', Integer, primary_key=True)
Setup = Column('setup', String(100))
Profile = Column('profile', String(150))
+ Test = Column('test', Boolean, default=False)
+ Repoman = Column('repoman', Boolean, default=False)
__tablename__ = 'setups'
class Configs(Base):
@@ -25,7 +27,7 @@ class Configs(Base):
SetupId = Column('setup_id', Integer, ForeignKey('setups.setup_id'))
Host = Column('default_config', Boolean, default=False)
__tablename__ = 'configs'
-
+
class Logs(Base):
LogId = Column('log_id', Integer, primary_key=True)
ConfigId = Column('config_id', Integer, ForeignKey('configs.config_id'))
diff --git a/pym/tbc/flags.py b/pym/tbc/flags.py
index 82b7d42..10c9390 100644
--- a/pym/tbc/flags.py
+++ b/pym/tbc/flags.py
@@ -1,14 +1,8 @@
-#!/usr/bin/python
-#
-# Copyright 1998-2015 Gentoo Foundation
+# Copyright 1998-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# Origin flags.py from portage public api repo
from __future__ import print_function
-from _emerge.main import parse_opts
-from _emerge.depgraph import backtrack_depgraph, depgraph, resume_depgraph
-from _emerge.create_depgraph_params import create_depgraph_params
-from _emerge.actions import load_emerge_config
import portage
import os
@@ -163,7 +157,7 @@ class tbc_use_flags(object):
iuse_flags = self.filter_flags(self.get_iuse(), use_expand_hidden, usemasked, useforced)
#flags = filter_flags(use_flags, use_expand_hidden, usemasked, useforced)
final_flags = self.filter_flags(final_use, use_expand_hidden, usemasked, useforced)
- return iuse_flags, final_flags
+ return iuse_flags, final_flags, usemasked
def get_flags_looked(self):
"""Retrieves all information needed to filter out hidden, masked, etc.
diff --git a/pym/tbc/package.py b/pym/tbc/package.py
index c069c7e..255ec67 100644
--- a/pym/tbc/package.py
+++ b/pym/tbc/package.py
@@ -56,16 +56,20 @@ class tbc_package(object):
# Get the iuse and use flags for that config/setup and cpv
init_useflags = tbc_use_flags(mysettings_setup, myportdb_setup, build_cpv)
- iuse_flags_list, final_use_list = init_useflags.get_flags()
+ iuse_flags_list, final_use_list, usemasked = init_useflags.get_flags()
iuse_flags_list2 = []
for iuse_line in iuse_flags_list:
iuse_flags_list2.append( init_useflags.reduce_flag(iuse_line))
-
+ enable_test = False
+ if SetupInfo.Test:
+ if not "test" in usemasked:
+ enable_test = True
# Dict the needed info
attDict = {}
attDict['cpv'] = build_cpv
attDict['useflags'] = final_use_list
attDict['iuse'] = iuse_flags_list2
+ attDict['test'] = enable_test
config_cpv_dict[ConfigInfo.SetupId] = attDict
# Clean some cache
@@ -156,6 +160,7 @@ class tbc_package(object):
use_flagsDict[x] = True
for x in use_disable:
use_flagsDict[x] = False
+ enable_test = v['test']
# Unpack packageDict
i = 0
for k, v in packageDict.items():
@@ -163,9 +168,12 @@ class tbc_package(object):
# Comper and add the cpv to buildqueue
if build_cpv == k:
- restrictions_dict = get_ebuild_restrictions(self._session, ebuild_id)
- if restrictions_dict:
- if "test" in restrictions_dict and "test" in use_flagsDict:
+ # check if we need to enable or disable test
+ if "test" in use_flagsDict and enable_test:
+ use_flagsDict['test'] = True
+ restrictions_list = get_ebuild_restrictions(self._session, ebuild_id)
+ if restrictions_list:
+ if "test" in restrictions_list and "test" in use_flagsDict:
use_flagsDict['test'] = False
add_new_build_job(self._session, ebuild_id, setup_id, use_flagsDict, self._config_id)
# B = Build cpv use-flags config
diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index 85621fe..60f4ba8 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -561,16 +561,13 @@ def get_ebuild_id_db(session, checksum, package_id, ebuild_version):
def get_ebuild_restrictions(session, ebuild_id):
restrictions = []
- try:
- EbuildsRestrictionsInfo = session.query(EbuildsRestrictions).filter_by(EbuildId = ebuild_id).one()
- except NoResultFound as e:
+ EbuildsRestrictionsInfos = session.query(EbuildsRestrictions).filter_by(EbuildId = ebuild_id).all()
+ if EbuildsRestrictionsInfos == []:
return False
- except MultipleResultsFound as e:
- EbuildsRestrictionsInfos = session.query(EbuildsRestrictions).filter_by(EbuildId = ebuild_id).all()
- for EbuildsRestrictionsInfo in EbuildsRestrictionsInfos:
- restrictions.append(session.query(Restrictions).filter_by(RestrictionId = EbuildsRestrictionsInfo.RestrictionId).one())
- return restrictions
- return restrictions.append(session.query(Restrictions).filter_by(RestrictionId = EbuildsRestrictionsInfo.RestrictionId).one())
+ for EbuildsRestrictionsInfo in EbuildsRestrictionsInfos:
+ RestrictionsInfo = session.query(Restrictions).filter_by(RestrictionId = EbuildsRestrictionsInfo.RestrictionId).one()
+ restrictions.append(RestrictionsInfo.Restriction)
+ return restrictions
def add_repoman_log(session, package_id, repoman_log, repoman_hash):
try:
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-02-29 23:01 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-02-29 23:01 UTC (permalink / raw
To: gentoo-commits
commit: 495e43e67bbf4a013b088e0add0b36edae644d21
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 29 23:01:59 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Mon Feb 29 23:01:59 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=495e43e6
fix a bug in repoman logging multiple repeat
pym/tbc/build_log.py | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/pym/tbc/build_log.py b/pym/tbc/build_log.py
index 8b6ef0b..d053d57 100644
--- a/pym/tbc/build_log.py
+++ b/pym/tbc/build_log.py
@@ -41,16 +41,16 @@ def check_repoman_full(session, pkgdir, package_id, config_id, cpv=False):
status = repoman_full(session, pkgdir, config_id)
repoman_hash = hashlib.sha256()
if cpv:
- element = cpv.split('/')
- pv = element[1]
+ ebuild_version_tree = portage.versions.cpv_getversion(cpv)
if status:
repoman_dict = {}
for k, v in status.items():
repoman_log2 = []
for line in v:
- if not cpv:
- repoman_log2.append(line)
- elif cpv and re.search(pv + '.ebuild', line):
+ if cpv:
+ if re.search(ebuild_version_tree, line):
+ repoman_log2.append(line)
+ else:
repoman_log2.append(line)
if not repoman_log2 == []:
repoman_dict[k] = repoman_log2
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-02-22 18:33 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-02-22 18:33 UTC (permalink / raw
To: gentoo-commits
commit: c5bc414fb226ee5ab38c4d0062e2a534d9b92a8a
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 22 18:34:24 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Mon Feb 22 18:34:24 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=c5bc414f
remove multi cpu support in remove_old_cpv job
pym/tbc/old_cpv.py | 47 ++++++++++++++---------------------------------
pym/tbc/sqlquerys.py | 18 +++---------------
2 files changed, 17 insertions(+), 48 deletions(-)
diff --git a/pym/tbc/old_cpv.py b/pym/tbc/old_cpv.py
index 3c9ffd4..e97b121 100644
--- a/pym/tbc/old_cpv.py
+++ b/pym/tbc/old_cpv.py
@@ -2,61 +2,42 @@
# Distributed under the terms of the GNU General Public License v2
from __future__ import print_function
-import multiprocessing
from datetime import datetime
from tbc.log import write_log
-from sqlalchemy.orm import scoped_session, sessionmaker
-from tbc.ConnectionManager import NewConnection
-from tbc.readconf import read_config_settings
from tbc.sqlquerys import get_category_list_info, get_package_list_info, get_ebuild_list_info, \
get_build_job_all, del_old_build_jobs, del_old_ebuild, del_old_package, add_old_category
-def remove_old_ebuilds(package_id, config_id, tbc_settings, cp):
- today = datetime.utcnow()
- session_factory = sessionmaker(bind=NewConnection(tbc_settings))
- Session = scoped_session(session_factory)
- session2 = Session()
- EbuildsInfo = get_ebuild_list_info(session2, package_id)
+def remove_old_ebuilds(session, package_id, config_id, cp, today):
+ EbuildsInfo = get_ebuild_list_info(session, package_id)
for EbuildInfo in EbuildsInfo:
cpv = cp + '-' + EbuildInfo.Version
log_msg = "Checking: %s" % (cpv,)
- write_log(session2, log_msg, "info", config_id, 'old_cpv.remove_old_ebuilds')
+ write_log(session, log_msg, "info", config_id, 'old_cpv.remove_old_ebuilds')
if not EbuildInfo.Active:
duration = today - EbuildInfo.TimeStamp
if duration.days > 30:
log_msg = "Removing: %s" % (cpv,)
- write_log(session2, log_msg, "info", config_id, 'old_cpv.remove_old_ebuilds')
- build_job_id_list = get_build_job_all(session2, EbuildInfo.EbuildId)
+ write_log(session, log_msg, "info", config_id, 'old_cpv.remove_old_ebuilds')
+ build_job_id_list = get_build_job_all(session, EbuildInfo.EbuildId)
if build_job_id_list != []:
for build_job in build_job_id_list:
- del_old_build_jobs(session2, build_job.BuildJobId)
- del_old_ebuild(session2, EbuildInfo.EbuildId)
- if not get_ebuild_list_info(session2, package_id):
+ del_old_build_jobs(session, build_job.BuildJobId)
+ del_old_ebuild(session, EbuildInfo.EbuildId)
+ if get_ebuild_list_info(session, package_id) == []:
log_msg = "Removing: %s" % (cp,)
- write_log(session2, log_msg, "info", config_id, 'old_cpv.remove_old_cpv_ebuilds')
- del_old_package(session2, package_id)
- session2.close
- Session.remove()
+ write_log(session, log_msg, "info", config_id, 'old_cpv.remove_old_cpv_ebuilds')
+ del_old_package(session, package_id)
def remove_old_cpv_main(session, config_id):
- tbc_settings = read_config_settings()
- # Use all cores when multiprocessing
- #pool_cores = multiprocessing.cpu_count()
- #pool = multiprocessing.Pool(processes = pool_cores)
-
+ today = datetime.utcnow()
CategorysInfo = get_category_list_info(session)
for CategoryInfo in CategorysInfo:
log_msg = "Checking: %s" % (CategoryInfo.Category,)
- write_log(session2, log_msg, "info", config_id, 'old_cpv.remove_old_cpv_main')
+ write_log(session, log_msg, "info", config_id, 'old_cpv.remove_old_cpv_main')
PackagesInfo = get_package_list_info(session, CategoryInfo.CategoryId)
for PackageInfo in PackagesInfo:
cp = CategoryInfo.Category + '/' + PackageInfo.Package
- # pool.apply_async( remove_old_ebuilds, (Package.PackageId, config_id, tbc_settings, cp,))
- # use this when debuging
- remove_old_ebuilds(PackageInfo.PackageId, config_id, tbc_settings, cp,)
+ remove_old_ebuilds(session, PackageInfo.PackageId, config_id, cp, today)
- #close and join the multiprocessing pools
- # pool.close()
- # pool.join()
- if not get_package_list_info(session, CategoryInfo.CategoryId):
+ if get_package_list_info(session, CategoryInfo.CategoryId) == []:
add_old_category(session, CategoryInfo.CategoryId)
diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index 75e3d30..85621fe 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -585,25 +585,13 @@ def add_repoman_log(session, package_id, repoman_log, repoman_hash):
session.commit()
def get_category_list_info(session):
- try:
- CategorysInfo = session.query(Categories).all()
- except NoResultFound as e:
- return False
- return CategorysInfo
+ return session.query(Categories).all()
def get_package_list_info(session, category_id):
- try:
- PackagesInfo = session.query(Packages).filter_by(CategoryId = category_id).all()
- except NoResultFound as e:
- return False
- return PackagesInfo
+ return session.query(Packages).filter_by(CategoryId = category_id).all()
def get_ebuild_list_info(session, package_id):
- try:
- EbuildsInfo = session.query(Ebuilds).filter_by(PackageId = package_id).all()
- except NoResultFound as e:
- return False
- return EbuildsInfo
+ return session.query(Ebuilds).filter_by(PackageId = package_id).all()
def del_old_ebuild(session, ebuild_id):
session.query(EbuildsRestrictions).filter(EbuildsRestrictions.EbuildId == ebuild_id).delete()
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-02-22 18:11 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-02-22 18:11 UTC (permalink / raw
To: gentoo-commits
commit: 7ee36aabda72a4f6006d0fb0810ba8be5e80d9c4
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 22 18:11:52 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Mon Feb 22 18:11:52 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=7ee36aab
redone remove_old_cpv job
pym/tbc/old_cpv.py | 21 +++++++--------------
1 file changed, 7 insertions(+), 14 deletions(-)
diff --git a/pym/tbc/old_cpv.py b/pym/tbc/old_cpv.py
index cc80428..3c9ffd4 100644
--- a/pym/tbc/old_cpv.py
+++ b/pym/tbc/old_cpv.py
@@ -9,8 +9,7 @@ from sqlalchemy.orm import scoped_session, sessionmaker
from tbc.ConnectionManager import NewConnection
from tbc.readconf import read_config_settings
from tbc.sqlquerys import get_category_list_info, get_package_list_info, get_ebuild_list_info, \
- get_build_job_all, del_old_build_jobs, del_old_ebuild, add_old_package, del_old_package, \
- add_old_category
+ get_build_job_all, del_old_build_jobs, del_old_ebuild, del_old_package, add_old_category
def remove_old_ebuilds(package_id, config_id, tbc_settings, cp):
today = datetime.utcnow()
@@ -33,12 +32,13 @@ def remove_old_ebuilds(package_id, config_id, tbc_settings, cp):
del_old_build_jobs(session2, build_job.BuildJobId)
del_old_ebuild(session2, EbuildInfo.EbuildId)
if not get_ebuild_list_info(session2, package_id):
- add_old_package(session2, package_id)
+ log_msg = "Removing: %s" % (cp,)
+ write_log(session2, log_msg, "info", config_id, 'old_cpv.remove_old_cpv_ebuilds')
+ del_old_package(session2, package_id)
session2.close
Session.remove()
def remove_old_cpv_main(session, config_id):
- today = datetime.datetime.utcnow()
tbc_settings = read_config_settings()
# Use all cores when multiprocessing
#pool_cores = multiprocessing.cpu_count()
@@ -51,16 +51,9 @@ def remove_old_cpv_main(session, config_id):
PackagesInfo = get_package_list_info(session, CategoryInfo.CategoryId)
for PackageInfo in PackagesInfo:
cp = CategoryInfo.Category + '/' + PackageInfo.Package
- if PackageInfo.Active:
- # pool.apply_async( remove_old_ebuilds, (Package.PackageId, config_id, tbc_settings, cp,))
- # use this when debuging
- remove_old_ebuilds(PackageInfo.PackageId, config_id, tbc_settings, cp,)
- else:
- duration = today - PackageInfo.TimeStamp
- if duration.days > 30:
- log_msg = "Removing: %s" % (cp,)
- write_log(session2, log_msg, "info", config_id, 'old_cpv.remove_old_cpv_main')
- del_old_package(session, PackageInfo.PackageId)
+ # pool.apply_async( remove_old_ebuilds, (Package.PackageId, config_id, tbc_settings, cp,))
+ # use this when debuging
+ remove_old_ebuilds(PackageInfo.PackageId, config_id, tbc_settings, cp,)
#close and join the multiprocessing pools
# pool.close()
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-02-22 17:08 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-02-22 17:08 UTC (permalink / raw
To: gentoo-commits
commit: 5e5291855b1206e942125bc8fd3bca360c7fdcb5
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 22 17:09:41 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Mon Feb 22 17:09:41 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=5e529185
fix typo in remove_old_cpv_main()
pym/tbc/old_cpv.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/pym/tbc/old_cpv.py b/pym/tbc/old_cpv.py
index 027f171..cc80428 100644
--- a/pym/tbc/old_cpv.py
+++ b/pym/tbc/old_cpv.py
@@ -38,7 +38,7 @@ def remove_old_ebuilds(package_id, config_id, tbc_settings, cp):
Session.remove()
def remove_old_cpv_main(session, config_id):
- today = datetime.datetime.utcnow
+ today = datetime.datetime.utcnow()
tbc_settings = read_config_settings()
# Use all cores when multiprocessing
#pool_cores = multiprocessing.cpu_count()
@@ -65,5 +65,5 @@ def remove_old_cpv_main(session, config_id):
#close and join the multiprocessing pools
# pool.close()
# pool.join()
- if not get_package_list_info(session, CategoryId = CategoryInfo.CategoryId):
- add_old_category(session, category_id)
+ if not get_package_list_info(session, CategoryInfo.CategoryId):
+ add_old_category(session, CategoryInfo.CategoryId)
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-02-20 12:12 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-02-20 12:12 UTC (permalink / raw
To: gentoo-commits
commit: 426c02c2521b862ed7876c3fdb3018b34f843224
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 20 12:12:50 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Sat Feb 20 12:12:50 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=426c02c2
Remove the profile/config and some prints
pym/tbc/flags.py | 3 ---
pym/tbc/sync.py | 14 --------------
2 files changed, 17 deletions(-)
diff --git a/pym/tbc/flags.py b/pym/tbc/flags.py
index eea48f3..82b7d42 100644
--- a/pym/tbc/flags.py
+++ b/pym/tbc/flags.py
@@ -117,7 +117,6 @@ class tbc_use_flags(object):
# reset cpv filter
self._mysettings.reset()
self._mysettings.lock()
- print(usemask)
return use, use_expand_hidden, usemask, useforce
def get_all_cpv_use_looked(self):
@@ -218,7 +217,6 @@ class tbc_use_flags(object):
use_flagsDict[x] = True
for x in use_disable:
use_flagsDict[x] = False
- print("use_flagsDict", use_flagsDict)
for k, v in use_flagsDict.items():
if build_use_flags_dict[k] != v:
if build_use_flags_dict[k]:
@@ -227,5 +225,4 @@ class tbc_use_flags(object):
build_use_flags_list.append("-" + k)
if build_use_flags_list == []:
build_use_flags_list = None
- print(build_use_flags_list)
return build_use_flags_list
diff --git a/pym/tbc/sync.py b/pym/tbc/sync.py
index 59560f0..7063bfb 100644
--- a/pym/tbc/sync.py
+++ b/pym/tbc/sync.py
@@ -63,12 +63,6 @@ def git_sync_main(session):
GuestBusy = False
else:
time.sleep(60)
- #remove the needed base profile clone
- try:
- os.remove(mysettings['PORTDIR'] + "/profiles/config/parent")
- os.rmdir(mysettings['PORTDIR'] + "/profiles/config")
- except:
- pass
# check git diffs witch get updated and pass that to a dict
# fetch and merge the repo
@@ -105,14 +99,6 @@ def git_sync_main(session):
write_log(session, log_msg, "info", config_id, 'sync.git_sync_main')
log_msg = "Checking repo %s Done" % (reponame)
write_log(session, log_msg, "info", config_id, 'sync.git_sync_main')
- # Need to add a clone of profiles/base for reading the tree
- try:
- os.mkdir(mysettings['PORTDIR'] + "/profiles/config", 0o777)
- with open(mysettings['PORTDIR'] + "/profiles/config/parent", "w") as f:
- f.write("../base\n")
- f.close()
- except:
- pass
log_msg = "Repo sync ... Done."
write_log(session, log_msg, "info", config_id, 'sync.git_sync_main')
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-02-10 20:24 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-02-10 20:24 UTC (permalink / raw
To: gentoo-commits
commit: 14b0918ae227f4135477946c8e6c9d9919b56fbf
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 10 20:25:25 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Wed Feb 10 20:25:25 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=14b0918a
fix so we mark any error as fail and some small fixes
pym/tbc/build_log.py | 11 +++++++----
pym/tbc/db_mapping.py | 6 ++++++
pym/tbc/package.py | 2 +-
pym/tbc/sqlquerys.py | 8 ++++++--
4 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/pym/tbc/build_log.py b/pym/tbc/build_log.py
index c70dc76..8b6ef0b 100644
--- a/pym/tbc/build_log.py
+++ b/pym/tbc/build_log.py
@@ -30,7 +30,7 @@ from tbc.sqlquerys import get_config_id, get_ebuild_id_db, add_new_buildlog, \
get_package_info, get_build_job_id, get_use_id, get_config_info, get_hilight_info, get_error_info_list, \
add_e_info, get_fail_times, add_fail_times, update_fail_times, del_old_build_jobs, add_old_ebuild, \
update_buildjobs_status, add_repoman_qa, get_config_id_fqdn, get_setup_info, \
- add_repoman_log
+ add_repoman_log, get_tbc_config
from tbc.log import write_log
from sqlalchemy.orm import sessionmaker
@@ -224,13 +224,13 @@ def get_buildlog_info(session, settings, pkg, build_dict, config_id):
for k, v in sorted(hilight_dict.items()):
if v['startline'] == v['endline']:
error_log_list.append(logfile_text_dict[k])
- if v['hilight_css_id'] == 3: # qa = 3 and 4
+ if v['hilight_css_id'] == 3: # qa = 3
qa_error_list.append(logfile_text_dict[k])
else:
i = k
while i != (v['endline'] + 1):
error_log_list.append(logfile_text_dict[i])
- if v['hilight_css_id'] == 3: # qa = 3 and 4
+ if v['hilight_css_id'] == 3: # qa = 3
qa_error_list.append(logfile_text_dict[i])
i = i +1
@@ -245,8 +245,10 @@ def get_buildlog_info(session, settings, pkg, build_dict, config_id):
build_log_dict['fail'] = False
if repoman_error_list:
sum_build_log_list.append(1) # repoman = 1
+ build_log_dict['fail'] = True
if qa_error_list != []:
sum_build_log_list.append(2) # qa = 2
+ build_log_dict['fail'] = True
else:
qa_error_list = False
for error_log_line in error_log_list:
@@ -324,7 +326,8 @@ def add_buildlog_main(settings, pkg, trees):
qa_msg = "QA: FAILD"
else:
build_msg = "BUILD: FAILD"
- msg = "Package: %s Repo: %s %s %s %s Weblink http://77.110.8.67/new/logs/build/%s\n" % (pkg.cpv, pkg.repo, build_msg, repoman_msg, qa_msg, log_id,)
+ tbc_config = get_tbc_config(session)
+ msg = "Package: %s Repo: %s %s %s %s Weblink http://%s/new/logs/build/%s\n" % (pkg.cpv, pkg.repo, build_msg, repoman_msg, qa_msg, tbc_config.WebIker, log_id,)
write_log(session, msg, "info", config_id, 'build_log.add_buildlog_main')
send_irk(msg)
session.close
diff --git a/pym/tbc/db_mapping.py b/pym/tbc/db_mapping.py
index b0ab23f..9be0d0a 100644
--- a/pym/tbc/db_mapping.py
+++ b/pym/tbc/db_mapping.py
@@ -287,3 +287,9 @@ class EbuildsMetadata(Base):
New = Column('new', Boolean, default=False)
Descriptions = Column('descriptions', Text)
__tablename__ = 'ebuilds_metadata'
+
+class TbcConfig(Base):
+ Id = Column('id', Integer, primary_key=True)
+ WebIker = Column('webinker', String)
+ WebBug = Column('webbug', String)
+ __tablename__ = 'tbc_config'
diff --git a/pym/tbc/package.py b/pym/tbc/package.py
index 510a5d2..c069c7e 100644
--- a/pym/tbc/package.py
+++ b/pym/tbc/package.py
@@ -136,7 +136,7 @@ class tbc_package(object):
attDict['ebuild_version_metadata_tree'] = ebuild_version_metadata_tree
#attDict['ebuild_version_text_tree'] = ebuild_version_text_tree[0]
attDict['git_commit'] = git_commit
- attDict['New'] = False
+ attDict['new'] = False
attDict['ebuild_version_descriptions_tree'] = ebuild_version_metadata_tree[7]
return attDict
diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index 5a8a183..f9f14a2 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -9,12 +9,16 @@ from tbc.db_mapping import Configs, Logs, ConfigsMetaData, Jobs, BuildJobs, Pack
HiLightCss, BuildLogsHiLight, BuildLogsEmergeOptions, BuildLogsErrors, ErrorsInfo, EmergeInfo, BuildLogsUse, \
BuildJobsEmergeOptions, EbuildsMetadata, EbuildsIUse, Restrictions, EbuildsRestrictions, EbuildsKeywords, \
Keywords, PackagesMetadata, Emails, PackagesEmails, Setups, BuildLogsRepoman, CategoriesMetadata, \
- PackagesRepoman, BuildLogsQa
+ PackagesRepoman, BuildLogsQa, TbcConfig
from tbc.log import write_log
from sqlalchemy.orm.exc import NoResultFound, MultipleResultsFound
from sqlalchemy import and_, or_
# Guest Functions
+def get_tbc_config(session):
+ TbcConfigInfo = session.query(TbcConfig).one()
+ return TbcConfigInfo
+
def get_config_id(session, setup, host):
SetupInfo = session.query(Setups).filter_by(Setup = setup).one()
ConfigInfo = session.query(Configs).filter_by(SetupId = SetupInfo.SetupId).filter_by(Hostname = host).one()
@@ -419,7 +423,7 @@ def add_new_ebuild_sql(session, packageDict):
except (MultipleResultsFound) as e:
# FIXME
sys.exit()
- session.add(EbuildsMetadata(EbuildId = EbuildInfo.EbuildId, Commit = v['git_commit'], Descriptions = v['ebuild_version_descriptions_tree']))
+ session.add(EbuildsMetadata(EbuildId = EbuildInfo.EbuildId, New = v['new'], Commit = v['git_commit'], Descriptions = v['ebuild_version_descriptions_tree']))
session.commit()
ebuild_id_list.append(EbuildInfo.EbuildId)
restrictions = []
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-02-02 23:13 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-02-02 23:13 UTC (permalink / raw
To: gentoo-commits
commit: d1cf1a085c322865694c738c23e655421b9364ce
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 2 23:14:54 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Tue Feb 2 23:14:54 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=d1cf1a08
split build error from repoman/qa
pym/tbc/build_log.py | 4 +---
pym/tbc/sync.py | 2 +-
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/pym/tbc/build_log.py b/pym/tbc/build_log.py
index b194561..c70dc76 100644
--- a/pym/tbc/build_log.py
+++ b/pym/tbc/build_log.py
@@ -241,16 +241,14 @@ def get_buildlog_info(session, settings, pkg, build_dict, config_id):
pkgdir = myportdb.getRepositoryPath(build_dict['repo']) + "/" + categories + "/" + package
repoman_error_list = check_repoman_full(session, pkgdir, build_dict['package_id'], config_id, build_dict['cpv'])
build_log_dict = {}
+ error_search_line = "^ \\* ERROR: "
build_log_dict['fail'] = False
if repoman_error_list:
sum_build_log_list.append(1) # repoman = 1
- build_log_dict['fail'] = True
if qa_error_list != []:
sum_build_log_list.append(2) # qa = 2
- build_log_dict['fail'] = True
else:
qa_error_list = False
- error_search_line = "^ \\* ERROR: "
for error_log_line in error_log_list:
if re.search(error_search_line, error_log_line):
build_log_dict['fail'] = True
diff --git a/pym/tbc/sync.py b/pym/tbc/sync.py
index 52d84ab..59560f0 100644
--- a/pym/tbc/sync.py
+++ b/pym/tbc/sync.py
@@ -73,7 +73,7 @@ def git_sync_main(session):
# check git diffs witch get updated and pass that to a dict
# fetch and merge the repo
repo_cp_dict = {}
- search_list = [ '^metadata', '^eclass', '^licenses', '^profiles', '^scripts', '^skel.ebuild',]
+ search_list = [ '^metadata', '^eclass', '^licenses', '^profiles', '^scripts', '^skel.', ]
for repo_dir in git_repos_list(myportdb):
reponame = myportdb.getRepositoryName(repo_dir)
repo = git.Repo(repo_dir)
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-01-31 13:39 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-01-31 13:39 UTC (permalink / raw
To: gentoo-commits
commit: 28dc9209b9e9787a1c9dc968f68ad89051a699f6
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 31 13:40:04 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Sun Jan 31 13:40:04 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=28dc9209
small fixes
pym/tbc/package.py | 2 +-
pym/tbc/sqlquerys.py | 4 ++--
pym/tbc/sync.py | 20 ++++++++++----------
3 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/pym/tbc/package.py b/pym/tbc/package.py
index cf711ff..510a5d2 100644
--- a/pym/tbc/package.py
+++ b/pym/tbc/package.py
@@ -376,7 +376,7 @@ class tbc_package(object):
else:
# Remove cpv from packageDict and add ebuild to new ebuils list
del packageDict[cpv]
- ebuild_id , status = get_ebuild_id_db(self._session, ebuild_version_checksum_tree, package_id)
+ ebuild_id , status = get_ebuild_id_db(self._session, ebuild_version_checksum_tree, package_id, ebuild_version_tree)
new_ebuild_id_list.append(ebuild_id)
self.add_package(packageDict, package_metadataDict, package_id, new_ebuild_id_list, old_ebuild_id_list)
diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index 2fdb7f1..9ada5dd 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -504,10 +504,10 @@ def update_package_metadata(session, package_metadataDict):
try:
PackagesMetadataInfo = session.query(PackagesMetadata).filter_by(PackageId = k).one()
except NoResultFound as e:
- session.add(PackagesMetadata(PackageId = k, Changlog = v['changelog_text'], Descriptions = v['metadata_xml_descriptions']))
+ session.add(PackagesMetadata(PackageId = k, Gitlog = v['git_changlog'], Descriptions = v['metadata_xml_descriptions']))
session.commit()
else:
- PackagesMetadataInfo.Changlog = v['changelog_text']
+ PackagesMetadataInfo.Gitlog = v['git_changlog']
PackagesMetadataInfo.Descriptions = v['metadata_xml_descriptions']
session.commit()
if v['metadata_xml_email']:
diff --git a/pym/tbc/sync.py b/pym/tbc/sync.py
index 2d22e74..52d84ab 100644
--- a/pym/tbc/sync.py
+++ b/pym/tbc/sync.py
@@ -73,7 +73,7 @@ def git_sync_main(session):
# check git diffs witch get updated and pass that to a dict
# fetch and merge the repo
repo_cp_dict = {}
- search_list = [ '^metadata', '^eclass', '^licenses', '^profiles', '^scripts',]
+ search_list = [ '^metadata', '^eclass', '^licenses', '^profiles', '^scripts', '^skel.ebuild',]
for repo_dir in git_repos_list(myportdb):
reponame = myportdb.getRepositoryName(repo_dir)
repo = git.Repo(repo_dir)
@@ -87,15 +87,15 @@ def git_sync_main(session):
repo_diff = repo.git.diff('origin', '--name-only')
write_log(session, 'Git dir diff:\n%s' % (repo_diff,), "debug", config_id, 'sync.git_sync_main')
for diff_line in repo_diff.splitlines():
- find_search = True
- for search_line in search_list:
- if re.search(search_line, diff_line):
- find_search = False
- if find_search:
- splited_diff_line = re.split('/', diff_line)
- cp = splited_diff_line[0] + '/' + splited_diff_line[1]
- if not cp in cp_list:
- cp_list.append(cp)
+ find_search = True
+ for search_line in search_list:
+ if re.search(search_line, diff_line):
+ find_search = False
+ if find_search:
+ splited_diff_line = re.split('/', diff_line)
+ cp = splited_diff_line[0] + '/' + splited_diff_line[1]
+ if not cp in cp_list:
+ cp_list.append(cp)
attr['cp_list'] = cp_list
write_log(session, 'Git CP Diff: %s' % (cp_list,), "debug", config_id, 'sync.git_sync_main')
repo_cp_dict[reponame] = attr
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-01-27 5:21 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-01-27 5:21 UTC (permalink / raw
To: gentoo-commits
commit: cc16d58199d60e5f65b86c3f8a59063e52c8cdae
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 27 05:22:11 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Wed Jan 27 05:22:11 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=cc16d581
check all ebuilds in package instead of only check Manifest small fix
pym/tbc/package.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pym/tbc/package.py b/pym/tbc/package.py
index 60e0de5..cf711ff 100644
--- a/pym/tbc/package.py
+++ b/pym/tbc/package.py
@@ -284,7 +284,7 @@ class tbc_package(object):
package_metadataDict[package_id]['metadata_xml_descriptions'] = packageDict[cpv]['ebuild_version_descriptions_tree']
packageDict[cpv]['new'] = True
- self.add_package(packageDict, package_metadataDict, package_id, new_ebuild_id_list, old_ebuild_id_list, manifest_mtime_tree)
+ self.add_package(packageDict, package_metadataDict, package_id, new_ebuild_id_list, old_ebuild_id_list)
log_msg = "C %s:%s ... Done." % (cp, repo)
write_log(self._session, log_msg, "info", self._config_id, 'packages.add_new_package_db')
@@ -378,7 +378,7 @@ class tbc_package(object):
del packageDict[cpv]
ebuild_id , status = get_ebuild_id_db(self._session, ebuild_version_checksum_tree, package_id)
new_ebuild_id_list.append(ebuild_id)
- self.add_package(packageDict, package_metadataDict, package_id, new_ebuild_id_list, old_ebuild_id_list, manifest_mtime_tree)
+ self.add_package(packageDict, package_metadataDict, package_id, new_ebuild_id_list, old_ebuild_id_list)
if package_updated:
# Check cp with repoman full
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-01-26 23:16 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-01-26 23:16 UTC (permalink / raw
To: gentoo-commits
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)
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-01-26 20:29 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-01-26 20:29 UTC (permalink / raw
To: gentoo-commits
commit: 85d70df173a81e8257172d39be1ae971be54422b
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 26 20:30:38 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Tue Jan 26 20:30:38 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=85d70df1
check all ebuilds in package instead of only check Manifest
pym/tbc/build_log.py | 5 +-
pym/tbc/db_mapping.py | 1 -
pym/tbc/package.py | 151 +++++++++++++++++++++-----------------------------
pym/tbc/sqlquerys.py | 5 --
pym/tbc/sync.py | 20 +++++--
5 files changed, 80 insertions(+), 102 deletions(-)
diff --git a/pym/tbc/build_log.py b/pym/tbc/build_log.py
index a16cdc6..ec4aaa7 100644
--- a/pym/tbc/build_log.py
+++ b/pym/tbc/build_log.py
@@ -29,7 +29,7 @@ from tbc.ConnectionManager import NewConnection
from tbc.sqlquerys import get_config_id, get_ebuild_id_db, add_new_buildlog, \
get_package_info, get_build_job_id, get_use_id, get_config_info, get_hilight_info, get_error_info_list, \
add_e_info, get_fail_times, add_fail_times, update_fail_times, del_old_build_jobs, add_old_ebuild, \
- update_buildjobs_status, update_mtime_sql, add_repoman_qa, get_config_id_fqdn, get_setup_info, \
+ update_buildjobs_status, add_repoman_qa, get_config_id_fqdn, get_setup_info, \
add_repoman_log
from tbc.log import write_log
@@ -112,8 +112,7 @@ def get_build_dict_db(session, config_id, settings, tbc_settings_dict, pkg):
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, "info", config_id)
- update_mtime_sql(session, build_dict['package_id'], 0)
+ add_logs(session, log_msg, "error", config_id)
else:
old_ebuild_id_list = []
for ebuild_id in ebuild_id_list:
diff --git a/pym/tbc/db_mapping.py b/pym/tbc/db_mapping.py
index 2636bb6..d9fcf25 100644
--- a/pym/tbc/db_mapping.py
+++ b/pym/tbc/db_mapping.py
@@ -84,7 +84,6 @@ class Packages(Base):
CategoryId = Column('category_id', Integer, ForeignKey('categories.category_id'))
Package = Column('package',String(150))
RepoId = Column('repo_id', Integer, ForeignKey('repos.repo_id'))
- Mtime = Column('mtime', DateTime, default=0)
Active = Column('active', Boolean, default=False)
TimeStamp = Column('time_stamp', DateTime, nullable=False, default=datetime.datetime.utcnow)
__tablename__ = 'packages'
diff --git a/pym/tbc/package.py b/pym/tbc/package.py
index 65a0f40..68574cf 100644
--- a/pym/tbc/package.py
+++ b/pym/tbc/package.py
@@ -17,7 +17,7 @@ from tbc.build_log import check_repoman_full
from tbc.log import write_log
from tbc.sqlquerys import get_package_info, get_config_info, \
add_new_build_job, add_new_ebuild_sql, get_ebuild_id_list, add_old_ebuild, \
- get_package_metadata_sql, update_package_metadata, update_mtime_sql, \
+ get_package_metadata_sql, update_package_metadata, \
get_package_info_from_package_id, get_config_all_info, add_new_package_sql, \
get_ebuild_checksums, get_ebuild_id_db, get_configmetadata_info, get_setup_info, \
get_ebuild_info_ebuild_id, get_ebuild_restrictions, add_old_package
@@ -210,7 +210,7 @@ class tbc_package(object):
package_metadataDict[package_id] = attDict
return package_metadataDict
- def add_package(self, packageDict, package_metadataDict, package_id, new_ebuild_id_list, old_ebuild_id_list, manifest_mtime_tree):
+ def add_package(self, packageDict, package_metadataDict, package_id, new_ebuild_id_list, old_ebuild_id_list):
# Use packageDict to update the db
ebuild_id_list = add_new_ebuild_sql(self._session, packageDict)
@@ -227,9 +227,6 @@ class tbc_package(object):
# update package metadata
update_package_metadata(self._session, package_metadataDict)
- # update the cp manifest checksum
- update_mtime_sql(self._session, package_id, manifest_mtime_tree)
-
# Get the best cpv for the configs and add it to config_cpv_listDict
PackageInfo, CategoryInfo, RepoInfo = get_package_info_from_package_id(self._session, package_id)
cp = CategoryInfo.Category + '/' + PackageInfo.Package
@@ -244,18 +241,6 @@ class tbc_package(object):
# Add the ebuild to the build jobs table if needed
self.add_new_build_job_db(ebuild_id_list, packageDict, config_cpv_listDict)
- def get_manifest_mtime_tree(self, pkgdir, cp, repo, mytree):
- # Get the cp manifest file mtime.
- try:
- mtime = os.path.getmtime(pkgdir + "/Manifest")
- except:
- log_msg = "QA: Can't checksum the Manifest file. :%s:%s" % (cp, repo,)
- 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(self._session, log_msg, "warning", self._config_id, 'packages.get_manifest_mtime_tree')
- return False
- return datetime.datetime.fromtimestamp(mtime).replace(microsecond=0)
-
def add_new_package_db(self, cp, repo):
# Add new categories package ebuild to tables package and ebuilds
# C = Checking
@@ -268,9 +253,6 @@ class tbc_package(object):
mytree = []
mytree.append(repodir)
pkgdir = repodir + "/" + cp # Get RepoDIR + cp
- manifest_mtime_tree = self.get_manifest_mtime_tree(pkgdir, cp, repo, mytree)
- if not manifest_mtime_tree:
- return None
package_id = add_new_package_sql(self._session, cp, repo)
@@ -332,83 +314,78 @@ class tbc_package(object):
mytree = []
mytree.append(repodir)
- manifest_mtime_tree = self.get_manifest_mtime_tree(pkgdir, cp, repo, mytree)
- if not manifest_mtime_tree:
+
+ # 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(self._session, log_msg, "error", self._config_id, 'packages.update_package_db')
+ log_msg = "C %s:%s ... Fail." % (cp, repo)
+ write_log(self._session, log_msg, "warning", self._config_id, 'packages.update_package_db')
return None
- # if we NOT have the same mtime in the db update the package
- if PackageInfo.Mtime is None or manifest_mtime_tree > PackageInfo.Mtime:
+ package_metadataDict = self.get_package_metadataDict(pkgdir, repodir, package_id, cp)
+ packageDict ={}
+ new_ebuild_id_list = []
+ package_updated = False
+ for cpv in sorted(ebuild_list_tree):
- # U = Update
- log_msg = "U %s:%s" % (cp, repo)
- write_log(self._session, log_msg, "info", self._config_id, 'packages.update_package_db')
+ # split out ebuild version
+ ebuild_version_tree = portage.versions.cpv_getversion(cpv)
- # 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(self._session, log_msg, "error", self._config_id, 'packages.update_package_db')
- log_msg = "C %s:%s ... Fail." % (cp, repo)
- write_log(self._session, log_msg, "warning", self._config_id, 'packages.update_package_db')
- return None
+ # Get packageDict for cpv
+ packageDict[cpv] = self.get_packageDict(pkgdir, cpv, repo)
+
+ # take package descriptions from the ebuilds
+ if package_metadataDict[package_id]['metadata_xml_descriptions'] != packageDict[cpv]['ebuild_version_descriptions_tree']:
+ package_metadataDict[package_id]['metadata_xml_descriptions'] = packageDict[cpv]['ebuild_version_descriptions_tree']
+
+ # Get the checksum of the ebuild in tree and db
+ ebuild_version_checksum_tree = packageDict[cpv]['checksum']
+ checksums_db, fail = get_ebuild_checksums(self._session, package_id, ebuild_version_tree)
+
+ # check if we have dupes of the checksum from db
+ if checksums_db is None:
+ ebuild_version_manifest_checksum_db = None
+ elif fail:
+ dupe_ebuild_id_list = []
+ for checksum in checksums_db:
+ 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(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
+ else:
+ ebuild_version_manifest_checksum_db = checksums_db
+
+ # Check if the checksum have change
+ if ebuild_version_manifest_checksum_db is None:
+ # N = New ebuild
+ log_msg = "N %s:%s" % (cpv, repo,)
+ write_log(self._session, log_msg, "info", self._config_id, 'packages.update_package_db')
+ packageDict[cpv]['new'] = True
+ package_updated = True
+ elif ebuild_version_checksum_tree != ebuild_version_manifest_checksum_db:
+ # U = Updated ebuild
+ log_msg = "U %s:%s" % (cpv, repo,)
+ write_log(self._session, log_msg, "info", self._config_id, 'packages.update_package_db')
+ package_updated = True
+ else:
+ # Remove cpv from packageDict and add ebuild to new ebuils list
+ del packageDict[cpv]
+ ebuild_id , status = get_ebuild_id_db(self._session, ebuild_version_checksum_tree, package_id)
+ new_ebuild_id_list.append(ebuild_id)
+ self.add_package(packageDict, package_metadataDict, package_id, new_ebuild_id_list, old_ebuild_id_list, manifest_mtime_tree)
+ if package_updated:
# 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(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):
-
- # split out ebuild version
- ebuild_version_tree = portage.versions.cpv_getversion(cpv)
-
- # Get packageDict for cpv
- packageDict[cpv] = self.get_packageDict(pkgdir, cpv, repo)
-
- # take package descriptions from the ebuilds
- if package_metadataDict[package_id]['metadata_xml_descriptions'] != packageDict[cpv]['ebuild_version_descriptions_tree']:
- package_metadataDict[package_id]['metadata_xml_descriptions'] = packageDict[cpv]['ebuild_version_descriptions_tree']
-
- # Get the checksum of the ebuild in tree and db
- ebuild_version_checksum_tree = packageDict[cpv]['checksum']
- checksums_db, fail = get_ebuild_checksums(self._session, package_id, ebuild_version_tree)
-
- # check if we have dupes of the checksum from db
- if checksums_db is None:
- ebuild_version_manifest_checksum_db = None
- elif fail:
- dupe_ebuild_id_list = []
- for checksum in checksums_db:
- 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(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
- else:
- ebuild_version_manifest_checksum_db = checksums_db
-
- # Check if the checksum have change
- if ebuild_version_manifest_checksum_db is None:
- # N = New ebuild
- log_msg = "N %s:%s" % (cpv, repo,)
- 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(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]
- ebuild_id , status = get_ebuild_id_db(self._session, ebuild_version_checksum_tree, package_id)
- new_ebuild_id_list.append(ebuild_id)
- 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(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 e43b8fc..4161461 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -515,11 +515,6 @@ def update_package_metadata(session, package_metadataDict):
EmailInfo = update_email_info(session, email)
PackagesEmailInfo = update_package_email_info(session, EmailInfo.EmailId, k)
-def update_mtime_sql(session, package_id, manifest_mtime_tree):
- PackagesInfo = session.query(Packages).filter_by(PackageId = package_id).one()
- PackagesInfo.Mtime = manifest_mtime_tree
- session.commit()
-
def get_package_info_from_package_id(session, package_id):
PackageInfo = session.query(Packages).filter_by(PackageId = package_id).one()
CategoryInfo = session.query(Categories).filter_by(CategoryId = PackageInfo.CategoryId).one()
diff --git a/pym/tbc/sync.py b/pym/tbc/sync.py
index 1732f1f..2d22e74 100644
--- a/pym/tbc/sync.py
+++ b/pym/tbc/sync.py
@@ -70,9 +70,10 @@ def git_sync_main(session):
except:
pass
- # check git diffs witch Manifests get updated and pass that to a dict
+ # check git diffs witch get updated and pass that to a dict
# fetch and merge the repo
repo_cp_dict = {}
+ search_list = [ '^metadata', '^eclass', '^licenses', '^profiles', '^scripts',]
for repo_dir in git_repos_list(myportdb):
reponame = myportdb.getRepositoryName(repo_dir)
repo = git.Repo(repo_dir)
@@ -82,14 +83,21 @@ def git_sync_main(session):
if not repouptodate:
cp_list = []
attr = {}
- # We check for Manifest changes and add the package to a list
+ # We check for dir changes and add the package to a list
repo_diff = repo.git.diff('origin', '--name-only')
- write_log(session, 'Git diff: %s' % (repo_diff,), "debug", config_id, 'sync.git_sync_main')
+ write_log(session, 'Git dir diff:\n%s' % (repo_diff,), "debug", config_id, 'sync.git_sync_main')
for diff_line in repo_diff.splitlines():
- if re.search("Manifest$", diff_line):
- cp = re.sub('/Manifest', '', diff_line)
- cp_list.append(cp)
+ find_search = True
+ for search_line in search_list:
+ if re.search(search_line, diff_line):
+ find_search = False
+ if find_search:
+ splited_diff_line = re.split('/', diff_line)
+ cp = splited_diff_line[0] + '/' + splited_diff_line[1]
+ if not cp in cp_list:
+ cp_list.append(cp)
attr['cp_list'] = cp_list
+ write_log(session, 'Git CP Diff: %s' % (cp_list,), "debug", config_id, 'sync.git_sync_main')
repo_cp_dict[reponame] = attr
git_merge(repo, info_list[0])
else:
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-01-25 22:48 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-01-25 22:48 UTC (permalink / raw
To: gentoo-commits
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 = []
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-01-18 20:26 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-01-18 20:26 UTC (permalink / raw
To: gentoo-commits
commit: 250f837e65c6e28381ca57ecbe97085974902bdf
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 18 20:28:04 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Mon Jan 18 20:28:04 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=250f837e
move the hash for the build log
pym/tbc/build_log.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/pym/tbc/build_log.py b/pym/tbc/build_log.py
index 79dbe2a..7b3784a 100644
--- a/pym/tbc/build_log.py
+++ b/pym/tbc/build_log.py
@@ -28,7 +28,7 @@ from tbc.ConnectionManager import NewConnection
from tbc.sqlquerys import add_logs, get_config_id, get_ebuild_id_db, add_new_buildlog, \
get_package_info, get_build_job_id, get_use_id, get_config_info, get_hilight_info, get_error_info_list, \
add_e_info, get_fail_times, add_fail_times, update_fail_times, del_old_build_jobs, add_old_ebuild, \
- update_buildjobs_status, update_manifest_sql, add_repoman_qa, get_config_id_fqdn, get_setup_info, \
+ update_buildjobs_status, update_mtime_sql, add_repoman_qa, get_config_id_fqdn, get_setup_info, \
add_repoman_log
from sqlalchemy.orm import sessionmaker
@@ -107,7 +107,7 @@ def get_build_dict_db(session, config_id, settings, tbc_settings_dict, pkg):
if ebuild_id_list is None:
log_msg = "%s:%s Don't have any ebuild_id!" % (pkg.cpv, repo,)
add_logs(session, log_msg, "info", config_id)
- update_manifest_sql(session, build_dict['package_id'], "0")
+ update_mtime_sql(session, build_dict['package_id'], 0)
else:
old_ebuild_id_list = []
for ebuild_id in ebuild_id_list:
@@ -293,7 +293,7 @@ def add_buildlog_main(settings, pkg, trees):
if error_log_list != []:
for log_line in error_log_list:
build_error = build_error + log_line
- log_hash.update(log_line.encode('utf-8'))
+ log_hash.update(build_error.encode('utf-8'))
build_log_dict['build_error'] = build_error
build_log_dict['log_hash'] = log_hash.hexdigest()
build_log_dict['logfilename'] = settings.get("PORTAGE_LOG_FILE").split(host_config)[1]
@@ -322,7 +322,7 @@ def add_buildlog_main(settings, pkg, trees):
qa_msg = "QA: FAILD"
else:
build_msg = "BUILD: FAILD"
- msg = "Package: %s Repo: %s %s %s %s Weblink http://foo.gg.oo/buildpackage/%s\n" % (pkg.cpv, pkg.repo, build_msg, repoman_msg, qa_msg, log_id,)
+ msg = "Package: %s Repo: %s %s %s %s Weblink http://foo.gg.oo/new/logs/build/%s\n" % (pkg.cpv, pkg.repo, build_msg, repoman_msg, qa_msg, log_id,)
send_irk(msg)
session.close
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-01-10 12:53 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-01-10 12:53 UTC (permalink / raw
To: gentoo-commits
commit: 80b205f448c096b57772d42706e5180f2c4849e0
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 10 12:54:58 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Sun Jan 10 12:54:58 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=80b205f4
change from checksum to mtime on Manifest
pym/tbc/db_mapping.py | 2 +-
pym/tbc/package.py | 83 ++++++++++++++++++++++++++-------------------------
pym/tbc/sqlquerys.py | 6 ++--
3 files changed, 46 insertions(+), 45 deletions(-)
diff --git a/pym/tbc/db_mapping.py b/pym/tbc/db_mapping.py
index 82318a1..2636bb6 100644
--- a/pym/tbc/db_mapping.py
+++ b/pym/tbc/db_mapping.py
@@ -84,7 +84,7 @@ class Packages(Base):
CategoryId = Column('category_id', Integer, ForeignKey('categories.category_id'))
Package = Column('package',String(150))
RepoId = Column('repo_id', Integer, ForeignKey('repos.repo_id'))
- Checksum = Column('checksum', String(100))
+ Mtime = Column('mtime', DateTime, default=0)
Active = Column('active', Boolean, default=False)
TimeStamp = Column('time_stamp', DateTime, nullable=False, default=datetime.datetime.utcnow)
__tablename__ = 'packages'
diff --git a/pym/tbc/package.py b/pym/tbc/package.py
index 091f75f..40de495 100644
--- a/pym/tbc/package.py
+++ b/pym/tbc/package.py
@@ -15,7 +15,7 @@ from tbc.qachecks import check_repoman
from tbc.build_log import check_repoman_full
from tbc.sqlquerys import add_logs, get_package_info, get_config_info, \
add_new_build_job, add_new_ebuild_sql, get_ebuild_id_list, add_old_ebuild, \
- get_package_metadata_sql, update_package_metadata, update_manifest_sql, \
+ get_package_metadata_sql, update_package_metadata, update_mtime_sql, \
get_package_info_from_package_id, get_config_all_info, add_new_package_sql, \
get_ebuild_checksums, get_ebuild_id_db, get_configmetadata_info, get_setup_info, \
get_ebuild_info_ebuild_id, get_ebuild_restrictions, add_old_package
@@ -206,7 +206,7 @@ class tbc_package(object):
package_metadataDict[package_id] = attDict
return package_metadataDict
- def add_package(self, packageDict, package_metadataDict, package_id, new_ebuild_id_list, old_ebuild_id_list, manifest_checksum_tree):
+ def add_package(self, packageDict, package_metadataDict, package_id, new_ebuild_id_list, old_ebuild_id_list, manifest_mtime_tree):
# Use packageDict to update the db
ebuild_id_list = add_new_ebuild_sql(self._session, packageDict)
@@ -224,7 +224,7 @@ class tbc_package(object):
update_package_metadata(self._session, package_metadataDict)
# update the cp manifest checksum
- update_manifest_sql(self._session, package_id, manifest_checksum_tree)
+ update_mtime_sql(self._session, package_id, manifest_mtime_tree)
# Get the best cpv for the configs and add it to config_cpv_listDict
PackageInfo, CategoryInfo, RepoInfo = get_package_info_from_package_id(self._session, package_id)
@@ -240,20 +240,17 @@ class tbc_package(object):
# Add the ebuild to the build jobs table if needed
self.add_new_build_job_db(ebuild_id_list, packageDict, config_cpv_listDict)
- def get_manifest_checksum_tree(self, pkgdir, cp, repo, mytree):
- # Get the cp manifest file checksum.
+ def get_manifest_mtime_tree(self, pkgdir, cp, repo, mytree):
+ # Get the cp manifest file mtime.
try:
- manifest_checksum_tree = portage.checksum.sha256hash(pkgdir + "/Manifest")[0]
+ mtime = os.path.getmtime(pkgdir + "/Manifest")
except:
- # Get the package list from the repo
- package_list_tree =self. _myportdb.cp_all(trees=mytree)
- if cp in package_list_tree:
- log_msg = "QA: Can't checksum the Manifest file. :%s:%s" % (cp, repo,)
- add_logs(self._session, log_msg, "error", self._config_id)
- log_msg = "C %s:%s ... Fail." % (cp, repo)
- add_logs(self._session, log_msg, "error", self._config_id)
- return "0"
- return manifest_checksum_tree
+ log_msg = "QA: Can't checksum the Manifest file. :%s:%s" % (cp, repo,)
+ add_logs(self._session, log_msg, "error", self._config_id)
+ log_msg = "C %s:%s ... Fail." % (cp, repo)
+ add_logs(self._session, log_msg, "error", self._config_id)
+ return False
+ return datetime.datetime.fromtimestamp(mtime).replace(microsecond=0)
def add_new_package_db(self, cp, repo):
# Add new categories package ebuild to tables package and ebuilds
@@ -267,8 +264,10 @@ class tbc_package(object):
mytree = []
mytree.append(repodir)
pkgdir = repodir + "/" + cp # Get RepoDIR + cp
- manifest_checksum_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
+
package_id = add_new_package_sql(self._session, cp, repo)
# Check cp with repoman full
@@ -299,7 +298,7 @@ class tbc_package(object):
package_metadataDict[package_id]['metadata_xml_descriptions'] = packageDict[cpv]['ebuild_version_descriptions_tree']
packageDict[cpv]['new'] = True
- self.add_package(packageDict, package_metadataDict, package_id, new_ebuild_id_list, old_ebuild_id_list, manifest_checksum_tree)
+ 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)
add_logs(self._session, log_msg, "info", self._config_id)
@@ -313,12 +312,28 @@ class tbc_package(object):
add_logs(self._session, log_msg, "info", self._config_id)
repodir = self._myportdb.getRepositoryPath(repo)
pkgdir = repodir + "/" + cp # Get RepoDIR + cp
+ if not os.path.isdir(pkgdir):
+ old_ebuild_id_list = get_ebuild_id_list(self._session, package_id)
+ for ebuild_id in old_ebuild_id_list:
+ EbuildInfo = get_ebuild_info_ebuild_id(self._session, ebuild_id)
+ cpv = cp + "-" + EbuildInfo.Version
+ # R = remove ebuild
+ log_msg = "R %s:%s" % (cpv, repo,)
+ add_logs(self._session, log_msg, "info", self._config_id)
+ add_old_ebuild(self._session, old_ebuild_id_list)
+ add_old_package(self._session, package_id)
+ log_msg = "C %s:%s ... Done." % (cp, repo)
+ add_logs(self._session, log_msg, "info", self._config_id)
+ return None
+
mytree = []
mytree.append(repodir)
- manifest_checksum_tree = self.get_manifest_checksum_tree(pkgdir, cp, repo, mytree)
+ manifest_mtime_tree = self.get_manifest_checksum_tree(pkgdir, cp, repo, mytree)
+ if not manifest_mtime_tree:
+ return None
- # if we NOT have the same checksum in the db update the package
- if manifest_checksum_tree != PackageInfo.Checksum:
+ # if we NOT have the same mtime in the db update the package
+ if PackageInfo.Mtime is None or manifest_mtime_tree > PackageInfo.Mtime:
# U = Update
log_msg = "U %s:%s" % (cp, repo)
@@ -328,25 +343,11 @@ class tbc_package(object):
old_ebuild_id_list = []
ebuild_list_tree = self._myportdb.cp_list(cp, use_cache=1, mytree=mytree)
if ebuild_list_tree == []:
- if manifest_checksum_tree == "0":
- old_ebuild_id_list = get_ebuild_id_list(self._session, package_id)
- for ebuild_id in old_ebuild_id_list:
- EbuildInfo = get_ebuild_info_ebuild_id(self._session, ebuild_id)
- cpv = cp + "-" + EbuildInfo.Version
- # R = remove ebuild
- log_msg = "R %s:%s" % (cpv, repo,)
- add_logs(self._session, log_msg, "info", self._config_id)
- if not os.path.isdir(pkgdir):
- add_old_package(self._session, package_id)
- add_old_ebuild(self._session, old_ebuild_id_list)
- log_msg = "C %s:%s ... Done." % (cp, repo)
- add_logs(self._session, log_msg, "info", self._config_id)
- else:
- log_msg = "QA: Can't get the ebuilds list. %s:%s" % (cp, repo,)
- add_logs(self._session, log_msg, "info", self._config_id)
- log_msg = "C %s:%s ... Fail." % (cp, repo)
- add_logs(self._session, log_msg, "info", self._config_id)
- return
+ log_msg = "QA: Can't get the ebuilds list. %s:%s" % (cp, repo,)
+ add_logs(self._session, log_msg, "info", self._config_id)
+ log_msg = "C %s:%s ... Fail." % (cp, repo)
+ add_logs(self._session, log_msg, "info", self._config_id)
+ return None
# Check cp with repoman full
status = check_repoman_full(self._session, pkgdir, package_id, self._config_id)
@@ -403,7 +404,7 @@ class tbc_package(object):
del packageDict[cpv]
ebuild_id , status = get_ebuild_id_db(self._session, ebuild_version_checksum_tree, package_id)
new_ebuild_id_list.append(ebuild_id)
- self.add_package(packageDict, package_metadataDict, package_id, new_ebuild_id_list, old_ebuild_id_list, manifest_checksum_tree)
+ 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)
add_logs(self._session, log_msg, "info", self._config_id)
diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index 7791e6e..e93c96d 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -466,7 +466,7 @@ def add_new_package_sql(session, cp, repo):
repo_id = RepoInfo.RepoId
CategoriesInfo = get_category_info(session, categories)
category_id = CategoriesInfo.CategoryId
- session.add(Packages(Package = package, CategoryId = category_id, RepoId = repo_id, Checksum = '0', Active = True))
+ session.add(Packages(Package = package, CategoryId = category_id, RepoId = repo_id, Active = True))
session.commit()
PackageInfo = get_package_info(session, categories, package, repo)
return PackageInfo.PackageId
@@ -512,9 +512,9 @@ def update_package_metadata(session, package_metadataDict):
EmailInfo = update_email_info(session, email)
PackagesEmailInfo = update_package_email_info(session, EmailInfo.EmailId, k)
-def update_manifest_sql(session, package_id, manifest_checksum_tree):
+def update_mtime_sql(session, package_id, manifest_mtime_tree):
PackagesInfo = session.query(Packages).filter_by(PackageId = package_id).one()
- PackagesInfo.Checksum = manifest_checksum_tree
+ PackagesInfo.Mtime = manifest_mtime_tree
session.commit()
def get_package_info_from_package_id(session, package_id):
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2016-01-07 7:33 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2016-01-07 7:33 UTC (permalink / raw
To: gentoo-commits
commit: 2e76eff16ecad10b5106080359e49c896bea950f
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 7 07:35:20 2016 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Thu Jan 7 07:35:20 2016 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=2e76eff1
add support for repoman cpv
pym/tbc/build_log.py | 52 +++++++++++++++++++++++++++++++++++-----------------
1 file changed, 35 insertions(+), 17 deletions(-)
diff --git a/pym/tbc/build_log.py b/pym/tbc/build_log.py
index 52db083..79dbe2a 100644
--- a/pym/tbc/build_log.py
+++ b/pym/tbc/build_log.py
@@ -32,25 +32,35 @@ from tbc.sqlquerys import add_logs, get_config_id, get_ebuild_id_db, add_new_bui
add_repoman_log
from sqlalchemy.orm import sessionmaker
-def check_repoman_full(session, pkgdir, package_id, config_id):
+def check_repoman_full(session, pkgdir, package_id, config_id, cpv=False):
# Check cp with repoman repoman full
status = repoman_full(session, pkgdir, config_id)
repoman_hash = hashlib.sha256()
- repoman_log = ""
+ if cpv:
+ element = cpv.split('/')
+ pv = element[1]
if status:
+ repoman_dict = {}
for k, v in status.items():
- repoman_line = k + '/n'
- repoman_hash.update(repoman_line.encode('utf-8'))
- repoman_log = repoman_log + repoman_line
+ repoman_log2 = []
for line in v:
- repoman_line = line + '/n'
- repoman_hash.update(repoman_line.encode('utf-8'))
- repoman_log = repoman_log + repoman_line
- add_repoman_log(session, package_id, repoman_log, repoman_hash.hexdigest())
- return repoman_log
- else:
- return status
-
+ if not cpv:
+ repoman_log2.append(line)
+ elif cpv and re.search(pv + '.ebuild', line):
+ repoman_log2.append(line)
+ if not repoman_log2 == []:
+ repoman_dict[k] = repoman_log2
+ if not repoman_dict == {}:
+ repoman_log = ""
+ for k, v in repoman_dict.items():
+ repoman_log = repoman_log + k + "\n"
+ repoman_hash.update(k.encode('utf-8'))
+ for line in v:
+ repoman_log = repoman_log + line + "\n"
+ repoman_hash.update(line.encode('utf-8'))
+ add_repoman_log(session, package_id, repoman_log, repoman_hash.hexdigest())
+ return repoman_log
+ return False
def get_build_dict_db(session, config_id, settings, tbc_settings_dict, pkg):
myportdb = portage.portdbapi(mysettings=settings)
@@ -224,7 +234,7 @@ def get_buildlog_info(session, settings, pkg, build_dict, config_id):
categories = element[0]
package = element[1]
pkgdir = myportdb.getRepositoryPath(build_dict['repo']) + "/" + categories + "/" + package
- repoman_error_list = check_repoman_full(session, pkgdir, build_dict['package_id'], config_id)
+ repoman_error_list = check_repoman_full(session, pkgdir, build_dict['package_id'], config_id, build_dict['cpv'])
build_log_dict = {}
build_log_dict['fail'] = False
if repoman_error_list:
@@ -301,10 +311,18 @@ def add_buildlog_main(settings, pkg, trees):
log_msg = "Package: %s:%s is logged." % (pkg.cpv, pkg.repo,)
add_logs(session, log_msg, "info", config_id)
print("\n>>> Logging %s:%s\n" % (pkg.cpv, pkg.repo,))
+ build_msg = "BUILD: PASS"
+ qa_msg = "QA: PASS"
+ repoman_msg = "REPOMAN: PASS"
if build_log_dict['fail']:
- msg = "Package: %s Repo: %s FAILD Weblink http://foo.gg.oo/buildpackage/%s\n" % (pkg.cpv, pkg.repo, log_id,)
- else:
- msg = "Package: %s Repo: %s PASS Weblink http://foo.gg.oo/buildpackage/%s\n" % (pkg.cpv, pkg.repo, log_id,)
+ for error_id in build_log_dict['summary_error_list']:
+ if error_id == 1:
+ repoman_msg = "REPOMAN: FAILD"
+ elif error_id ==2:
+ qa_msg = "QA: FAILD"
+ else:
+ build_msg = "BUILD: FAILD"
+ msg = "Package: %s Repo: %s %s %s %s Weblink http://foo.gg.oo/buildpackage/%s\n" % (pkg.cpv, pkg.repo, build_msg, repoman_msg, qa_msg, log_id,)
send_irk(msg)
session.close
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2015-12-21 22:54 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2015-12-21 22:54 UTC (permalink / raw
To: gentoo-commits
commit: 8f4a556c399d1efd129a5a339c1d65e0801d1471
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 21 22:53:31 2015 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Mon Dec 21 22:53:31 2015 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=8f4a556c
add support for irker
pym/tbc/build_log.py | 7 ++++++-
pym/tbc/irk.py | 28 ++++++++++++++++++++++++++++
2 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/pym/tbc/build_log.py b/pym/tbc/build_log.py
index bbe35d4..52db083 100644
--- a/pym/tbc/build_log.py
+++ b/pym/tbc/build_log.py
@@ -19,7 +19,7 @@ from _emerge.main import parse_opts
portage.proxy.lazyimport.lazyimport(globals(),
'tbc.actions:action_info,load_emerge_config',
)
-
+from tbc.irk import send_irk
from tbc.qachecks import check_repoman, repoman_full
from tbc.text import get_log_text_dict
from tbc.readconf import read_config_settings
@@ -301,6 +301,11 @@ def add_buildlog_main(settings, pkg, trees):
log_msg = "Package: %s:%s is logged." % (pkg.cpv, pkg.repo,)
add_logs(session, log_msg, "info", config_id)
print("\n>>> Logging %s:%s\n" % (pkg.cpv, pkg.repo,))
+ if build_log_dict['fail']:
+ msg = "Package: %s Repo: %s FAILD Weblink http://foo.gg.oo/buildpackage/%s\n" % (pkg.cpv, pkg.repo, log_id,)
+ else:
+ msg = "Package: %s Repo: %s PASS Weblink http://foo.gg.oo/buildpackage/%s\n" % (pkg.cpv, pkg.repo, log_id,)
+ send_irk(msg)
session.close
def log_fail_queru(session, build_dict, settings):
diff --git a/pym/tbc/irk.py b/pym/tbc/irk.py
new file mode 100644
index 0000000..01765c7
--- /dev/null
+++ b/pym/tbc/irk.py
@@ -0,0 +1,28 @@
+from __future__ import unicode_literals
+
+import json
+import socket
+import sys
+
+DEFAULT_SERVER = ("192.168.0.5", 6659)
+
+def connect(server = DEFAULT_SERVER):
+ return socket.create_connection(server)
+
+def send(s, target, message):
+ data = {"to": target, "privmsg" : message}
+ s.sendall(json.dumps(data).encode('ascii'))
+
+def irk(target, message, server = DEFAULT_SERVER):
+ s = connect(server)
+ if "irc:" not in target and "ircs:" not in target:
+ target = "irc://chat.freenode.net/{0}".format(target)
+ send(s, target, message)
+ s.close()
+
+def send_irk(msg):
+ target = "tinderbox-cluster"
+ try:
+ irk(target, msg)
+ except socket.error as e:
+ sys.stderr.write("irk: write to server failed: %r\n" % e)
\ No newline at end of file
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2015-12-20 0:12 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2015-12-20 0:12 UTC (permalink / raw
To: gentoo-commits
commit: 9d888380b877c7e310fc7799962776d17a242821
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 20 00:12:08 2015 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Sun Dec 20 00:12:08 2015 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=9d888380
fix for thin manifest
pym/tbc/qachecks.py | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/pym/tbc/qachecks.py b/pym/tbc/qachecks.py
index acb080e..892642f 100644
--- a/pym/tbc/qachecks.py
+++ b/pym/tbc/qachecks.py
@@ -22,10 +22,6 @@ import portage
def check_file_in_manifest(pkgdir, mysettings, portdb, cpv, build_use_flags_list, repo):
myfetchlistdict = portage.FetchlistDict(pkgdir, mysettings, portdb)
my_manifest = portage.Manifest(pkgdir, mysettings['DISTDIR'], fetchlist_dict=myfetchlistdict, manifest1_compat=False, from_scratch=False)
- ebuild_version = portage.versions.cpv_getversion(cpv)
- package = portage.versions.cpv_getkey(cpv).split("/")[1]
- if my_manifest.findFile(package + "-" + ebuild_version + ".ebuild") is None:
- return "Ebuild file not found.\n"
tree = portdb.getRepositoryPath(repo)
cpv_fetchmap = portdb.getFetchMap(cpv, useflags=build_use_flags_list, mytree=tree)
mysettings.unlock()
@@ -37,12 +33,12 @@ def check_file_in_manifest(pkgdir, mysettings, portdb, cpv, build_use_flags_list
finally:
mysettings.lock()
try:
- my_manifest.checkCpvHashes(cpv, checkDistfiles=True, onlyDistfiles=False, checkMiscfiles=True)
+ my_manifest.checkCpvHashes(cpv, checkDistfiles=True, onlyDistfiles=True, checkMiscfiles=False)
except:
return "Can't fetch the file or the hash failed.\n"
try:
portdb.fetch_check(cpv, useflags=build_use_flags_list, mysettings=mysettings, all=False)
- except:
+ except:
return "Fetch check failed.\n"
return
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2015-10-06 19:31 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2015-10-06 19:31 UTC (permalink / raw
To: gentoo-commits
commit: 6698f841f9f77bad00a963ae61bf0625d5ce35c3
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 6 19:31:35 2015 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Tue Oct 6 19:31:35 2015 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=6698f841
add more repoman fixes
pym/tbc/package.py | 2 +-
pym/tbc/qachecks.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/pym/tbc/package.py b/pym/tbc/package.py
index ef9b453..091f75f 100644
--- a/pym/tbc/package.py
+++ b/pym/tbc/package.py
@@ -109,7 +109,7 @@ class tbc_package(object):
add_logs(self._session, log_msg, "info", self._config_id)
git_commit = '0'
else:
- git_commit = self.get_git_log_ebuild(repodir, ebuild_file):
+ git_commit = self.get_git_log_ebuild(repodir, ebuild_file)
# Get the ebuild metadata
ebuild_version_metadata_tree = self.get_ebuild_metadata(cpv, repo)
diff --git a/pym/tbc/qachecks.py b/pym/tbc/qachecks.py
index 67b1448..451f315 100644
--- a/pym/tbc/qachecks.py
+++ b/pym/tbc/qachecks.py
@@ -14,7 +14,7 @@ from portage import os, _encodings, _unicode_decode, _unicode_encode
from portage.exception import DigestException, FileNotFound, ParseError, PermissionDenied
from _emerge.Package import Package
from _emerge.RootConfig import RootConfig
-from tbc.repoman.checks.ebuilds.checks import run_checks
+from repoman.checks.ebuilds.checks import run_checks
from tbc.repoman.main import repoman_main
from tbc.sqlquerys import get_configmetadata_info, get_config_info, get_setup_info
import portage
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2015-09-06 20:29 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2015-09-06 20:29 UTC (permalink / raw
To: gentoo-commits
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
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2015-09-03 21:03 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2015-09-03 21:03 UTC (permalink / raw
To: gentoo-commits
commit: aac3ed04e3bc5d555b2432ea40dd262335dfd776
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 3 21:02:29 2015 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Thu Sep 3 21:02:29 2015 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=aac3ed04
Add support move from cvs to git
pym/tbc/db_mapping.py | 7 ++--
pym/tbc/package.py | 91 ++++++++++++++++++-----------------------------
pym/tbc/qachecks.py | 97 ---------------------------------------------------
pym/tbc/sync.py | 17 ++++-----
4 files changed, 44 insertions(+), 168 deletions(-)
diff --git a/pym/tbc/db_mapping.py b/pym/tbc/db_mapping.py
index dbae5a8..82318a1 100644
--- a/pym/tbc/db_mapping.py
+++ b/pym/tbc/db_mapping.py
@@ -103,7 +103,7 @@ class PackagesEmails(Base):
class PackagesMetadata(Base):
Id = Column('id', Integer, primary_key=True)
PackageId = Column('package_id', Integer, ForeignKey('packages.package_id'))
- Changlog = Column('changlog', Text)
+ Gitlog = Column('gitlog', Text)
Descriptions = Column('descriptions', Text)
__tablename__ = 'packages_metadata'
@@ -278,6 +278,7 @@ class EbuildsKeywords(Base):
class EbuildsMetadata(Base):
Id = Column('id', Integer, primary_key=True)
EbuildId = Column('ebuild_id', ForeignKey('ebuilds.ebuild_id'))
- Revision = Column('revision', String(30))
- Descriptions = Column('descriptions', String(200))
+ Commit = Column('commit', String(100))
+ New = Column('new', Boolean, default=False)
+ Descriptions = Column('descriptions', Text)
__tablename__ = 'ebuilds_metadata'
diff --git a/pym/tbc/package.py b/pym/tbc/package.py
index 980b089..6224846 100644
--- a/pym/tbc/package.py
+++ b/pym/tbc/package.py
@@ -5,12 +5,13 @@ from __future__ import print_function
import re
import hashlib
import os
+import git
import portage
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
from tbc.flags import tbc_use_flags
-from tbc.qachecks import digestcheck, check_repoman
+from tbc.qachecks import check_repoman
from tbc.build_log import check_repoman_full
from tbc.sqlquerys import add_logs, get_package_info, get_config_info, \
add_new_build_job, add_new_ebuild_sql, get_ebuild_id_list, add_old_ebuild, \
@@ -99,9 +100,10 @@ class tbc_package(object):
add_logs(self._session, log_msg, "info", self._config_id)
log_msg = "C %s:%s ... Fail." % (cpv, repo)
add_logs(self._session, log_msg, "info", self._config_id)
- ebuild_version_cvs_revision_tree = '0'
+ git_commit = '0'
else:
- ebuild_version_cvs_revision_tree = get_ebuild_cvs_revision(pkgdir + "/" + package + "-" + ebuild_version_tree + ".ebuild")
+ git_commit = '0'
+ #FIXME The git commit need to be fixed or when $ID get fixed
# Get the ebuild metadata
ebuild_version_metadata_tree = self.get_ebuild_metadata(cpv, repo)
@@ -123,7 +125,8 @@ class tbc_package(object):
attDict['checksum']= ebuild_version_checksum_tree
attDict['ebuild_version_metadata_tree'] = ebuild_version_metadata_tree
#attDict['ebuild_version_text_tree'] = ebuild_version_text_tree[0]
- attDict['ebuild_version_revision_tree'] = ebuild_version_cvs_revision_tree
+ attDict['git_commit'] = git_commit
+ attDict['New'] = False
attDict['ebuild_version_descriptions_tree'] = ebuild_version_metadata_tree[7]
return attDict
@@ -161,33 +164,12 @@ class tbc_package(object):
add_logs(self._session, log_msg, "info", self._config_id)
i = i +1
- def get_changelog_text(self, pkgdir):
- changelog_text_dict, max_text_lines = get_log_text_dict(pkgdir + "/ChangeLog")
- spec = 3
- spec_tmp = 1
- changelog_text_tree = ''
- for index, text_line in changelog_text_dict.items():
- if index == max_text_lines:
- if not re.search('^\n', text_line):
- changelog_text_tree = changelog_text_tree + text_line
- break
- elif re.search('^#', text_line):
- pass
- elif re.search('^\n', text_line) and re.search('^#', changelog_text_dict[index - 1]):
- pass
- elif re.search('^\n', text_line) and re.search('^\*', changelog_text_dict[index + 1]):
- changelog_text_tree = changelog_text_tree + text_line
- spec_tmp = spec_tmp + 1
- spec = spec + 1
- elif re.search('^\n', text_line) and not re.search('^\*', changelog_text_dict[index + 1]):
- if spec_tmp == spec:
- break
- else:
- spec_tmp = spec_tmp + 1
- changelog_text_tree = changelog_text_tree + text_line
- else:
- changelog_text_tree = changelog_text_tree + text_line
- return changelog_text_tree
+ def get_git_log_pkg_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):
# Make package_metadataDict
@@ -195,20 +177,26 @@ class tbc_package(object):
package_metadataDict = {}
md_email_list = []
herd = None
- pkg_md = MetaDataXML(pkgdir + "/metadata.xml", herd)
- attDict['changelog_text'] = self.get_changelog_text(pkgdir)
- tmp_herds = pkg_md.herds()
- if tmp_herds != ():
- attDict['metadata_xml_herds'] = tmp_herds[0]
- md_email_list.append(attDict['metadata_xml_herds'] + '@gentoo.org')
- for maint in pkg_md.maintainers():
- md_email_list.append(maint.email)
- if md_email_list != []:
- attDict['metadata_xml_email'] = md_email_list
- else:
- log_msg = "Metadata file %s missing Email" % (pkgdir + "/metadata.xml")
+ 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]
+ md_email_list.append(attDict['metadata_xml_herds'] + '@gentoo.org')
+ for maint in pkg_md.maintainers():
+ md_email_list.append(maint.email)
+ if md_email_list != []:
+ attDict['metadata_xml_email'] = md_email_list
+ 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['metadata_xml_descriptions'] = ''
package_metadataDict[package_id] = attDict
return package_metadataDict
@@ -248,7 +236,6 @@ class tbc_package(object):
self.add_new_build_job_db(ebuild_id_list, packageDict, config_cpv_listDict)
def get_manifest_checksum_tree(self, pkgdir, cp, repo, mytree):
-
# Get the cp manifest file checksum.
try:
manifest_checksum_tree = portage.checksum.sha256hash(pkgdir + "/Manifest")[0]
@@ -261,13 +248,6 @@ class tbc_package(object):
log_msg = "C %s:%s ... Fail." % (cp, repo)
add_logs(self._session, log_msg, "error", self._config_id)
return "0"
- fail_msg = digestcheck(self._mysettings, pkgdir)
- if fail_msg:
- log_msg = "QA: Manifest file has errors. :%s:%s" % (cp, repo,)
- add_logs(self._session, log_msg, "error", self._config_id)
- log_msg = "C %s:%s ... Fail." % (cp, repo)
- add_logs(self._session, log_msg, "error", self._config_id)
- return None
return manifest_checksum_tree
def add_new_package_db(self, cp, repo):
@@ -282,10 +262,7 @@ class tbc_package(object):
mytree = []
mytree.append(repodir)
pkgdir = repodir + "/" + cp # Get RepoDIR + cp
-
manifest_checksum_tree = self.get_manifest_checksum_tree(pkgdir, cp, repo, mytree)
- if manifest_checksum_tree is None:
- return
package_id = add_new_package_sql(self._session, cp, repo)
@@ -316,6 +293,7 @@ class tbc_package(object):
if package_metadataDict[package_id]['metadata_xml_descriptions'] != packageDict[cpv]['ebuild_version_descriptions_tree']:
package_metadataDict[package_id]['metadata_xml_descriptions'] = packageDict[cpv]['ebuild_version_descriptions_tree']
+ packageDict[cpv]['new'] = True
self.add_package(packageDict, package_metadataDict, package_id, new_ebuild_id_list, old_ebuild_id_list, manifest_checksum_tree)
log_msg = "C %s:%s ... Done." % (cp, repo)
add_logs(self._session, log_msg, "info", self._config_id)
@@ -332,10 +310,7 @@ class tbc_package(object):
pkgdir = repodir + "/" + cp # Get RepoDIR + cp
mytree = []
mytree.append(repodir)
-
manifest_checksum_tree = self.get_manifest_checksum_tree(pkgdir, cp, repo, mytree)
- if manifest_checksum_tree is None:
- return
# if we NOT have the same checksum in the db update the package
if manifest_checksum_tree != PackageInfo.Checksum:
@@ -361,7 +336,6 @@ class tbc_package(object):
add_old_ebuild(self._session, old_ebuild_id_list)
log_msg = "C %s:%s ... Done." % (cp, repo)
add_logs(self._session, log_msg, "info", self._config_id)
-
else:
log_msg = "QA: Can't get the ebuilds list. %s:%s" % (cp, repo,)
add_logs(self._session, log_msg, "info", self._config_id)
@@ -414,6 +388,7 @@ class tbc_package(object):
# N = New ebuild
log_msg = "N %s:%s" % (cpv, repo,)
add_logs(self._session, log_msg, "info", self._config_id)
+ packageDict[cpv]['new'] = True
elif ebuild_version_checksum_tree != ebuild_version_manifest_checksum_db:
# U = Updated ebuild
log_msg = "U %s:%s" % (cpv, repo,)
diff --git a/pym/tbc/qachecks.py b/pym/tbc/qachecks.py
index 766b572..67b1448 100644
--- a/pym/tbc/qachecks.py
+++ b/pym/tbc/qachecks.py
@@ -19,103 +19,6 @@ from tbc.repoman.main import repoman_main
from tbc.sqlquerys import get_configmetadata_info, get_config_info, get_setup_info
import portage
-# Copy of portage.digestcheck() but without the writemsg() stuff
-def digestcheck(mysettings, pkgdir):
- """
- Verifies checksums. Assumes all files have been downloaded.
- @rtype: int
- @return: 1 on success and 0 on failure
- """
- strict=False
- myfiles = []
- justmanifest = None
- mf = None
-
- if mysettings.get("EBUILD_SKIP_MANIFEST") == "1":
- return False
- hash_filter = _hash_filter(mysettings.get("PORTAGE_CHECKSUM_FILTER", ""))
- if hash_filter.transparent:
- hash_filter = None
- if mf is None:
- mf = mysettings.repositories.get_repo_for_location(
- os.path.dirname(os.path.dirname(pkgdir)))
- mf = mf.load_manifest(pkgdir, mysettings["DISTDIR"])
- try:
- if not mf.thin and strict and "PORTAGE_PARALLEL_FETCHONLY" not in mysettings:
- if mf.fhashdict.get("EBUILD"):
- mf.checkTypeHashes("EBUILD", hash_filter=hash_filter)
- if mf.fhashdict.get("AUX"):
- mf.checkTypeHashes("AUX", hash_filter=hash_filter)
- if mf.fhashdict.get("MISC"):
- mf.checkTypeHashes("MISC", ignoreMissingFiles=True,
- hash_filter=hash_filter)
- for f in myfiles:
- ftype = mf.findFile(f)
- if ftype is None:
- if mf.allow_missing:
- continue
- return ("\n!!! Missing digest for '%s'\n") % f
- mf.checkFileHashes(ftype, f, hash_filter=hash_filter)
- except FileNotFound as e:
- return ("\n!!! A file listed in the Manifest could not be found: %s\n") % str(e)
- except DigestException as e:
- return ("!!! Digest verification failed: %s\nReason: %s\nGot: %s\nExpected: %s\n") \
- % (e.value[0], e.value[1], e.value[2], e.value[3])
- if mf.thin or mf.allow_missing:
- # In this case we ignore any missing digests that
- # would otherwise be detected below.
- return False
- # Make sure that all of the ebuilds are actually listed in the Manifest.
- for f in os.listdir(pkgdir):
- pf = None
- if f[-7:] == '.ebuild':
- pf = f[:-7]
- if pf is not None and not mf.hasFile("EBUILD", f):
- return ("!!! A file is not listed in the Manifest: '%s'\n") % os.path.join(pkgdir, f)
-
- # epatch will just grab all the patches out of a directory, so we have to
- # make sure there aren't any foreign files that it might grab.
- filesdir = os.path.join(pkgdir, "files")
-
- for parent, dirs, files in os.walk(filesdir):
- try:
- parent = _unicode_decode(parent,
- encoding=_encodings['fs'], errors='strict')
- except UnicodeDecodeError:
- parent = _unicode_decode(parent,
- encoding=_encodings['fs'], errors='replace')
- return ("!!! Path contains invalid character(s) for encoding '%s': '%s'\n") % (_encodings['fs'], parent)
- for d in dirs:
- d_bytes = d
- try:
- d = _unicode_decode(d,
- encoding=_encodings['fs'], errors='strict')
- except UnicodeDecodeError:
- d = _unicode_decode(d,
- encoding=_encodings['fs'], errors='replace')
- return ("!!! Path contains invalid character(s) for encoding '%s': '%s'\n") % (_encodings['fs'], os.path.join(parent, d))
- if d.startswith(".") or d == "CVS":
- dirs.remove(d_bytes)
- for f in files:
- try:
- f = _unicode_decode(f,
- encoding=_encodings['fs'], errors='strict')
- except UnicodeDecodeError:
- f = _unicode_decode(f,
- encoding=_encodings['fs'], errors='replace')
- if f.startswith("."):
- continue
- f = os.path.join(parent, f)[len(filesdir) + 1:]
- return ("!!! File name contains invalid character(s) for encoding '%s': '%s'\n") % (_encodings['fs'], f)
- if f.startswith("."):
- continue
- f = os.path.join(parent, f)[len(filesdir) + 1:]
- file_type = mf.findFile(f)
- if file_type != "AUX" and not f.startswith("digest-"):
- return ("!!! A file is not listed in the Manifest: '%s'\n") % os.path.join(filesdir, f)
- return False
-
-
def check_file_in_manifest(pkgdir, mysettings, portdb, cpv, build_use_flags_list, repo):
myfetchlistdict = portage.FetchlistDict(pkgdir, mysettings, portdb)
my_manifest = portage.Manifest(pkgdir, mysettings['DISTDIR'], fetchlist_dict=myfetchlistdict, manifest1_compat=False, from_scratch=False)
diff --git a/pym/tbc/sync.py b/pym/tbc/sync.py
index 12c4c9f..610f357 100644
--- a/pym/tbc/sync.py
+++ b/pym/tbc/sync.py
@@ -74,20 +74,16 @@ def git_sync_main(session):
for repo_dir in git_repos_list(myportdb):
reponame = myportdb.getRepositoryName(repo_dir)
repo = git.Repo(repo_dir)
+ log_msg = "Checking repo %s" % (reponame)
+ add_logs(session, log_msg, "info", config_id)
info_list, repouptodate = git_fetch(repo)
if not repouptodate:
cp_list = []
attr = {}
# We check for Manifest changes and add the package to a list
- for diff_line in repo.git.diff('origin').splitlines():
- if re.search("^diff --git.*/Manifest", diff_line):
- diff_line2 = re.split(' b/', re.sub('diff --git', '', diff_line))
- diff_line3 = re.sub(' a/', '', diff_line2[0])
- if diff_line3 == diff_line2[1] or "Manifest" in diff_line3:
- cp = re.sub('/Manifest', '', diff_line3)
- cp_list.append(cp)
- else:
- cp = re.sub('/Manifest', '', diff_line2[1])
+ for diff_line in repo.git.diff('origin', '--name-only').splitlines():
+ if re.search("Manifest$", diff_line):
+ cp = re.sub('/Manifest', '', diff_line)
cp_list.append(cp)
attr['cp_list'] = cp_list
repo_cp_dict[reponame] = attr
@@ -95,7 +91,8 @@ def git_sync_main(session):
else:
log_msg = "Repo %s is up to date" % (reponame)
add_logs(session, log_msg, "info", config_id)
-
+ log_msg = "Checking repo %s Done" % (reponame)
+ add_logs(session, log_msg, "info", config_id)
# Need to add a clone of profiles/base for reading the tree
try:
os.mkdir(mysettings['PORTDIR'] + "/profiles/config", 0o777)
^ permalink raw reply related [flat|nested] 45+ messages in thread
* [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
@ 2015-08-05 1:10 Magnus Granberg
0 siblings, 0 replies; 45+ messages in thread
From: Magnus Granberg @ 2015-08-05 1:10 UTC (permalink / raw
To: gentoo-commits
commit: 1cbba36a9ea54c96b751728c98e30e0c23fac006
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 5 01:09:51 2015 +0000
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Wed Aug 5 01:09:51 2015 +0000
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=1cbba36a
add remove package and fix some repoman stuff
pym/tbc/build_log.py | 4 ++--
pym/tbc/package.py | 38 ++++++++++++++++++++++----------------
pym/tbc/sqlquerys.py | 5 +++++
3 files changed, 29 insertions(+), 18 deletions(-)
diff --git a/pym/tbc/build_log.py b/pym/tbc/build_log.py
index 71c14b5..d72ef91 100644
--- a/pym/tbc/build_log.py
+++ b/pym/tbc/build_log.py
@@ -32,7 +32,7 @@ from tbc.sqlquerys import add_logs, get_config_id, get_ebuild_id_db, add_new_bui
add_repoman_log
from sqlalchemy.orm import sessionmaker
-def repoman_check_full(session, pkgdir, package_id, config_id):
+def check_repoman_full(session, pkgdir, package_id, config_id):
# Check cp with repoman repoman full
status = repoman_full(session, pkgdir, config_id)
repoman_hash = hashlib.sha256()
@@ -224,7 +224,7 @@ def get_buildlog_info(session, settings, pkg, build_dict):
categories = element[0]
package = element[1]
pkgdir = myportdb.getRepositoryPath(build_dict['repo']) + "/" + categories + "/" + package
- repoman_error_list = repoman_check_full(session, pkgdir, build_dict['package_id'], config_id)
+ repoman_error_list = check_repoman_full(session, pkgdir, build_dict['package_id'], config_id)
build_log_dict = {}
build_log_dict['fail'] = False
if repoman_error_list:
diff --git a/pym/tbc/package.py b/pym/tbc/package.py
index 657c90d..0bb41eb 100644
--- a/pym/tbc/package.py
+++ b/pym/tbc/package.py
@@ -16,7 +16,7 @@ from tbc.sqlquerys import add_logs, get_package_info, get_config_info, \
get_package_metadata_sql, update_package_metadata, update_manifest_sql, \
get_package_info_from_package_id, get_config_all_info, add_new_package_sql, \
get_ebuild_checksums, get_ebuild_id_db, get_configmetadata_info, get_setup_info, \
- get_ebuild_info_ebuild_id, get_ebuild_restrictions
+ get_ebuild_info_ebuild_id, get_ebuild_restrictions, add_old_package
class tbc_package(object):
@@ -159,6 +159,7 @@ class tbc_package(object):
log_msg = "B %s:%s USE: %s Setup: %s" % (k, v['repo'], use_flagsDict, setup_id,)
add_logs(self._session, log_msg, "info", self._config_id)
i = i +1
+
def get_changelog_text(self, pkgdir):
changelog_text_dict, max_text_lines = get_log_text_dict(pkgdir + "/ChangeLog")
spec = 3
@@ -214,7 +215,7 @@ class tbc_package(object):
def add_package(self, packageDict, package_metadataDict, package_id, new_ebuild_id_list, old_ebuild_id_list, manifest_checksum_tree):
# Use packageDict to update the db
ebuild_id_list = add_new_ebuild_sql(self._session, packageDict)
-
+
# Make old ebuilds unactive
for ebuild_id in ebuild_id_list:
new_ebuild_id_list.append(ebuild_id)
@@ -286,12 +287,13 @@ class tbc_package(object):
return
package_id = add_new_package_sql(self._session, cp, repo)
-
+
# 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." % (cpv, repo)
- add_logs(self._session, log_msg, "error", self._config_id)
+ log_msg = "Repoman %s::%s ... Fail." % (cp, repo)
+ add_logs(self._session, log_msg, "error", self._config_id)
+
package_metadataDict = self.get_package_metadataDict(pkgdir, package_id)
# Get the ebuild list for cp
ebuild_list_tree = self._myportdb.cp_list(cp, use_cache=1, mytree=mytree)
@@ -308,7 +310,7 @@ class tbc_package(object):
old_ebuild_id_list = []
for cpv in sorted(ebuild_list_tree):
packageDict[cpv] = self.get_packageDict(pkgdir, cpv, repo)
-
+
# take package descriptions from the ebuilds
if package_metadataDict[package_id]['metadata_xml_descriptions'] != packageDict[cpv]['ebuild_version_descriptions_tree']:
package_metadataDict[package_id]['metadata_xml_descriptions'] = packageDict[cpv]['ebuild_version_descriptions_tree']
@@ -329,6 +331,7 @@ class tbc_package(object):
pkgdir = repodir + "/" + cp # Get RepoDIR + cp
mytree = []
mytree.append(repodir)
+
manifest_checksum_tree = self.get_manifest_checksum_tree(pkgdir, cp, repo, mytree)
if manifest_checksum_tree is None:
return
@@ -340,17 +343,11 @@ class tbc_package(object):
log_msg = "U %s:%s" % (cp, repo)
add_logs(self._session, log_msg, "info", self._config_id)
- # 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." % (cpv, repo)
- add_logs(self._session, log_msg, "error", self._config_id)
-
# 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 == []:
- if manifest_checksum_tree != "0":
+ if manifest_checksum_tree == "0":
old_ebuild_id_list = get_ebuild_id_list(self._session, package_id)
for ebuild_id in old_ebuild_id_list:
EbuildInfo = get_ebuild_info_ebuild_id(self._session, ebuild_id)
@@ -358,15 +355,24 @@ class tbc_package(object):
# R = remove ebuild
log_msg = "R %s:%s" % (cpv, repo,)
add_logs(self._session, log_msg, "info", self._config_id)
+ if not os.path.isdir(pkgdir):
+ add_old_package(self._session, package_id)
add_old_ebuild(self._session, old_ebuild_id_list)
log_msg = "C %s:%s ... Done." % (cp, repo)
add_logs(self._session, log_msg, "info", self._config_id)
+
else:
log_msg = "QA: Can't get the ebuilds list. %s:%s" % (cp, repo,)
add_logs(self._session, log_msg, "info", self._config_id)
log_msg = "C %s:%s ... Fail." % (cp, repo)
add_logs(self._session, log_msg, "info", self._config_id)
return
+
+ # 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)
+ add_logs(self._session, log_msg, "error", self._config_id)
package_metadataDict = self.get_package_metadataDict(pkgdir, package_id)
packageDict ={}
new_ebuild_id_list = []
@@ -374,14 +380,14 @@ class tbc_package(object):
# split out ebuild version
ebuild_version_tree = portage.versions.cpv_getversion(cpv)
-
+
# Get packageDict for cpv
packageDict[cpv] = self.get_packageDict(pkgdir, cpv, repo)
-
+
# take package descriptions from the ebuilds
if package_metadataDict[package_id]['metadata_xml_descriptions'] != packageDict[cpv]['ebuild_version_descriptions_tree']:
package_metadataDict[package_id]['metadata_xml_descriptions'] = packageDict[cpv]['ebuild_version_descriptions_tree']
-
+
# Get the checksum of the ebuild in tree and db
ebuild_version_checksum_tree = packageDict[cpv]['checksum']
checksums_db, fail = get_ebuild_checksums(self._session, package_id, ebuild_version_tree)
diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index 4d2a5e5..7791e6e 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -453,6 +453,11 @@ def add_old_ebuild(session, old_ebuild_list):
for build_job in build_job_id_list:
del_old_build_jobs(session, build_job.BuildJobId)
+def add_old_package(session, package_id):
+ PackagesInfo = session.query(Packages).filter_by(PackageId = package_id).one()
+ PackagesInfo.Active = False
+ session.commit()
+
def add_new_package_sql(session, cp, repo):
element = cp.split('/')
categories = element[0]
^ permalink raw reply related [flat|nested] 45+ messages in thread
end of thread, other threads:[~2018-02-05 2:53 UTC | newest]
Thread overview: 45+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-20 22:13 [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/ Magnus Granberg
-- strict thread matches above, loose matches on Subject: below --
2018-02-05 2:52 Magnus Granberg
2017-01-15 19:57 Magnus Granberg
2017-01-08 15:33 Magnus Granberg
2017-01-08 15:33 Magnus Granberg
2016-12-22 18:31 Magnus Granberg
2016-12-22 11:29 Magnus Granberg
2016-12-22 11:29 Magnus Granberg
2016-12-22 11:29 Magnus Granberg
2016-12-22 10:15 Magnus Granberg
2016-12-22 10:11 Magnus Granberg
2016-12-22 10:11 Magnus Granberg
2016-12-20 21:21 Magnus Granberg
2016-12-20 21:16 Magnus Granberg
2016-12-20 20:25 Magnus Granberg
2016-12-20 20:25 Magnus Granberg
2016-12-20 20:25 Magnus Granberg
2016-12-10 16:17 Magnus Granberg
2016-12-05 21:11 Magnus Granberg
2016-11-20 15:37 Magnus Granberg
2016-11-15 21:58 Magnus Granberg
2016-03-06 17:47 Magnus Granberg
2016-03-03 15:26 Magnus Granberg
2016-03-02 20:50 Magnus Granberg
2016-02-29 23:01 Magnus Granberg
2016-02-22 18:33 Magnus Granberg
2016-02-22 18:11 Magnus Granberg
2016-02-22 17:08 Magnus Granberg
2016-02-20 12:12 Magnus Granberg
2016-02-10 20:24 Magnus Granberg
2016-02-02 23:13 Magnus Granberg
2016-01-31 13:39 Magnus Granberg
2016-01-27 5:21 Magnus Granberg
2016-01-26 23:16 Magnus Granberg
2016-01-26 20:29 Magnus Granberg
2016-01-25 22:48 Magnus Granberg
2016-01-18 20:26 Magnus Granberg
2016-01-10 12:53 Magnus Granberg
2016-01-07 7:33 Magnus Granberg
2015-12-21 22:54 Magnus Granberg
2015-12-20 0:12 Magnus Granberg
2015-10-06 19:31 Magnus Granberg
2015-09-06 20:29 Magnus Granberg
2015-09-03 21:03 Magnus Granberg
2015-08-05 1:10 Magnus Granberg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox