public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Magnus Granberg" <zorry@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] dev/zorry:master commit in: gobs/bin/, gobs/pym/
Date: Wed,  5 Dec 2012 23:56:11 +0000 (UTC)	[thread overview]
Message-ID: <1354751751.85cb8ba66d5e4589f8197fb5cff9f235b39a8a5d.zorry@gentoo> (raw)

commit:     85cb8ba66d5e4589f8197fb5cff9f235b39a8a5d
Author:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Wed Dec  5 23:55:51 2012 +0000
Commit:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Wed Dec  5 23:55:51 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=dev/zorry.git;a=commit;h=85cb8ba6

fist commit for the guest db change

---
 gobs/bin/gobs_guest_jobs |    2 +-
 gobs/pym/build_queru.py  |   22 +++++++++++-------
 gobs/pym/pgsql_querys.py |   54 ++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 68 insertions(+), 10 deletions(-)

diff --git a/gobs/bin/gobs_guest_jobs b/gobs/bin/gobs_guest_jobs
index c3bd6ec..43d0028 100755
--- a/gobs/bin/gobs_guest_jobs
+++ b/gobs/bin/gobs_guest_jobs
@@ -10,7 +10,7 @@ from gobs.ConnectionManager import connectionManager
 CM=connectionManager(gobs_settings_dict)
 #selectively import the pgsql/mysql querys
 if CM.getName()=='pgsql':
-	from gobs.pgsql import *
+	from gobs.pgsql_querys import *
 
 from gobs.check_setup import check_configure_guest
 from gobs.build_queru import queruaction

diff --git a/gobs/pym/build_queru.py b/gobs/pym/build_queru.py
index d74208c..498a6d7 100644
--- a/gobs/pym/build_queru.py
+++ b/gobs/pym/build_queru.py
@@ -8,7 +8,7 @@ from gobs.ConnectionManager import connectionManager
 CM=connectionManager(gobs_settings_dict)
 #selectively import the pgsql/mysql querys
 if CM.getName()=='pgsql':
-	from gobs.pgsql import *
+	from gobs.pgsql_querys import *
 
 import portage
 import os
@@ -67,7 +67,7 @@ class queruaction(object):
 		print('fail_querue_dict', fail_querue_dict)
 		if fail_querue_dict is None:
 			fail_querue_dict = {}
-			fail_querue_dict['querue_id'] = build_dict['queue_id']
+			fail_querue_dict['build_job_id'] = build_dict['build_job_id']
 			fail_querue_dict['fail_type'] = build_dict['type_fail']
 			fail_querue_dict['fail_times'] = 1
 			print('fail_querue_dict', fail_querue_dict)
@@ -75,7 +75,7 @@ class queruaction(object):
 		else:
 			if fail_querue_dict['fail_times'][0] < 6:
 				fail_querue_dict['fail_times'] = fail_querue_dict['fail_times'][0] + 1
-				fail_querue_dict['querue_id'] = build_dict['queue_id']
+				fail_querue_dict['build_job_id'] = build_dict['build_job_id']
 				fail_querue_dict['fail_type'] = build_dict['type_fail']
 				update_fail_times(conn, fail_querue_dict)
 				CM.putConnection(conn)
@@ -109,7 +109,7 @@ class queruaction(object):
 					os.chmod(settings.get("PORTAGE_LOG_FILE"), 0o224)
 				else:
 					build_log_dict['logfilename'] = ""
-				move_queru_buildlog(conn, build_dict['queue_id'], build_error, summary_error, build_log_dict)
+				move_queru_buildlog(conn, build_dict['build_job_id'], build_error, summary_error, build_log_dict)
 		CM.putConnection(conn)
 
 	def action_build(self, settings, trees, mtimedb, myopts, myaction, myfiles, spinner, build_dict):
@@ -626,11 +626,15 @@ class queruaction(object):
 
 	def make_build_list(self, build_dict, settings, portdb):
 		conn=CM.getConnection()
-		cpv = build_dict['category']+'/'+build_dict['package']+'-'+build_dict['ebuild_version']
-		pkgdir = os.path.join(settings['PORTDIR'], build_dict['category'] + "/" + build_dict['package'])
+		package_id = build_dict['package_id']
+		cp, repo = get_cp_repo_from_package_id(conn, package_id)
+		element = cp.split('/')
+		package = element[1]
+		cpv = cp + "-" + build_dict['ebuild_version']
+		pkgdir = self._myportdb.getRepositoryPath(repo) + "/" + cp
 		init_manifest =  gobs_manifest(settings, pkgdir)
 		try:
-			ebuild_version_checksum_tree = portage.checksum.sha256hash(pkgdir+ "/" + build_dict['package'] + "-" + build_dict['ebuild_version'] + ".ebuild")[0]
+			ebuild_version_checksum_tree = portage.checksum.sha256hash(pkgdir + "/" + package + "-" + build_dict['ebuild_version'] + ".ebuild")[0]
 		except:
 			ebuild_version_checksum_tree = None
 		if ebuild_version_checksum_tree == build_dict['checksum']:
@@ -704,8 +708,8 @@ class queruaction(object):
 			pass
 		build_dict2 = {}
 		build_dict2 = get_packages_to_build(conn, self._config_profile)
-		if build_dict['queue_id'] == build_dict2['queue_id']:
-			log_msg = "qurery %s was not removed" % (build_dict['queue_id'],)
+		if build_dict['build_job_id'] == build_dict2['build_job_id']:
+			log_msg = "qurery %s was not removed" % (build_dict['build_job_id'],)
 			add_gobs_logs(conn, log_msg, "info", self._config_profile)
 			print("qurery was not removed")
 			build_dict['type_fail'] = "Querey was not removed"

diff --git a/gobs/pym/pgsql_querys.py b/gobs/pym/pgsql_querys.py
index 3c0813d..6f75e53 100644
--- a/gobs/pym/pgsql_querys.py
+++ b/gobs/pym/pgsql_querys.py
@@ -314,3 +314,57 @@ def del_old_build_jobs(connection, queue_id):
 	cursor.execute(sqlQ2, (build_job_id,))
 	cursor.execute(sqlQ3, (build_job_id,))
 	connection.commit()
+
+def get_packages_to_build(connection, config):
+	cursor =connection.cursor()
+	sqlQ1 = "SELECT build_job_id.build_jobs, ebuild_id.build_jobs, package_id.ebuilds FROM build_jobs, ebuilds WHERE config_id.build_jobs = (SELECT config_id FROM configs WHERE config = %s)
+ 		AND extract(epoch from (NOW()) - timestamp.build_jobs) > 7200 AND ebuild_id.build_jobs = ebuild_id.ebuilds
+ 		AND ebuilds.active = 'True' ORDER BY LIMIT 1"
+	sqlQ2 = 'SELECT version, checksum FROM ebuilds WHERE ebuild_id = %s'
+	sqlQ3 = 'SELECT flag.uses, status.build_jobs_use FROM build_jobs_use, uses WHERE build_job_id.build_jobs_use = %s use_id.build_jobs_use = use_id.uses'
+	cursor.execute(sqlQ1, (config,))
+	build_dict={}
+	entries = cursor.fetchone()
+	if entries is None:
+ 		return None
+	build_dict['build_job_id'] = entries[0]
+	build_dict['ebuild_id']= entries[1]
+	build_dict['package_id'] = entries[2]
+	cursor.execute(sqlQ2, (entries[1],))
+	entries = cursor.fetchone()
+	build_dict['ebuild_version'] = entries[0]
+	build_dict['checksum']=entries[1]
+	#add a enabled and disabled list to the objects in the item list
+	cursor.execute(sqlQ3, (build_dict['build_job_id'],))
+	uses={}
+	for row in cursor.fetchall():
+ 		uses[ row[0] ] = row[1]
+	build_dict['build_useflags']=uses
+	return build_dict
+
+def update_fail_times(connection, fail_querue_dict):
+	cursor = connection.cursor()
+	sqlQ1 = 'UPDATE build_jobs_retest SET fail_times = %s WHERE build_job_id = %s AND fail_type = %s'
+	sqlQ2 = 'UPDATE build_jobs SET time_stamp = NOW() WHERE build_job_id = %s'
+	cursor.execute(sqlQ1, (fail_querue_dict['fail_times'], fail_querue_dict['build_job_id'], fail_querue_dict['fail_type'],))
+	cursor.execute(sqlQ2, (fail_querue_dict['build_job_id'],))
+	connection.commit()
+
+def get_fail_querue_dict(connection, build_dict):
+	cursor = connection.cursor()
+	fail_querue_dict = {}
+	sqlQ = 'SELECT fail_times FROM build_jobs_retest WHERE build_job_id = %s AND fail_type = %s'
+	cursor.execute(sqlQ, (build_dict['build_job_id'], build_dict['type_fail'],))
+	entries = cursor.fetchone()
+	if entries is None:
+		return None
+	fail_querue_dict['fail_times'] = entries
+	return fail_querue_dict
+
+def add_fail_querue_dict(connection, fail_querue_dict):
+	cursor = connection.cursor()
+	sqlQ1 = 'INSERT INTO build_jobs_retest (build_job_id, fail_type, fail_times) VALUES ( %s, %s, %s)'
+	sqlQ2 = 'UPDATE build_jobs SET time_stamp = NOW() WHERE build_job_id = %s'
+	cursor.execute(sqlQ1, (fail_querue_dict['build_job_id'],fail_querue_dict['fail_type'], fail_querue_dict['fail_times']))
+	cursor.execute(sqlQ2, (fail_querue_dict['build_job_id'],))
+	connection.commit()
\ No newline at end of file


             reply	other threads:[~2012-12-05 23:56 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-05 23:56 Magnus Granberg [this message]
  -- strict thread matches above, loose matches on Subject: below --
2012-12-27 23:09 [gentoo-commits] dev/zorry:master commit in: gobs/bin/, gobs/pym/ Magnus Granberg
2012-12-23 17:09 Magnus Granberg
2012-12-22  2:59 Magnus Granberg
2012-12-21  1:44 Magnus Granberg
2012-12-19  2:11 Magnus Granberg
2012-12-07 14:07 Magnus Granberg
2012-11-29 22:22 Magnus Granberg
2012-07-17  0:07 Magnus Granberg
2012-06-26 22:10 Magnus Granberg
2012-05-13 17:59 Magnus Granberg
2012-05-09 23:12 Magnus Granberg
2012-05-06 10:41 Magnus Granberg
2012-05-04 22:32 Magnus Granberg
2012-05-01  1:12 Magnus Granberg
2012-04-30 12:08 Magnus Granberg
2012-04-29 14:43 Magnus Granberg
2012-04-29 13:16 Magnus Granberg
2012-04-29 13:13 Magnus Granberg
2012-04-28 16:01 Magnus Granberg
2012-04-27 22:22 Magnus Granberg
2012-04-27 20:59 Magnus Granberg
2011-11-01 21:14 Magnus Granberg
2011-10-29  0:14 Magnus Granberg
2011-09-28 10:53 Magnus Granberg
2011-09-28  0:33 Magnus Granberg
2011-09-26 23:25 Magnus Granberg
2011-08-31  1:46 Magnus Granberg
2011-08-30 23:02 Magnus Granberg
2011-07-31 13:43 Magnus Granberg
2011-04-24 22:13 Magnus Granberg
2011-04-23 14:23 Magnus Granberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1354751751.85cb8ba66d5e4589f8197fb5cff9f235b39a8a5d.zorry@gentoo \
    --to=zorry@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox