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' |