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/pym/
Date: Mon, 31 Oct 2011 21:32:50
Message-Id: d0d469c1afdab7795b97dccf02272bd6fc997611.zorry@gentoo
1 commit: d0d469c1afdab7795b97dccf02272bd6fc997611
2 Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
3 AuthorDate: Mon Oct 31 21:32:12 2011 +0000
4 Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
5 CommitDate: Mon Oct 31 21:32:12 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=dev/zorry.git;a=commit;h=d0d469c1
7
8 fix bugs in gobs_setup_profile
9
10 ---
11 gobs/pym/init_setup_profile.py | 47 +++++++++++++++++++++++-----------------
12 gobs/pym/package.py | 33 ++++++++++++---------------
13 gobs/pym/pgsql.py | 17 ++++++++------
14 3 files changed, 52 insertions(+), 45 deletions(-)
15
16 diff --git a/gobs/pym/init_setup_profile.py b/gobs/pym/init_setup_profile.py
17 index cc799cb..e647e1f 100644
18 --- a/gobs/pym/init_setup_profile.py
19 +++ b/gobs/pym/init_setup_profile.py
20 @@ -48,32 +48,39 @@ def setup_profile_main(args=None):
21 config_id_list = []
22 config_id_list.append(config_id)
23 for package_line in sorted(package_list_tree):
24 - build_dict = {}
25 - packageDict = {}
26 - ebuild_id_list = []
27 - # split the cp to categories and package
28 - element = package_line.split('/')
29 - categories = element[0]
30 - package = element[1]
31 - print "C", categories + "/" + package # C = Checking
32 - pkgdir = mysettings['PORTDIR'] + "/" + categories + "/" + package
33 - config_cpv_listDict = init_package.config_match_ebuild(categories, package, config_id_list)
34 - if config_cpv_listDict != {}:
35 - packageDict['ebuild_version_tree'] = config_cpv_listDict['ebuild_version']
36 - build_dict['checksum'] = portage.checksum.sha256hash(pkgdir + "/" + package + "-" + config_cpv_listDict['ebuild_version'] + ".ebuild")[0]
37 - build_dict['package_id'] = have_package_db(categories, package)
38 - build_dict['ebuild_version'] = config_cpv_listDict['ebuild_version']
39 - ebuild_id = get_ebuild_id_db_checksum(connection, build_dict)
40 - if ebuild_id is not None:
41 - ebuild_id_list.append(ebuild_id)
42 - init_package.add_new_ebuild_buildquery_db(ebuild_id_list, packageDict, config_cpv_listDict)
43 + # FIXME: remove the check for gobs when in tree
44 + if package_line != "dev-python/gobs":
45 + build_dict = {}
46 + packageDict = {}
47 + ebuild_id_list = []
48 + # split the cp to categories and package
49 + element = package_line.split('/')
50 + categories = element[0]
51 + package = element[1]
52 + print "C", categories + "/" + package # C = Checking
53 + pkgdir = mysettings['PORTDIR'] + "/" + categories + "/" + package
54 + config_cpv_listDict = init_package.config_match_ebuild(categories, package, config_id_list)
55 + if config_cpv_listDict != {}:
56 + cpv = categories + "/" + package + "-" + config_cpv_listDict[config_id]['ebuild_version']
57 + attDict = {}
58 + attDict['categories'] = categories
59 + attDict['package'] = package
60 + attDict['ebuild_version_tree'] = config_cpv_listDict[config_id]['ebuild_version']
61 + packageDict[cpv] = attDict
62 + build_dict['checksum'] = portage.checksum.sha256hash(pkgdir + "/" + package + "-" + config_cpv_listDict[config_id]['ebuild_version'] + ".ebuild")[0]
63 + build_dict['package_id'] = have_package_db(conn, categories, package)[0]
64 + build_dict['ebuild_version'] = config_cpv_listDict[config_id]['ebuild_version']
65 + ebuild_id = get_ebuild_id_db_checksum(conn, build_dict)
66 + if ebuild_id is not None:
67 + ebuild_id_list.append(ebuild_id)
68 + init_package.add_new_ebuild_buildquery_db(ebuild_id_list, packageDict, config_cpv_listDict)
69
70 if args[0] == "-del":
71 config_id = args[1]
72 querue_id_list = get_queue_id_list_config(conn, config_id)
73 if querue_id_list is not None:
74 for querue_id in querue_id_list:
75 - del_old_queue(conn, queue_id)
76 + del_old_queue(conn, querue_id)
77 CM.putConnection(conn)
78
79
80 \ No newline at end of file
81
82 diff --git a/gobs/pym/package.py b/gobs/pym/package.py
83 index b68d8f6..4f1f48f 100644
84 --- a/gobs/pym/package.py
85 +++ b/gobs/pym/package.py
86 @@ -28,15 +28,12 @@ class gobs_package(object):
87 mysettings_setup = portage.config(config_root = my_new_setup)
88 return mysettings_setup
89
90 - def config_match_ebuild(self, categories, package, config_list_all):
91 - conn=CM.getConnection()
92 + def config_match_ebuild(self, categories, package, config_list):
93 config_cpv_listDict ={}
94 - # Get a list from table configs/setups with default_config=Fales and active = True
95 - config_list_all = get_config_list(conn)
96 - if config_list_all is ():
97 + if config_list == []:
98 return config_cpv_listDict
99 - for i in config_list_all:
100 - config_id = i[0]
101 + conn=CM.getConnection()
102 + for config_id in config_list:
103 # Change config/setup
104 mysettings_setup = self.change_config(config_id)
105 myportdb_setup = portage.portdbapi(mysettings=mysettings_setup)
106 @@ -54,13 +51,13 @@ class gobs_package(object):
107 for iuse_line in iuse_flags_list:
108 iuse_flags_list2.append( init_useflags.reduce_flag(iuse_line))
109 # Dic the needed info
110 - attDict = {}
111 - attDict['ebuild_version'] = latest_ebuild_version
112 - attDict['useflags'] = final_use_list
113 - attDict['iuse'] = iuse_flags_list2
114 - attDict['package'] = package
115 - attDict['categories'] = categories
116 - config_cpv_listDict[config_id] = attDict
117 + attDict = {}
118 + attDict['ebuild_version'] = latest_ebuild_version
119 + attDict['useflags'] = final_use_list
120 + attDict['iuse'] = iuse_flags_list2
121 + attDict['package'] = package
122 + attDict['categories'] = categories
123 + config_cpv_listDict[config_id] = attDict
124 # Clean some cache
125 myportdb_setup.close_caches()
126 portage.portdbapi.portdbapi_instances.remove(myportdb_setup)
127 @@ -186,8 +183,8 @@ class gobs_package(object):
128 ebuild_list_tree = self._myportdb.cp_list((categories + "/" + package), use_cache=1, mytree=None)
129 if ebuild_list_tree == []:
130 return None
131 - config_list_all = get_config_list(conn)
132 - config_cpv_listDict = self.config_match_ebuild(categories, package, config_list_all)
133 + config_list = get_config_list(conn)
134 + config_cpv_listDict = self.config_match_ebuild(categories, package, config_list)
135 config_id = get_default_config(conn)
136 packageDict ={}
137 for ebuild_line in sorted(ebuild_list_tree):
138 @@ -237,8 +234,8 @@ class gobs_package(object):
139 package_metadataDict = self.get_package_metadataDict(pkgdir, package)
140 update_new_package_metadata(conn,package_id, package_metadataDict)
141 # Get config_cpv_listDict
142 - config_list_all = get_config_list(conn)
143 - config_cpv_listDict = self.config_match_ebuild(categories, package, config_list_all)
144 + config_list = get_config_list(conn)
145 + config_cpv_listDict = self.config_match_ebuild(categories, package, config_list)
146 config_id = get_default_config(conn)
147 packageDict ={}
148 for ebuild_line in sorted(ebuild_list_tree):
149
150 diff --git a/gobs/pym/pgsql.py b/gobs/pym/pgsql.py
151 index 1d7ee48..b0a6c83 100644
152 --- a/gobs/pym/pgsql.py
153 +++ b/gobs/pym/pgsql.py
154 @@ -88,7 +88,10 @@ def get_config_list(connection):
155 if entries == ():
156 return None
157 else:
158 - return entries
159 + config_id_list = []
160 + for config_id in entries:
161 + config_id_list.append(config_id[0])
162 + return config_id_list
163
164 def get_config_list_all(connection):
165 cursor = connection.cursor()
166 @@ -284,10 +287,10 @@ def get_ebuild_id_db_checksum(connection, build_dict):
167 cursor = connection.cursor()
168 sqlQ = 'SELECT id FROM ebuilds WHERE ebuild_version = %s AND ebuild_checksum = %s AND package_id = %s'
169 cursor.execute(sqlQ, (build_dict['ebuild_version'], build_dict['checksum'], build_dict['package_id']))
170 - ebuild_id = sorted(cursor.fetchall())
171 - if ebuild_id is None:
172 + ebuild_id_list = sorted(cursor.fetchall())
173 + if ebuild_id_list == []:
174 return None
175 - return ebuild_id[0]
176 + return ebuild_id_list[0]
177
178 def get_cpv_from_ebuild_id(connection, ebuild_id):
179 cursor = connection.cursor()
180 @@ -328,9 +331,9 @@ def have_package_buildqueue(connection, ebuild_id, config_id):
181
182 def get_queue_id_list_config(connection, config_id):
183 cursor = connection.cursor()
184 - sqlQ = 'SELECT queue_id FROM buildqueue WHERE config_id = %s'
185 + sqlQ = 'SELECT queue_id FROM buildqueue WHERE config = %s'
186 cursor.execute(sqlQ, (config_id,))
187 - entries = cursor.fetchoall()
188 + entries = cursor.fetchall()
189 return entries
190
191 def add_new_package_buildqueue(connection, ebuild_id, config_id, iuse_flags_list, use_enable, message):
192 @@ -434,7 +437,7 @@ def del_old_ebuild(connection, ebuild_old_list_db):
193 sqlQ3 = 'DELETE FROM repoman_problems WHERE build_id = %s'
194 sqlQ4 = 'DELETE FROM ebuildbuildwithuses WHERE build_id = %s'
195 sqlQ5 = 'DELETE FROM ebuildhaveskeywords WHERE ebuild_id = %s'
196 - sqlQ6 = 'DELETE FROM ebuildhavesiuses WHERE ebuild_id = %s'
197 + sqlQ6 = 'DELETE FROM ebuildhavesiuses WHERE ebuild = %s'
198 sqlQ7 = 'DELETE FROM ebuildhavesrestrictions WHERE ebuild_id = %s'
199 sqlQ8 = 'DELETE FROM buildlog WHERE ebuild_id = %s'
200 sqlQ9 = 'SELECT queue_id FROM buildqueue WHERE ebuild_id = %s'