Gentoo Archives: gentoo-dev

From: Brian Harring <ferringb@×××××.com>
To: gentoo-dev@l.g.o
Cc: Sebastian Pipping <sping@g.o>, djc@g.o
Subject: Re: [gentoo-dev] Moving packages to dev-vcs
Date: Thu, 04 Mar 2010 22:12:14
Message-Id: 20100304221155.GD9408@hrair
In Reply to: [gentoo-dev] Moving packages to dev-vcs by Sebastian Pipping
1 On Thu, Mar 04, 2010 at 10:08:06PM +0100, Sebastian Pipping wrote:
2 > 1. Copy
3 > =======
4 > - Duplicate any traces of dev-util/${PN} in profiles/ to dev-vcs/${PN}
5 > (fgrep -Rw "dev-util/${PN}" profiles/)
6 >
7 > - Copy complete package dev-util/${PN} to dev-vcs/${PN}
8 > (watch out CVS directories)
9 >
10 >
11 > 2. Switch
12 > =========
13 > - Update eclasses
14 > fgrep -w "dev-util/${PN}" eclass/*.eclass
15 >
16 > - Update reverse dependencies
17 > http://tinderbox.dev.gentoo.org/misc/dindex/dev-util/${PN}
18 > http://tinderbox.dev.gentoo.org/misc/rindex/dev-util/${PN}
19 > ^^^
20 > fgrep -w "dev-util/${PN}" */*/*.ebuild
21
22 I'd suggest
23
24 pquery --revdep dev-util/${PN} --raw --repo $PORTDIR
25
26 instead- throw in a '--attr inherited' if you want to look for
27 eclasses that are implicated in addition, but it's a safer bet then
28 relying on fgrep (since it's literal metadata searching) and doesn't
29 have the potential for staleness tinderbox does. Speed wise it'll be
30 slower then grep, but not hugely so- reasonably up to date cache, it's
31 <9s on my hardware so... there's no reason to not do it properly.
32
33
34 > - Append "move dev-util/${PN} dev-vcs/${PN}" line to
35 > profiles/updates/1Q-2010
36 > (must come last, described in [1])
37 >
38 >
39 > 3. Remove
40 > =========
41 > - Remove package dev-util/${PN} from CVS (as in [2])
42 > cd dev-util
43 > cvs rm -Rf ${PN}
44 > cvs ci -m "dev-util/${PN}: Remove (renamed to dev-vcs/${PN})" ${PN}
45
46
47 Realistically, the dev *really* should be doing visibility scans
48 after their efforts- yes bones does them too, but it's better to do
49 the scan after to ensure any breakage is caught quickly. Specifically
50 via pkgcore-checks, I'd suggest running
51
52 pcheck -r $PORTDIR -c visibility '*'
53
54 prior to the move, and a dump of that commands output after the cvs rm
55 invocation above. Presuming everything was updated properly, the
56 line count should be the same- output will vary slightly (previous
57 complaints about dev-util/bzr being unavailable become dev-vcs/bzr
58 unavailable specifically).
59
60 At least for my hardware, it's a 3.5 minute scan- so there really
61 isn't a reason to *not* do this check (if the mips profiles were
62 cleaned up/out prior it's more like 2.5 minutes on a sidenote)...
63
64
65 If folks are aware of alternate tools for doing these sort of checks
66 in a timely fashion, feel free to pipe up also- I'm just suggesting
67 the tools I know.
68
69
70 Random sidenote, anyone looked at using an alternate vcs to do the
71 work, then proxy it back? Specifically thinking of workflow like svk
72 (or in this case hg cvs,
73 https://wiki.mozilla.org/Using_Mercurial_locally_with_CVS ). The
74 reason I ask is that via building the work up outside of cvs, then
75 proxying the add/remove/modifications back into it, it should be
76 possible to minimize the window of cvs breakage down to bare minimum
77 while still getting the same level of QA validation for the changes.
78
79 That's assuming hg/cvs behaves sanely of course, and doing a checkout
80 (tip as it were) from cvs into hg is fast enough to be viable. Just a
81 thought- djc, you got any comments on this usage of hg?
82
83 ~harring

Replies

Subject Author
Re: [gentoo-dev] Moving packages to dev-vcs Sebastian Pipping <sping@g.o>