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() |