FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 03-04-2010, 08:08 PM
Sebastian Pipping
 
Default Moving packages to dev-vcs

Hello!


So now that we have a new category "dev-vcs" we need to move suitable
stuff over there. Moving packages is complex and error prone:
This mail tries to guide you through and summarize the process, please
read on.

HINT: Please keep CVS' radius of operation small to reduce risks.


0. Prepare
==========
- Check if your package fits:
Is it a "utility focused on version control"?

- Ensure that you have permission (if you are not the main maintainer)

- Sync the whole tree including profiles
(as you'll be inspecting reverse dependencies)


1. Copy
=======
- Duplicate any traces of dev-util/${PN} in profiles/ to dev-vcs/${PN}
(fgrep -Rw "dev-util/${PN}" profiles/)

- Copy complete package dev-util/${PN} to dev-vcs/${PN}
(watch out CVS directories)


2. Switch
=========
- Update eclasses
fgrep -w "dev-util/${PN}" eclass/*.eclass

- Update reverse dependencies
http://tinderbox.dev.gentoo.org/misc/dindex/dev-util/${PN}
http://tinderbox.dev.gentoo.org/misc/rindex/dev-util/${PN}
^^^
fgrep -w "dev-util/${PN}" */*/*.ebuild

- Append "move dev-util/${PN} dev-vcs/${PN}" line to
profiles/updates/1Q-2010
(must come last, described in [1])


3. Remove
=========
- Remove package dev-util/${PN} from CVS (as in [2])
cd dev-util
cvs rm -Rf ${PN}
cvs ci -m "dev-util/${PN}: Remove (renamed to dev-vcs/${PN})" ${PN}
^^^^^
- Remove any traces of dev-util/${PN} in profiles/


4. Notify
=========
- Report back problems with this process

- Mail fellow maintainers of dev-util/${PN} about the move

- If ${PN} is a big one (Subversion, Git, you know the list)
- Update documentation (now or open a bug at least, please)
- Drop sping@g.o. a mail to update references in Layman
- (Notify users and developers through Planet Gentoo?)


5. Final words
==============
- Help for filling "profiles/updates" documentation is wanted,
it's currently _all empty_:
http://devmanual.gentoo.org/profiles/updates/index.html

- Feel free to CC yourself to dev-vcs bug #56967 [3]



Sebastian


[1]
http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=5#doc_chap6
[2]
http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=5#doc_chap7
[3] https://bugs.gentoo.org/show_bug.cgi?id=56967
 
Old 03-04-2010, 08:21 PM
Ulrich Mueller
 
Default Moving packages to dev-vcs

>>>>> On Thu, 04 Mar 2010, Sebastian Pipping wrote:

> 2. Switch
> =========

> - Update reverse dependencies
> http://tinderbox.dev.gentoo.org/misc/dindex/dev-util/${PN}
> http://tinderbox.dev.gentoo.org/misc/rindex/dev-util/${PN}
> ^^^
> fgrep -w "dev-util/${PN}" */*/*.ebuild

Also check metadata.xml which may contain package references.
For example (from app-portage/layman/metadata.xml):

<flag name='git'>Support <pkg>dev-util/git</pkg> based overlays</flag>

Ulrich
 
Old 03-04-2010, 08:28 PM
Markos Chandras
 
Default Moving packages to dev-vcs

On Thursday 04 March 2010 23:08:06 Sebastian Pipping wrote:
> Hello!
>
>
> So now that we have a new category "dev-vcs" we need to move suitable
> stuff over there. Moving packages is complex and error prone:
> This mail tries to guide you through and summarize the process, please
> read on.
>
> HINT: Please keep CVS' radius of operation small to reduce risks.
>
>
> 0. Prepare
> ==========
> - Check if your package fits:
> Is it a "utility focused on version control"?
>
> - Ensure that you have permission (if you are not the main maintainer)
>
> - Sync the whole tree including profiles
> (as you'll be inspecting reverse dependencies)
>
>
> 1. Copy
> =======
> - Duplicate any traces of dev-util/${PN} in profiles/ to dev-vcs/${PN}
> (fgrep -Rw "dev-util/${PN}" profiles/)
>
> - Copy complete package dev-util/${PN} to dev-vcs/${PN}
> (watch out CVS directories)
>
>
> 2. Switch
> =========
> - Update eclasses
> fgrep -w "dev-util/${PN}" eclass/*.eclass
>
> - Update reverse dependencies
> http://tinderbox.dev.gentoo.org/misc/dindex/dev-util/${PN}
> http://tinderbox.dev.gentoo.org/misc/rindex/dev-util/${PN}
This might require too much time so the tree will be broken for a while I
guess

--
Markos Chandras (hwoarang)
Gentoo Linux Developer
Web: http://hwoarang.silverarrow.org
 
Old 03-04-2010, 08:38 PM
"Robin H. Johnson"
 
Default Moving packages to dev-vcs

On Thu, Mar 04, 2010 at 10:08:06PM +0100, Sebastian Pipping wrote:
> So now that we have a new category "dev-vcs" we need to move suitable
> stuff over there. Moving packages is complex and error prone:
> This mail tries to guide you through and summarize the process, please
> read on.
This contains a critical bug...

"cvs add" and the matching commit aren't mentioned anywhere...

--
Robin Hugh Johnson
Gentoo Linux: Developer, Trustee & Infrastructure Lead
E-Mail : robbat2@gentoo.org
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85
 
Old 03-04-2010, 08:40 PM
Dirkjan Ochtman
 
Default Moving packages to dev-vcs

On Thu, Mar 4, 2010 at 22:38, Robin H. Johnson <robbat2@gentoo.org> wrote:
> This contains a critical bug...
>
> "cvs add" and the matching commit aren't mentioned anywhere...

Well, it *is* a summary.

Thanks for the guide, that'll be useful.

Cheers,

Dirkjan
 
Old 03-04-2010, 09:11 PM
Brian Harring
 
Default Moving packages to dev-vcs

On Thu, Mar 04, 2010 at 10:08:06PM +0100, Sebastian Pipping wrote:
> 1. Copy
> =======
> - Duplicate any traces of dev-util/${PN} in profiles/ to dev-vcs/${PN}
> (fgrep -Rw "dev-util/${PN}" profiles/)
>
> - Copy complete package dev-util/${PN} to dev-vcs/${PN}
> (watch out CVS directories)
>
>
> 2. Switch
> =========
> - Update eclasses
> fgrep -w "dev-util/${PN}" eclass/*.eclass
>
> - Update reverse dependencies
> http://tinderbox.dev.gentoo.org/misc/dindex/dev-util/${PN}
> http://tinderbox.dev.gentoo.org/misc/rindex/dev-util/${PN}
> ^^^
> fgrep -w "dev-util/${PN}" */*/*.ebuild

I'd suggest

pquery --revdep dev-util/${PN} --raw --repo $PORTDIR

instead- throw in a '--attr inherited' if you want to look for
eclasses that are implicated in addition, but it's a safer bet then
relying on fgrep (since it's literal metadata searching) and doesn't
have the potential for staleness tinderbox does. Speed wise it'll be
slower then grep, but not hugely so- reasonably up to date cache, it's
<9s on my hardware so... there's no reason to not do it properly.


> - Append "move dev-util/${PN} dev-vcs/${PN}" line to
> profiles/updates/1Q-2010
> (must come last, described in [1])
>
>
> 3. Remove
> =========
> - Remove package dev-util/${PN} from CVS (as in [2])
> cd dev-util
> cvs rm -Rf ${PN}
> cvs ci -m "dev-util/${PN}: Remove (renamed to dev-vcs/${PN})" ${PN}


Realistically, the dev *really* should be doing visibility scans
after their efforts- yes bones does them too, but it's better to do
the scan after to ensure any breakage is caught quickly. Specifically
via pkgcore-checks, I'd suggest running

pcheck -r $PORTDIR -c visibility '*'

prior to the move, and a dump of that commands output after the cvs rm
invocation above. Presuming everything was updated properly, the
line count should be the same- output will vary slightly (previous
complaints about dev-util/bzr being unavailable become dev-vcs/bzr
unavailable specifically).

At least for my hardware, it's a 3.5 minute scan- so there really
isn't a reason to *not* do this check (if the mips profiles were
cleaned up/out prior it's more like 2.5 minutes on a sidenote)...


If folks are aware of alternate tools for doing these sort of checks
in a timely fashion, feel free to pipe up also- I'm just suggesting
the tools I know.


Random sidenote, anyone looked at using an alternate vcs to do the
work, then proxy it back? Specifically thinking of workflow like svk
(or in this case hg cvs,
https://wiki.mozilla.org/Using_Mercurial_locally_with_CVS ). The
reason I ask is that via building the work up outside of cvs, then
proxying the add/remove/modifications back into it, it should be
possible to minimize the window of cvs breakage down to bare minimum
while still getting the same level of QA validation for the changes.

That's assuming hg/cvs behaves sanely of course, and doing a checkout
(tip as it were) from cvs into hg is fast enough to be viable. Just a
thought- djc, you got any comments on this usage of hg?

~harring
 
Old 03-04-2010, 11:31 PM
Sebastian Pipping
 
Default Moving packages to dev-vcs

On 03/04/10 22:38, Robin H. Johnson wrote:
> This contains a critical bug...
>
> "cvs add" and the matching commit aren't mentioned anywhere...

That's a valid complaint, yes.

I left it out knowingly, maybe not for the better.



Sebastian
 
Old 03-05-2010, 02:17 AM
Ryan Hill
 
Default Moving packages to dev-vcs

On Thu, 04 Mar 2010 22:08:06 +0100
Sebastian Pipping <sping@gentoo.org> wrote:

> So now that we have a new category "dev-vcs" we need to move suitable
> stuff over there. Moving packages is complex and error prone:
> This mail tries to guide you through and summarize the process, please
> read on.
>
> [stuff]

Also search through our documentation and fix any package references.


--
fonts, by design, by neglect
gcc-porting, for a fact or just for effect
wxwidgets @ gentoo EFFD 380E 047A 4B51 D2BD C64F 8AA8 8346 F9A4 0662
 
Old 03-05-2010, 03:57 AM
Serkan Kaba
 
Default Moving packages to dev-vcs

I'm hitting a repoman failure
--------
repoman: dev-vcs is not an official category. Skipping QA checks in
this directory.
Please ensure that you add dev-vcs to
/home/firari/Desktop/çalışma/gentoo/gentoo-x86/profiles/categories
if it is a new category.
-----
After hitting it for the first time I updated the whole profiles dir and
still failing

Thanks in advance.
--
Sincerely,
Serkan KABA
Gentoo Developer
 
Old 03-05-2010, 04:51 AM
Petteri Rty
 
Default Moving packages to dev-vcs

On 03/04/2010 11:28 PM, Markos Chandras wrote:
> On Thursday 04 March 2010 23:08:06 Sebastian Pipping wrote:

>>
>> - Update reverse dependencies
>> http://tinderbox.dev.gentoo.org/misc/dindex/dev-util/${PN}
>> http://tinderbox.dev.gentoo.org/misc/rindex/dev-util/${PN}
> This might require too much time so the tree will be broken for a while I
> guess
>

When doing something like this, you can ask infra to suspend CVS to
rsync for you for a while.

Regards,
Petteri
 

Thread Tools




All times are GMT. The time now is 07:14 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org