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/modules/vcs/, pym/repoman/modules/vcs/hg/, pym/repoman/, ...
Date: Mon, 07 Mar 2016 21:53:56
Message-Id: 1457385695.c973139bcda1e447428c92fb33304cbe38a34eae.dolsen@gentoo
1 commit: c973139bcda1e447428c92fb33304cbe38a34eae
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: Mon Mar 7 21:21:35 2016 +0000
6 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=c973139b
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 | 14 +++++++++++---
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(+), 20 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..39499ab 100644
119 --- a/pym/repoman/modules/vcs/cvs/changes.py
120 +++ b/pym/repoman/modules/vcs/cvs/changes.py
121 @@ -1,13 +1,13 @@
122 '''
123 CVS module Changes class submodule
124 '''
125 -
126 +import chain
127 import re
128
129 from repoman._portage import portage
130 from repoman.modules.vcs.changes import ChangesBase
131 -from portage import cvstree
132 -
133 +from portage import cvstree, os
134 +from portage.package.ebuild.digestgen import digestgen
135
136 class Changes(ChangesBase):
137 '''Class object to scan and hold the resultant data
138 @@ -81,3 +81,11 @@ class Changes(ChangesBase):
139 "* Files with headers will"
140 " cause the manifests to be changed and committed separately.")
141
142 + def digest_regen(self, myupdates, myremoved, mymanifests, scanner, broken_changelog_manifests):
143 + if myupdates or myremoved:
144 + for x in sorted(vcs_files_to_cps(
145 + chain(myupdates, myremoved, mymanifests),
146 + scanner.repolevel, scanner.reposplit, scanner.categories)):
147 + self.repoman_settings["O"] = os.path.join(self.repo_settings.repodir, x)
148 + digestgen(mysettings=self.repoman_settings, myportdb=self.repo_settings.portdb)
149 +
150
151 diff --git a/pym/repoman/modules/vcs/git/changes.py b/pym/repoman/modules/vcs/git/changes.py
152 index f159298..1970b3a 100644
153 --- a/pym/repoman/modules/vcs/git/changes.py
154 +++ b/pym/repoman/modules/vcs/git/changes.py
155 @@ -4,6 +4,9 @@ Git module Changes class submodule
156
157 from repoman.modules.vcs.changes import ChangesBase
158 from repoman._subprocess import repoman_popen
159 +from repoman._portage import portage
160 +from portage import os
161 +from portage.package.ebuild.digestgen import digestgen
162
163
164 class Changes(ChangesBase):
165 @@ -54,3 +57,9 @@ class Changes(ChangesBase):
166 self._unadded = ["./" + elem[:-1] for elem in unadded]
167 del unadded
168 return self._unadded
169 +
170 + def digest_regen(self, myupdates, myremoved, mymanifests, scanner, broken_changelog_manifests):
171 + if broken_changelog_manifests:
172 + for x in broken_changelog_manifests:
173 + self.repoman_settings["O"] = os.path.join(self.repo_settings.repodir, x)
174 + digestgen(mysettings=self.repoman_settings, myportdb=self.repo_settings.portdb)
175
176 diff --git a/pym/repoman/modules/vcs/hg/changes.py b/pym/repoman/modules/vcs/hg/changes.py
177 index 311ca12..2667829 100644
178 --- a/pym/repoman/modules/vcs/hg/changes.py
179 +++ b/pym/repoman/modules/vcs/hg/changes.py
180 @@ -4,6 +4,9 @@ Mercurial module Changes class submodule
181
182 from repoman.modules.vcs.changes import ChangesBase
183 from repoman._subprocess import repoman_popen
184 +from repoman._portage import portage
185 +from portage import os
186 +from portage.package.ebuild.digestgen import digestgen
187
188
189 class Changes(ChangesBase):
190 @@ -62,3 +65,9 @@ class Changes(ChangesBase):
191 del deleted
192 return self._deleted
193
194 +
195 + def digest_regen(self, myupdates, myremoved, mymanifests, scanner, broken_changelog_manifests):
196 + if broken_changelog_manifests:
197 + for x in broken_changelog_manifests:
198 + self.repoman_settings["O"] = os.path.join(self.repo_settings.repodir, x)
199 + digestgen(mysettings=self.repoman_settings, myportdb=self.repo_settings.portdb)
200
201 diff --git a/pym/repoman/modules/vcs/settings.py b/pym/repoman/modules/vcs/settings.py
202 index f51c3b2..9338a81 100644
203 --- a/pym/repoman/modules/vcs/settings.py
204 +++ b/pym/repoman/modules/vcs/settings.py
205 @@ -13,8 +13,10 @@ from repoman.qa_tracker import QATracker
206 class VCSSettings(object):
207 '''Holds various VCS settings'''
208
209 - def __init__(self, options=None, repoman_settings=None):
210 + def __init__(self, options=None, repoman_settings=None, repo_settings=None):
211 self.options = options
212 + self.repoman_settings = repoman_settings
213 + self.repo_settings = repo_settings
214 if options.vcs:
215 if options.vcs in module_names:
216 self.vcs = options.vcs
217 @@ -89,5 +91,5 @@ class VCSSettings(object):
218 def changes(self):
219 if not self._changes:
220 changes = self.module_controller.get_class('%s_changes' % self.vcs)
221 - self._changes = changes(self.options)
222 + self._changes = changes(self.options, self.repo_settings)
223 return self._changes
224
225 diff --git a/pym/repoman/modules/vcs/svn/changes.py b/pym/repoman/modules/vcs/svn/changes.py
226 index ffe19c1..87132f0 100644
227 --- a/pym/repoman/modules/vcs/svn/changes.py
228 +++ b/pym/repoman/modules/vcs/svn/changes.py
229 @@ -2,8 +2,16 @@
230 Subversion module Changes class submodule
231 '''
232
233 +import chain
234 +
235 from repoman.modules.vcs.changes import ChangesBase
236 from repoman._subprocess import repoman_popen
237 +from repoman._subprocess import repoman_getstatusoutput
238 +from repoman.modules.vcs.vcs import vcs_files_to_cps
239 +from repoman._portage import portage
240 +from portage import os
241 +from portage.output import green
242 +from portage.package.ebuild.digestgen import digestgen
243
244
245 class Changes(ChangesBase):
246 @@ -106,3 +114,12 @@ class Changes(ChangesBase):
247 "* Files with headers will"
248 " cause the manifests to be changed and committed separately.")
249
250 + def digest_regen(self, myupdates, myremoved, mymanifests, scanner, broken_changelog_manifests):
251 + if myupdates or myremoved:
252 + for x in sorted(vcs_files_to_cps(
253 + chain(myupdates, myremoved, mymanifests),
254 + self.scanner.repolevel, self.scanner.reposplit, self.scanner.categories)):
255 + self.repoman_settings["O"] = os.path.join(self.repo_settings.repodir, x)
256 + digestgen(mysettings=self.repoman_settings, myportdb=self.repo_settings.portdb)
257 +
258 +