Gentoo Archives: gentoo-commits

From: Brian Dolbec <dolsen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:repoman commit in: pym/repoman/, pym/repoman/modules/vcs/bzr/, pym/repoman/modules/vcs/git/, ...
Date: Tue, 08 Mar 2016 02:56:16
Message-Id: 1457405677.6567ab52cdf6e8093fc5134b46f555edd635fe00.dolsen@gentoo
1 commit: 6567ab52cdf6e8093fc5134b46f555edd635fe00
2 Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
3 AuthorDate: Sun Feb 7 18:53:58 2016 +0000
4 Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
5 CommitDate: Tue Mar 8 02:54:37 2016 +0000
6 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=6567ab52
7
8 repoman: Migrate digest regeneration to the vcs modules
9
10 pym/repoman/actions.py | 15 ++-------------
11 pym/repoman/modules/vcs/bzr/changes.py | 14 ++++++++++++--
12 pym/repoman/modules/vcs/changes.py | 5 +++++
13 pym/repoman/modules/vcs/cvs/changes.py | 13 +++++++++++--
14 pym/repoman/modules/vcs/git/changes.py | 9 +++++++++
15 pym/repoman/modules/vcs/hg/changes.py | 9 +++++++++
16 pym/repoman/modules/vcs/settings.py | 6 ++++--
17 pym/repoman/modules/vcs/svn/changes.py | 17 +++++++++++++++++
18 8 files changed, 69 insertions(+), 19 deletions(-)
19
20 diff --git a/pym/repoman/actions.py b/pym/repoman/actions.py
21 index e045295..21e7db6 100644
22 --- a/pym/repoman/actions.py
23 +++ b/pym/repoman/actions.py
24 @@ -6,7 +6,6 @@ import errno
25 import io
26 import logging
27 import platform
28 -import re
29 import signal
30 import subprocess
31 import sys
32 @@ -25,7 +24,6 @@ from portage.package.ebuild.digestgen import digestgen
33 from portage.process import find_binary, spawn
34 from portage.util import writemsg_level
35
36 -from repoman._subprocess import repoman_getstatusoutput
37 from repoman.gpg import gpgsign, need_signature
38 from repoman import utilities
39 from repoman.modules.vcs.vcs import vcs_files_to_cps
40 @@ -159,17 +157,8 @@ class Actions(object):
41 "\"You're rather crazy... "
42 "doing the entire repository.\"\n")
43
44 - if self.vcs_settings.vcs in ('cvs', 'svn') and (myupdates or myremoved):
45 - for x in sorted(vcs_files_to_cps(
46 - chain(myupdates, myremoved, mymanifests),
47 - self.scanner.repolevel, self.scanner.reposplit, self.scanner.categories)):
48 - self.repoman_settings["O"] = os.path.join(self.repo_settings.repodir, x)
49 - digestgen(mysettings=self.repoman_settings, myportdb=self.repo_settings.portdb)
50 -
51 - elif broken_changelog_manifests:
52 - for x in broken_changelog_manifests:
53 - self.repoman_settings["O"] = os.path.join(self.repo_settings.repodir, x)
54 - digestgen(mysettings=self.repoman_settings, myportdb=self.repo_settings.portdb)
55 + self.vcs_settings.changes.digest_regen(myupdates, myremoved, mymanifests,
56 + self.scanner, broken_changelog_manifests)
57
58 if self.repo_settings.sign_manifests:
59 self.sign_manifest(myupdates, myremoved, mymanifests)
60
61 diff --git a/pym/repoman/modules/vcs/bzr/changes.py b/pym/repoman/modules/vcs/bzr/changes.py
62 index 9bd0646..81e7cf5 100644
63 --- a/pym/repoman/modules/vcs/bzr/changes.py
64 +++ b/pym/repoman/modules/vcs/bzr/changes.py
65 @@ -4,7 +4,9 @@ Bazaar module Changes class submodule
66
67 from repoman.modules.vcs.changes import ChangesBase
68 from repoman._subprocess import repoman_popen
69 -
70 +from repoman._portage import portage
71 +from portage import os
72 +from portage.package.ebuild.digestgen import digestgen
73
74 class Changes(ChangesBase):
75 '''Class object to scan and hold the resultant data
76 @@ -36,6 +38,7 @@ class Changes(ChangesBase):
77 "./" + elem.split()[-3:-2][0].split('/')[-1:][0]
78 for elem in bzrstatus
79 if elem and (elem[1:2] == "K" or elem[0:1] == "R")]
80 + self.bzrstatus = bzrstatus
81 # Bazaar expands nothing.
82
83 @property
84 @@ -45,6 +48,13 @@ class Changes(ChangesBase):
85 return self._unadded
86 self._unadded = [
87 "./" + elem.rstrip().split()[1].split('/')[-1:][0]
88 - for elem in bzrstatus
89 + for elem in self.bzrstatus
90 if elem.startswith("?") or elem[0:2] == " D"]
91 return self._unadded
92 +
93 + def digest_regen(self, myupdates, myremoved, mymanifests, scanner, broken_changelog_manifests):
94 + if broken_changelog_manifests:
95 + for x in broken_changelog_manifests:
96 + self.repoman_settings["O"] = os.path.join(self.repo_settings.repodir, x)
97 + digestgen(mysettings=self.repoman_settings, myportdb=self.repo_settings.portdb)
98 +
99
100 diff --git a/pym/repoman/modules/vcs/changes.py b/pym/repoman/modules/vcs/changes.py
101 index 921e9b5..27b627f 100644
102 --- a/pym/repoman/modules/vcs/changes.py
103 +++ b/pym/repoman/modules/vcs/changes.py
104 @@ -76,6 +76,11 @@ class ChangesBase(object):
105 '''Create a thick manifest'''
106 pass
107
108 + def digest_regen(self, myupdates, myremoved, mymanifests, scanner,
109 + broken_changelog_manifests):
110 + '''Regenerate manifests'''
111 + pass
112 +
113 @staticmethod
114 def clear_attic(myheaders):
115 '''Old CVS leftover'''
116
117 diff --git a/pym/repoman/modules/vcs/cvs/changes.py b/pym/repoman/modules/vcs/cvs/changes.py
118 index 5fc9642..794e850 100644
119 --- a/pym/repoman/modules/vcs/cvs/changes.py
120 +++ b/pym/repoman/modules/vcs/cvs/changes.py
121 @@ -3,11 +3,12 @@ CVS module Changes class submodule
122 '''
123
124 import re
125 +from itertools import chain
126
127 from repoman._portage import portage
128 from repoman.modules.vcs.changes import ChangesBase
129 -from portage import cvstree
130 -
131 +from portage import cvstree, os
132 +from portage.package.ebuild.digestgen import digestgen
133
134 class Changes(ChangesBase):
135 '''Class object to scan and hold the resultant data
136 @@ -81,3 +82,11 @@ class Changes(ChangesBase):
137 "* Files with headers will"
138 " cause the manifests to be changed and committed separately.")
139
140 + def digest_regen(self, myupdates, myremoved, mymanifests, scanner, broken_changelog_manifests):
141 + if myupdates or myremoved:
142 + for x in sorted(vcs_files_to_cps(
143 + chain(myupdates, myremoved, mymanifests),
144 + scanner.repolevel, scanner.reposplit, scanner.categories)):
145 + self.repoman_settings["O"] = os.path.join(self.repo_settings.repodir, x)
146 + digestgen(mysettings=self.repoman_settings, myportdb=self.repo_settings.portdb)
147 +
148
149 diff --git a/pym/repoman/modules/vcs/git/changes.py b/pym/repoman/modules/vcs/git/changes.py
150 index f159298..1970b3a 100644
151 --- a/pym/repoman/modules/vcs/git/changes.py
152 +++ b/pym/repoman/modules/vcs/git/changes.py
153 @@ -4,6 +4,9 @@ Git module Changes class submodule
154
155 from repoman.modules.vcs.changes import ChangesBase
156 from repoman._subprocess import repoman_popen
157 +from repoman._portage import portage
158 +from portage import os
159 +from portage.package.ebuild.digestgen import digestgen
160
161
162 class Changes(ChangesBase):
163 @@ -54,3 +57,9 @@ class Changes(ChangesBase):
164 self._unadded = ["./" + elem[:-1] for elem in unadded]
165 del unadded
166 return self._unadded
167 +
168 + def digest_regen(self, myupdates, myremoved, mymanifests, scanner, broken_changelog_manifests):
169 + if broken_changelog_manifests:
170 + for x in broken_changelog_manifests:
171 + self.repoman_settings["O"] = os.path.join(self.repo_settings.repodir, x)
172 + digestgen(mysettings=self.repoman_settings, myportdb=self.repo_settings.portdb)
173
174 diff --git a/pym/repoman/modules/vcs/hg/changes.py b/pym/repoman/modules/vcs/hg/changes.py
175 index 311ca12..2667829 100644
176 --- a/pym/repoman/modules/vcs/hg/changes.py
177 +++ b/pym/repoman/modules/vcs/hg/changes.py
178 @@ -4,6 +4,9 @@ Mercurial module Changes class submodule
179
180 from repoman.modules.vcs.changes import ChangesBase
181 from repoman._subprocess import repoman_popen
182 +from repoman._portage import portage
183 +from portage import os
184 +from portage.package.ebuild.digestgen import digestgen
185
186
187 class Changes(ChangesBase):
188 @@ -62,3 +65,9 @@ class Changes(ChangesBase):
189 del deleted
190 return self._deleted
191
192 +
193 + def digest_regen(self, myupdates, myremoved, mymanifests, scanner, broken_changelog_manifests):
194 + if broken_changelog_manifests:
195 + for x in broken_changelog_manifests:
196 + self.repoman_settings["O"] = os.path.join(self.repo_settings.repodir, x)
197 + digestgen(mysettings=self.repoman_settings, myportdb=self.repo_settings.portdb)
198
199 diff --git a/pym/repoman/modules/vcs/settings.py b/pym/repoman/modules/vcs/settings.py
200 index f51c3b2..9338a81 100644
201 --- a/pym/repoman/modules/vcs/settings.py
202 +++ b/pym/repoman/modules/vcs/settings.py
203 @@ -13,8 +13,10 @@ from repoman.qa_tracker import QATracker
204 class VCSSettings(object):
205 '''Holds various VCS settings'''
206
207 - def __init__(self, options=None, repoman_settings=None):
208 + def __init__(self, options=None, repoman_settings=None, repo_settings=None):
209 self.options = options
210 + self.repoman_settings = repoman_settings
211 + self.repo_settings = repo_settings
212 if options.vcs:
213 if options.vcs in module_names:
214 self.vcs = options.vcs
215 @@ -89,5 +91,5 @@ class VCSSettings(object):
216 def changes(self):
217 if not self._changes:
218 changes = self.module_controller.get_class('%s_changes' % self.vcs)
219 - self._changes = changes(self.options)
220 + self._changes = changes(self.options, self.repo_settings)
221 return self._changes
222
223 diff --git a/pym/repoman/modules/vcs/svn/changes.py b/pym/repoman/modules/vcs/svn/changes.py
224 index ffe19c1..87132f0 100644
225 --- a/pym/repoman/modules/vcs/svn/changes.py
226 +++ b/pym/repoman/modules/vcs/svn/changes.py
227 @@ -2,8 +2,16 @@
228 Subversion module Changes class submodule
229 '''
230
231 +import chain
232 +
233 from repoman.modules.vcs.changes import ChangesBase
234 from repoman._subprocess import repoman_popen
235 +from repoman._subprocess import repoman_getstatusoutput
236 +from repoman.modules.vcs.vcs import vcs_files_to_cps
237 +from repoman._portage import portage
238 +from portage import os
239 +from portage.output import green
240 +from portage.package.ebuild.digestgen import digestgen
241
242
243 class Changes(ChangesBase):
244 @@ -106,3 +114,12 @@ class Changes(ChangesBase):
245 "* Files with headers will"
246 " cause the manifests to be changed and committed separately.")
247
248 + def digest_regen(self, myupdates, myremoved, mymanifests, scanner, broken_changelog_manifests):
249 + if myupdates or myremoved:
250 + for x in sorted(vcs_files_to_cps(
251 + chain(myupdates, myremoved, mymanifests),
252 + self.scanner.repolevel, self.scanner.reposplit, self.scanner.categories)):
253 + self.repoman_settings["O"] = os.path.join(self.repo_settings.repodir, x)
254 + digestgen(mysettings=self.repoman_settings, myportdb=self.repo_settings.portdb)
255 +
256 +