Gentoo Archives: gentoo-commits

From: Magnus Granberg <zorry@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/tinderbox-cluster:master commit in: buildbot_gentoo_ci/steps/
Date: Mon, 01 Nov 2021 02:22:25
Message-Id: 1635733392.1b1e91118c31d997289c3ed9b00638a71ae94588.zorry@gentoo
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