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: Fri, 28 Jan 2022 10:09:32
Message-Id: 1643364552.adea4206026bfb0ef1cc9a5f2995a90e58fd9fa5.zorry@gentoo
1 commit: adea4206026bfb0ef1cc9a5f2995a90e58fd9fa5
2 Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jan 28 10:09:12 2022 +0000
4 Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
5 CommitDate: Fri Jan 28 10:09:12 2022 +0000
6 URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=adea4206
7
8 Change use of repository_basedir and use pathlib for symlink
9
10 Signed-off-by: Magnus Granberg <zorry <AT> gentoo.org>
11
12 buildbot_gentoo_ci/steps/portage.py | 31 ++++++++++++++++++-------------
13 buildbot_gentoo_ci/steps/repos.py | 21 ++++++++++++++-------
14 buildbot_gentoo_ci/steps/version.py | 5 ++---
15 3 files changed, 34 insertions(+), 23 deletions(-)
16
17 diff --git a/buildbot_gentoo_ci/steps/portage.py b/buildbot_gentoo_ci/steps/portage.py
18 index e5d0a25..2332626 100644
19 --- a/buildbot_gentoo_ci/steps/portage.py
20 +++ b/buildbot_gentoo_ci/steps/portage.py
21 @@ -3,6 +3,7 @@
22
23 import os
24 import io
25 +from pathlib import Path
26
27 from portage import config as portage_config
28 from portage import auxdbkeys
29 @@ -403,24 +404,29 @@ class CheckPathLocal(BuildStep):
30 @defer.inlineCallbacks
31 def run(self):
32 self.gentooci = self.master.namedServices['services'].namedServices['gentooci']
33 - self.repository_linkname = self.gentooci.config.project['repository_basedir']
34 - self.repository_basedir2 = '/home/repos2/'
35 self.portage_path = yield os.path.join('etc', 'portage')
36 self.profile_path = yield os.path.join(self.portage_path, 'make.profile')
37 self.repos_path = yield os.path.join(self.portage_path, 'repos.conf')
38 - print(os.getcwd())
39 + self.repository_basedir_db = yield os.path.join(self.master.basedir, 'repositorys')
40 + self.build_repository_basedir_db = yield os.path.join(self.getProperty("builddir"), 'repositorys')
41 + #print(self.repository_basedir_db)
42 + log = yield self.addLog('CheckPathLocal')
43 + #print(os.getcwd())
44 print(self.getProperty("builddir"))
45 - yield os.chdir(self.getProperty("builddir"))
46 - print(os.getcwd())
47 + #yield os.chdir(self.getProperty("builddir"))
48 + #print(os.getcwd())
49 for x in [
50 self.portage_path,
51 self.profile_path,
52 self.repos_path,
53 ]:
54 - if not os.path.isdir(x):
55 - os.makedirs(x)
56 - if not os.path.islink(self.repository_linkname):
57 - os.symlink(self.repository_basedir2, self.repository_linkname)
58 + check_dir = yield os.path.join(self.getProperty("builddir"), x)
59 + if not Path(check_dir).is_dir():
60 + yield Path(check_dir).mkdir(parents=True)
61 + yield log.addStdout(' '.join(['Makeing missing dir', x]))
62 + if not Path(self.build_repository_basedir_db).is_dir():
63 + yield Path(self.build_repository_basedir_db).symlink_to(self.repository_basedir_db)
64 + yield log.addStdout(' '.join(['Makeing missing link', 'repositorys', 'to', self.repository_basedir_db]))
65 return SUCCESS
66
67 class SetMakeProfileLocal(BuildStep):
68 @@ -442,7 +448,7 @@ class SetMakeProfileLocal(BuildStep):
69 return SKIPPED
70 self.gentooci = self.master.namedServices['services'].namedServices['gentooci']
71 self.profile_repository_data = yield self.gentooci.db.repositorys.getRepositoryByUuid(self.getProperty('project_data')['profile_repository_uuid'])
72 - self.repository_basedir = self.gentooci.config.project['repository_basedir']
73 + self.repository_basedir = 'repositorys'
74 makeprofiles_paths = []
75 makeprofiles_data = yield self.gentooci.db.projects.getAllProjectPortageByUuidAndDirectory(self.getProperty('project_data')['uuid'], 'make.profile')
76 for makeprofile in makeprofiles_data:
77 @@ -468,8 +474,7 @@ class SetReposConfLocal(BuildStep):
78 repos_conf_path = yield os.path.join('etc', 'portage', 'repos.conf')
79 repos_conf_default_path = yield os.path.join(repos_conf_path, 'default.conf')
80 self.gentooci = self.master.namedServices['services'].namedServices['gentooci']
81 - # the path should be set in the confg
82 - self.repository_basedir2 = '/home/repos2/'
83 + self.repository_basedir_db = yield os.path.join(self.master.basedir, 'repositorys')
84 if not os.path.isfile(repos_conf_default_path):
85 # setup the default.conf
86 repos_conf_data = yield self.gentooci.db.projects.getProjectPortageByUuidAndDirectory(self.getProperty('project_data')['uuid'], 'repos.conf')
87 @@ -483,7 +488,7 @@ class SetReposConfLocal(BuildStep):
88 yield WriteTextToFile(repos_conf_default_path, default_conf)
89 repos_conf_repository_path = yield os.path.join(repos_conf_path, self.getProperty("repository_data")['name'] + '.conf')
90 if not os.path.isfile(repos_conf_repository_path):
91 - repository_path = yield os.path.join(self.repository_basedir2, self.getProperty("repository_data")['name'])
92 + repository_path = yield os.path.join(self.repository_basedir_db, self.getProperty("repository_data")['name'])
93 repository_conf = []
94 repository_conf.append('[' + self.getProperty("repository_data")['name'] + ']')
95 repository_conf.append('location = ' + repository_path)
96
97 diff --git a/buildbot_gentoo_ci/steps/repos.py b/buildbot_gentoo_ci/steps/repos.py
98 index f5c12d2..ae63c78 100644
99 --- a/buildbot_gentoo_ci/steps/repos.py
100 +++ b/buildbot_gentoo_ci/steps/repos.py
101 @@ -3,6 +3,7 @@
102
103 import os
104 import git
105 +from pathlib import Path
106
107 from twisted.internet import defer
108
109 @@ -25,14 +26,20 @@ class CheckPathRepositoryLocal(BuildStep):
110 def __init__(self, **kwargs):
111 super().__init__(**kwargs)
112
113 + @defer.inlineCallbacks
114 def run(self):
115 self.gentooci = self.master.namedServices['services'].namedServices['gentooci']
116 - # self.repository_basedir = self.gentooci.config.project['mirror_repository_basedir']
117 - repository_basedir = '/home/repos2/'
118 - self.setProperty("repository_basedir", repository_basedir, 'repository_basedir')
119 - if os.path.isdir(repository_basedir):
120 - return SUCCESS
121 - return FAILURE
122 + self.repository_basedir_db = yield os.path.join(self.master.basedir, 'repositorys')
123 + print(self.repository_basedir_db)
124 + print(self.gentooci.config.project['repository_basedir'])
125 + p = Path(self.repository_basedir_db)
126 + self.setProperty("repository_basedir_db", self.repository_basedir_db, 'repository_basedir_db')
127 + log = yield self.addLog('CheckPathRepositoryLocal')
128 + if not Path(self.repository_basedir_db).is_dir():
129 + yield log.addStdout(' '.join(['Missing link', self.repository_basedir_db]))
130 + p.symlink_to(self.gentooci.config.project['repository_basedir'])
131 + yield log.addStdout(' '.join(['Makeing missing link', 'repositorys', 'to', self.gentooci.config.project['repository_basedir']]))
132 + return SUCCESS
133
134 class CheckRepository(BuildStep):
135
136 @@ -105,7 +112,7 @@ class CheckRepository(BuildStep):
137 @defer.inlineCallbacks
138 def checkRepos(self, repository_data):
139 success = False
140 - repository_path = yield os.path.join(self.getProperty("repository_basedir"), repository_data['name'])
141 + repository_path = yield os.path.join(self.getProperty("repository_basedir_db"), repository_data['name'])
142 try:
143 repo = git.Repo(repository_path)
144 except:
145
146 diff --git a/buildbot_gentoo_ci/steps/version.py b/buildbot_gentoo_ci/steps/version.py
147 index 2b0c1e1..86d5963 100644
148 --- a/buildbot_gentoo_ci/steps/version.py
149 +++ b/buildbot_gentoo_ci/steps/version.py
150 @@ -230,9 +230,8 @@ class CheckPathHash(BuildStep):
151 @defer.inlineCallbacks
152 def run(self):
153 self.gentooci = self.master.namedServices['services'].namedServices['gentooci']
154 - self.repository_basedir = self.gentooci.config.project['repository_basedir']
155 - self.repository_path = yield os.path.join('/home', 'repos2', self.getProperty("repository_data")['name'])
156 - #self.repository_path = yield os.path.join(self.repository_basedir, self.getProperty("repository_data")['name'])
157 + self.repository_basedir_db = yield os.path.join(self.master.basedir, 'repositorys')
158 + self.repository_path = yield os.path.join(self.repository_basedir_db, self.getProperty("repository_data")['name'])
159 self.cp_path = yield pkgsplit(self.getProperty("cpv"))[0]
160 self.file_name = yield self.getProperty("package_data")['name'] + '-' + self.getProperty("version") + '.ebuild'
161 self.ebuild_file = yield os.path.join(self.repository_path, self.cp_path, self.file_name)