1 |
commit: 1b1e91118c31d997289c3ed9b00638a71ae94588 |
2 |
Author: Magnus Granberg <zorry <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Nov 1 02:23:12 2021 +0000 |
4 |
Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Nov 1 02:23:12 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=1b1e9111 |
7 |
|
8 |
Add more logging and fix use test |
9 |
|
10 |
Signed-off-by: Magnus Granberg <zorry <AT> gentoo.org> |
11 |
|
12 |
buildbot_gentoo_ci/steps/builders.py | 3 ++ |
13 |
buildbot_gentoo_ci/steps/portage.py | 59 ++++++++++++++++++++++++++---------- |
14 |
2 files changed, 46 insertions(+), 16 deletions(-) |
15 |
|
16 |
diff --git a/buildbot_gentoo_ci/steps/builders.py b/buildbot_gentoo_ci/steps/builders.py |
17 |
index 79be77f..93e3529 100644 |
18 |
--- a/buildbot_gentoo_ci/steps/builders.py |
19 |
+++ b/buildbot_gentoo_ci/steps/builders.py |
20 |
@@ -607,6 +607,7 @@ class CheckEmergeLogs(BuildStep): |
21 |
separator = '\n' |
22 |
separator2 = ' ' |
23 |
change_use_list = [] |
24 |
+ log = yield self.addLog('change_use') |
25 |
for cpv, v in emerge_output['change_use'].items(): |
26 |
c = yield catpkgsplit(cpv)[0] |
27 |
p = yield catpkgsplit(cpv)[1] |
28 |
@@ -623,6 +624,8 @@ class CheckEmergeLogs(BuildStep): |
29 |
workdir='/etc/portage/package.use/' |
30 |
) |
31 |
) |
32 |
+ yield log.addStdout('File: ' + 'zz_autouse' + str(self.getProperty('rerun')) + '\n') |
33 |
+ yield log.addStdout(change_use_string + '\n') |
34 |
# rerun |
35 |
self.aftersteps_list.append(RunEmerge(step='pre-build')) |
36 |
self.setProperty('rerun', self.getProperty('rerun') + 1, 'rerun') |
37 |
|
38 |
diff --git a/buildbot_gentoo_ci/steps/portage.py b/buildbot_gentoo_ci/steps/portage.py |
39 |
index 408c1e9..08ab559 100644 |
40 |
--- a/buildbot_gentoo_ci/steps/portage.py |
41 |
+++ b/buildbot_gentoo_ci/steps/portage.py |
42 |
@@ -111,6 +111,8 @@ class SetMakeProfile(BuildStep): |
43 |
workdir='/' |
44 |
) |
45 |
]) |
46 |
+ log = yield self.addLog('make.profile') |
47 |
+ yield log.addStdout('Profile path: ' + makeprofile_path + '\n') |
48 |
return SUCCESS |
49 |
|
50 |
class SetReposConf(BuildStep): |
51 |
@@ -135,6 +137,7 @@ class SetReposConf(BuildStep): |
52 |
if repos_conf_data is None: |
53 |
print('Default repo is not set in repos.conf') |
54 |
return FAILURE |
55 |
+ log = yield self.addLog('repos.conf') |
56 |
# check if repos_conf_data['value'] is vaild repo name |
57 |
separator = '\n' |
58 |
default_conf = [] |
59 |
@@ -147,6 +150,10 @@ class SetReposConf(BuildStep): |
60 |
workerdest="repos.conf/default.conf", |
61 |
workdir='/etc/portage/') |
62 |
]) |
63 |
+ # display the default.conf |
64 |
+ yield log.addStdout('File: ' + 'default.conf' + '\n') |
65 |
+ for line in default_conf: |
66 |
+ yield log.addStdout(line + '\n') |
67 |
# add all repos that project have in projects_repositorys to repos.conf/reponame.conf |
68 |
projects_repositorys_data = yield self.gentooci.db.projects.getRepositorysByProjectUuid(project_data['uuid']) |
69 |
for project_repository_data in projects_repositorys_data: |
70 |
@@ -159,11 +166,15 @@ class SetReposConf(BuildStep): |
71 |
repository_conf.append('sync-type = git') |
72 |
repository_conf.append('auto-sync = no') |
73 |
repository_conf_string = separator.join(repository_conf) |
74 |
+ filename = repository_data['name'] + '.conf' |
75 |
yield self.build.addStepsAfterCurrentStep([ |
76 |
steps.StringDownload(repository_conf_string + separator, |
77 |
- workerdest='repos.conf/' + repository_data['name'] + '.conf', |
78 |
+ workerdest='repos.conf/' + filename, |
79 |
workdir='/etc/portage/') |
80 |
]) |
81 |
+ yield log.addStdout('File: ' + filename + '\n') |
82 |
+ for line in repository_conf: |
83 |
+ yield log.addStdout(line + '\n') |
84 |
return SUCCESS |
85 |
|
86 |
class SetMakeConf(BuildStep): |
87 |
@@ -187,6 +198,7 @@ class SetMakeConf(BuildStep): |
88 |
separator1 = '\n' |
89 |
separator2 = ' ' |
90 |
makeconf_list = [] |
91 |
+ log = yield self.addLog('make.conf') |
92 |
for k in makeconf_variables_data: |
93 |
makeconf_variables_values_data = yield self.gentooci.db.projects.getProjectMakeConfById(project_data['uuid'], k['id']) |
94 |
makeconf_variable_list = [] |
95 |
@@ -236,6 +248,9 @@ class SetMakeConf(BuildStep): |
96 |
workerdest="make.conf", |
97 |
workdir='/etc/portage/') |
98 |
]) |
99 |
+ # display the make.conf |
100 |
+ for line in makeconf_list: |
101 |
+ yield log.addStdout(line + '\n') |
102 |
return SUCCESS |
103 |
|
104 |
class SetPackageDefault(BuildStep): |
105 |
@@ -255,18 +270,28 @@ class SetPackageDefault(BuildStep): |
106 |
self.gentooci = self.master.namedServices['services'].namedServices['gentooci'] |
107 |
separator1 = '\n' |
108 |
separator2 = ' ' |
109 |
+ log = yield self.addLog('package.*') |
110 |
self.aftersteps_list = [] |
111 |
- package_use_dir = False |
112 |
- package_env_dir = False |
113 |
+ self.aftersteps_list.append(steps.MakeDirectory(dir='package.use', |
114 |
+ workdir='/etc/portage/')) |
115 |
+ self.aftersteps_list.append(steps.MakeDirectory(dir='package.env', |
116 |
+ workdir='/etc/portage/')) |
117 |
#FIXME: accept_keywords |
118 |
# add the needed package.* settings from db |
119 |
+ # add package use |
120 |
package_conf_use_list = [] |
121 |
package_settings = yield self.gentooci.db.projects.getProjectPortagePackageByUuid(self.getProperty('project_data')['uuid']) |
122 |
for package_setting in package_settings: |
123 |
if package_setting['directory'] == 'use': |
124 |
package_conf_use_list.append(separator2.join(package_setting['package'],package_setting['value'])) |
125 |
+ if self.getProperty('use_data') is not None: |
126 |
+ for k, v in self.getProperty('use_data').items(): |
127 |
+ for use, value in v.items(): |
128 |
+ if value: |
129 |
+ package_conf_use_list.append(separator2.join([k, use])) |
130 |
+ else: |
131 |
+ package_conf_use_list.append(separator2.join([k, '-' + use])) |
132 |
if package_conf_use_list != []: |
133 |
- package_use_dir = True |
134 |
package_conf_use_string = separator1.join(package_conf_use_list) |
135 |
self.aftersteps_list.append( |
136 |
steps.StringDownload(package_conf_use_string + separator1, |
137 |
@@ -274,34 +299,32 @@ class SetPackageDefault(BuildStep): |
138 |
workdir='/etc/portage/package.use/' |
139 |
) |
140 |
) |
141 |
+ yield log.addStdout('File: ' + 'package.use/default.conf' + separator1) |
142 |
+ for line in package_conf_use_list: |
143 |
+ yield log.addStdout(line + separator1) |
144 |
# for test we need to add env and use |
145 |
#FIXME: check restrictions, test use mask and required use |
146 |
if self.getProperty('projectrepository_data')['test']: |
147 |
auxdb_iuses = yield self.gentooci.db.versions.getMetadataByUuidAndMatadata(self.getProperty("version_data")['uuid'], 'iuse') |
148 |
for auxdb_iuse in auxdb_iuses: |
149 |
- iuse, status = getIUseValue(auxdb_iuse) |
150 |
+ iuse, status = getIUseValue(auxdb_iuse['value']) |
151 |
if iuse == 'test': |
152 |
- package_use_dir = True |
153 |
self.aftersteps_list.append( |
154 |
- steps.StringDownload(separator2.join('='+ self.getProperty("cpv"),'test') + separator1, |
155 |
+ steps.StringDownload(separator2.join(['=' + self.getProperty("cpv"),'test']) + separator1, |
156 |
workerdest='test.conf', |
157 |
workdir='/etc/portage/package.use/' |
158 |
) |
159 |
) |
160 |
- package_env_dir = True |
161 |
+ yield log.addStdout('File: ' + 'package.use/test.conf' + separator1) |
162 |
+ yield log.addStdout(separator2.join(['=' + self.getProperty("cpv"),'test']) + separator1) |
163 |
self.aftersteps_list.append( |
164 |
- steps.StringDownload(separator2.join('='+ self.getProperty("cpv"),'test.conf') + separator1, |
165 |
+ steps.StringDownload(separator2.join(['=' + self.getProperty("cpv"),'test.conf']) + separator1, |
166 |
workerdest='test.conf', |
167 |
workdir='/etc/portage/package.env/' |
168 |
) |
169 |
) |
170 |
- # add package.* dirs |
171 |
- if package_use_dir: |
172 |
- aftersteps_list.append(steps.MakeDirectory(dir='package.use', |
173 |
- workdir='/etc/portage/')) |
174 |
- if package_env_dir: |
175 |
- aftersteps_list.append(steps.MakeDirectory(dir='package.env', |
176 |
- workdir='/etc/portage/')) |
177 |
+ yield log.addStdout('File: ' + 'package.env/test.conf' + separator1) |
178 |
+ yield log.addStdout(separator2.join(['=' + self.getProperty("cpv"),'test.conf']) + separator1) |
179 |
yield self.build.addStepsAfterCurrentStep(self.aftersteps_list) |
180 |
return SUCCESS |
181 |
|
182 |
@@ -336,6 +359,7 @@ class SetEnvDefault(BuildStep): |
183 |
aftersteps_list = [] |
184 |
separator1 = '\n' |
185 |
separator2 = ' ' |
186 |
+ log = yield self.addLog('env') |
187 |
# create the dir |
188 |
aftersteps_list.append(steps.MakeDirectory(dir='env', |
189 |
workdir='/etc/portage/')) |
190 |
@@ -357,6 +381,9 @@ class SetEnvDefault(BuildStep): |
191 |
workerdest=k + '.conf', |
192 |
workdir='/etc/portage/env/') |
193 |
]) |
194 |
+ yield log.addStdout('File: ' + k + '.conf' + '\n') |
195 |
+ for line in env_strings: |
196 |
+ yield log.addStdout(line + '\n') |
197 |
yield self.build.addStepsAfterCurrentStep(aftersteps_list) |
198 |
return SUCCESS |