Gentoo Archives: gentoo-commits

From: Magnus Granberg <zorry@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] dev/zorry:master commit in: gobs/bin/
Date: Fri, 29 Jul 2011 15:31:35
Message-Id: 467f8f50912235c3ea0be555f98abd394e3ece93.zorry@gentoo
1 commit: 467f8f50912235c3ea0be555f98abd394e3ece93
2 Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jul 29 15:16:53 2011 +0000
4 Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
5 CommitDate: Fri Jul 29 15:16:53 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=dev/zorry.git;a=commit;h=467f8f50
7
8 Updated the bins
9
10 ---
11 gobs/bin/gobs_buildquerys | 144 +-------------------------------------------
12 gobs/bin/portage_hooks | 41 +++++++------
13 2 files changed, 26 insertions(+), 159 deletions(-)
14
15 diff --git a/gobs/bin/gobs_buildquerys b/gobs/bin/gobs_buildquerys
16 index bc7e320..87f1218 100755
17 --- a/gobs/bin/gobs_buildquerys
18 +++ b/gobs/bin/gobs_buildquerys
19 @@ -14,160 +14,24 @@ elif CM.getName()=='mysql':
20 from gobs.querys.mysql import *
21
22 from gobs.check_setup import check_configure_guest
23 -from gobs.flags import gobs_use_flags
24 -from gobs.manifest import gobs_manifest
25 -from _emerge.main import emerge_main
26 +from gobs.build_queru import queruaction
27 import portage
28 import sys
29 import os
30
31 -def log_qa_error(connection, build_dict, what_error, fail_error, config_id):
32 - ebuild_id_list = []
33 - qa_error_list = []
34 - repoman_error = []
35 - ebuild_version = build_dict['ebuild_version']
36 - attDict = {}
37 - packageDict = {}
38 - attDict['ebuild_error'] = repoman_error
39 - packageDict[ebuild_version] = attDict
40 - qa_error_list.append(fail_error)
41 - fail_times = check_fail_times(connection, build_dict['queue_id'], what_error)
42 - if fail_times is None:
43 - add_fail_times(connection, build_dict['queue_id'], what_error)
44 - else:
45 - if fail_times[0] > 5:
46 - return
47 - elif fail_times[0] == 5:
48 - ebuild_id_list.append(build_dict['ebuild_id'])
49 - add_qa_repoman(connection, ebuild_id_list, qa_error_list, packageDict, config_id)
50 - del_old_queue(connection, build_dict['queue_id'])
51 - return
52 - update_fail_times(connection, build_dict['queue_id'], what_error, fail_times[0])
53 -
54 -def get_cpv_build_list(connection, build_dict, config_profile):
55 - build_cpv_dict = {}
56 - cpv_dict = {}
57 - cpv_list = "1"
58 - mysettings = portage.settings
59 - #myportdb = portage.portdbapi(mysettings=mysettings)
60 - myportdb = portage.portdb
61 - #porttree = portage.portagetree(settings=mysettings)
62 - #trees = {"/" : {"porttree":porttree}}
63 - #dep_keys = ("DEPEND", "RDEPEND", "PDEPEND")
64 - pkgdir = os.path.join(mysettings['PORTDIR'], build_dict['categories'] + "/" + build_dict['package'])
65 - init_manifest = gobs_manifest(mysettings, pkgdir)
66 - try:
67 - ebuild_version_checksum_tree = portage.checksum.sha256hash(pkgdir+ "/" + build_dict['package'] + "-" + build_dict['ebuild_version'] + ".ebuild")[0]
68 - except:
69 - ebuild_version_checksum_tree = None
70 - print ebuild_version_checksum_tree, build_dict['ebuild_checksum']
71 - ebuild_version_checksum_db = have_activ_ebuild_id(connection, build_dict['ebuild_id'])
72 - print 'ebuild_version_checksum_db', ebuild_version_checksum_db
73 - if ebuild_version_checksum_db is None:
74 - print "queue_id don't have active ebuild_id"
75 - del_old_queue(connection, build_dict['queue_id'])
76 - return None
77 - if ebuild_version_checksum_tree != build_dict['ebuild_checksum']:
78 - new_queue_id = check_revision(connection, build_dict, config_profile, ebuild_version_checksum_tree)
79 - if new_queue_id is None:
80 - return None
81 - # FIXME use log_qa_error()
82 - if check_fail_times(build_dict['queue_id'], "cpv_checksum") is False:
83 - update_fail_times(build_dict['queue_id'], "cpv_checksum")
84 - else:
85 - add_cpv_fail(build_dict['queue_id'], "cpv_checksum")
86 - return None
87 - build_dict = get_package_to_build(connection,config_profile, new_queue_id)
88 - categories = build_dict['categories']
89 - package = build_dict['package']
90 - ebuild_version = build_dict['ebuild_version']
91 - ebuild_version_useflags = build_dict['build_useflags']
92 - build_massage = build_dict['post_message']
93 - cpv = unicode(categories + "/" + package + "-" + ebuild_version)
94 - cp = unicode(categories + "/" + package)
95 - init_flags = gobs_use_flags(mysettings, myportdb, cpv)
96 - #mysettings['O'] = pkgdir
97 - print portage.getmaskingstatus(cpv, settings=mysettings, portdb=myportdb)
98 - if portage.getmaskingstatus(cpv, settings=mysettings, portdb=myportdb) != []:
99 - # FIXME use log_qa_error()
100 - if check_fail_times(build_dict['queue_id'], "cpv_mask") is False:
101 - update_fail_times(build_dict['queue_id'], "cpv_mask")
102 - else:
103 - add_cpv_fail(build_dict['queue_id'], "cpv_mask")
104 - return None
105 - build_use_flags_list = init_flags.comper_useflags(build_dict)
106 - manifest_error = init_manifest.check_file_in_manifest(myportdb, cpv, build_dict, build_use_flags_list)
107 - print 'manifest_error', manifest_error
108 - if manifest_error is not None:
109 - what_error = "cpv_manifest"
110 - log_qa_error(connection, build_dict, what_error, manifest_error, config_profile)
111 - return None
112 - build_cpv_dict = init_flags.get_needed_dep_useflags(build_use_flags_list)
113 - print build_cpv_dict, build_use_flags_list, cpv
114 - build_use_flags_dict = {}
115 - if build_use_flags_list is None:
116 - build_use_flags_dict['None'] = None
117 - if build_cpv_dict is None:
118 - build_cpv_dict = {}
119 - build_cpv_dict[cpv] = build_use_flags_dict
120 - else:
121 - build_cpv_dict[cpv] = build_use_flags_dict
122 - print build_cpv_dict
123 - return build_cpv_dict
124 -
125 def main_loop(CM, config_profile):
126 repeat = True
127 - new = False
128 - queue_id_list = 43280
129 #get a connection from the pool
130 conn=CM.getConnection()
131 + init_queru = queruaction(config_profile)
132 + fail_querue_dict = {}
133 while repeat:
134 - build_cpv_dict = {}
135 - build_dict = {}
136 if check_configure_guest(conn, config_profile) is not True:
137 # time.sleep(60)
138 continue # retunr to the start of the function
139 else:
140 - build_dict = get_package_to_build(conn,config_profile, queue_id_list, new)
141 - print "build_dict['ebuild_id'] build_dict['post_message']", build_dict['ebuild_id'], build_dict['post_message']
142 - if build_dict['ebuild_id'] is None:
143 - if build_dict['post_message'] is None:
144 - # time.sleep(60)
145 - print "build_dict none"
146 - queue_id_list = queue_id_list + 1
147 - print queue_id_list
148 - continue # return to the start of the function
149 - build_cpv_dict = get_cpv_build_list(conn, build_dict, config_profile)
150 - if build_cpv_dict is None:
151 - queue_id_list = queue_id_list + 1
152 - continue # return to the start of the function
153 - build_cpv_list = []
154 - for k, v in build_cpv_dict.iteritems():
155 - build_use_flags_list = []
156 - for x, y in v.iteritems():
157 - if y is True:
158 - build_use_flags_list.append(x)
159 - if y is False:
160 - build_use_flags_list.append("-" + x)
161 - print k, build_use_flags_list
162 - if build_use_flags_list == []:
163 - build_cpv_list.append("=" + k)
164 - else:
165 - build_use_flags = ""
166 - for flags in build_use_flags_list:
167 - build_use_flags = build_use_flags + flags + ","
168 - build_cpv_list.append("=" + k + "[" + build_use_flags + "]")
169 - print build_cpv_list
170 - argscmd = []
171 - # argscmd.append("--buildpkg")
172 - # argscmd.append("--usepkg")
173 - argscmd.append("--oneshot")
174 - for build_cpv in build_cpv_list:
175 - argscmd.append(build_cpv)
176 - print argscmd
177 - emerge_main(args=argscmd)
178 + fail_querue_list = init_queru.procces_qureru(fail_querue_dict)
179 sys.exit()
180 - queue_id_list = queue_id_list + 1
181 CM.putConnection(conn)
182
183 def main():
184
185 diff --git a/gobs/bin/portage_hooks b/gobs/bin/portage_hooks
186 index 97c2576..bdb1699 100755
187 --- a/gobs/bin/portage_hooks
188 +++ b/gobs/bin/portage_hooks
189 @@ -1,5 +1,7 @@
190 #!/usr/bin/python
191 -
192 +from __future__ import print_function
193 +import os
194 +import sys
195 # Get the options from the config file set in gobs.readconf
196 from gobs.readconf import get_conf_settings
197 reader=get_conf_settings()
198 @@ -16,10 +18,10 @@ elif CM.getName()=='mysql':
199 from gobs.package import gobs_package
200 from gobs.build_log import gobs_buildlog
201 from gobs.flags import gobs_use_flags
202 +from portage.util import writemsg, writemsg_level, writemsg_stdout
203 import portage
204 -import os
205
206 -def get_build_dict_db(CM, mysettings, config_profile, gobs_settings_dict):
207 +def get_build_dict_db(mysettings, config_profile, gobs_settings_dict):
208 conn=CM.getConnection()
209 myportdb = portage.portdbapi(mysettings=mysettings)
210 categories = os.environ['CATEGORY']
211 @@ -27,9 +29,9 @@ def get_build_dict_db(CM, mysettings, config_profile, gobs_settings_dict):
212 ebuild_version = os.environ['PVR']
213 cpv = categories + "/" + package + "-" + ebuild_version
214 init_package = gobs_package(mysettings, CM, myportdb, gobs_settings_dict)
215 - print "cpv", cpv
216 + print("cpv", cpv)
217 package_id = have_package_db(conn, categories, package)
218 - print "package_id", package_id
219 + # print("package_id %s" % package_id, file=sys.stdout)
220 build_dict = {}
221 mybuild_dict = {}
222 build_dict['ebuild_version'] = ebuild_version
223 @@ -40,37 +42,38 @@ def get_build_dict_db(CM, mysettings, config_profile, gobs_settings_dict):
224 build_dict['config_profile'] = config_profile
225 init_useflags = gobs_use_flags(mysettings, myportdb, cpv)
226 iuse_flags_list, final_use_list = init_useflags.get_flags_looked()
227 - print 'final_use_list', final_use_list
228 + #print 'final_use_list', final_use_list
229 if final_use_list != []:
230 build_dict['build_useflags'] = final_use_list
231 else:
232 build_dict['build_useflags'] = None
233 - print "build_dict['build_useflags']", build_dict['build_useflags']
234 + #print "build_dict['build_useflags']", build_dict['build_useflags']
235 pkgdir = os.path.join(mysettings['PORTDIR'], categories + "/" + package)
236 ebuild_version_checksum_tree = portage.checksum.sha256hash(pkgdir+ "/" + package + "-" + ebuild_version + ".ebuild")[0]
237 build_dict['checksum'] = ebuild_version_checksum_tree
238 - print 'checksum' ,ebuild_version_checksum_tree
239 + print('checksum' ,ebuild_version_checksum_tree)
240 ebuild_id = get_ebuild_id_db_checksum(conn, build_dict)
241 - print 'ebuild_id in db', ebuild_id
242 + print('ebuild_id in db', ebuild_id)
243 if ebuild_id is None:
244 - print 'have any ebuild', get_ebuild_checksum(conn, package_id, ebuild_version)
245 + #print 'have any ebuild', get_ebuild_checksum(conn, package_id, ebuild_version)
246 init_package.update_ebuild_db(build_dict)
247 - queue_id = check_revision(conn, build_dict, config_profile, ebuild_version_checksum_tree)
248 - print "queue_id", queue_id
249 + ebuild_id = get_ebuild_id_db_checksum(conn, build_dict)
250 + build_dict['ebuild_id'] = ebuild_id
251 + queue_id = check_revision(conn, build_dict)
252 + print("queue_id in db", queue_id)
253 if queue_id is None:
254 - init_package.add_new_ebuild_buildquery_db_looked(build_dict, config_profile)
255 - queue_id = check_revision(conn, build_dict, config_profile, ebuild_version_checksum_tree)
256 - mybuild_dict = get_package_to_build(conn, config_profile, queue_id, new = True)
257 - print 'mybuild_dict', mybuild_dict
258 - return mybuild_dict
259 + build_dict['queue_id'] = None
260 + else:
261 + build_dict['queue_id'] = queue_id
262 + return build_dict
263
264 def main():
265 # Main
266 config_profile = gobs_settings_dict['gobs_config']
267 #we provide the main_loop with the ConnectionManager so we can hand out connections from within the loop
268 mysettings = portage.settings
269 - build_dict = get_build_dict_db(CM, mysettings, config_profile, gobs_settings_dict)
270 - init_buildlog = gobs_buildlog(CM ,mysettings, build_dict, config_profile)
271 + build_dict = get_build_dict_db( mysettings, config_profile, gobs_settings_dict)
272 + init_buildlog = gobs_buildlog(mysettings, build_dict)
273 init_buildlog.add_buildlog_main()
274 #connectionManager.closeAllConnections()