Re: [gentoo-dev] Moving packages to dev-vcs

2010-03-17 Thread Sebastian Pipping
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...

I've been moving Git today, properly hopefully.
This is what I've been doing on the shell basically:


cd gentoo-x86

# Copy package to new location
cd dev-vcs
  # Add empty dirs to please CVS
  for dir in $(find ../dev-util/git/ -name CVS -prune -or -type d
-printf 'git/%P\n'); do
mkdir ${dir}
cvs add ${dir}
  done
  cd git
rsync -v --recursive --archive --cvs-exclude ../../dev-util/git/ .
find . -name CVS -prune -or -type f -print0 | xargs --null cvs add
echangelog 'New package (copied from dev-util/git)'
fgrep -Rw dev-util/git . | fgrep -v Header  # Check for self-references
repoman manifest
repoman ci -m 'dev-vcs/git: New package (copied from dev-util/git)'
  cd ..
cd ..

# Extend profiles
cd profiles
  # Duplicate refs to old package
  # ...

  # Add move entry
  echo 'move dev-util/git dev-vcs/git' >> updates/1Q-2010
  echangelog 'Move dev-util/git to dev-vcs/git'
  cvs ci -m 'Move dev-util/git to dev-vcs/git' ChangeLog updates/1Q-2010
cd ..

# Fix eclasses
nano -w eclass/git.eclass
cvs commit -m 'Move from dev-util/git to dev-vcs/git' eclass/git.eclass

# Fix packages depending on the old package
# For each package:
cd category/package
  fgrep -Rwl dev-util/git . | xargs -n 1 sed
's|\bdev-util/git\b|dev-vcs/git|' -i
  echangelog 'Propagate move of dev-util/git to dev-vcs/git'
  repoman manifest
  cvs diff -u | colordiff | less -r
  repoman ci -m "$(basename $(dirname $PWD))/$(basename $PWD): Propagate
move of dev-util/git to dev-vcs/git"
cd ..

# Check if we missed anything
fgrep -Rwl dev-util/git . | fgrep -v ChangeLog | fgrep -v Repository

# Remove old package
cd dev-util
  cvs rm -Rf git
  cvs ci -m "dev-util/git: Remove (renamed to dev-vcs/git)" git
cd ..

# Clean-up profiles
cd profiles
  # Remove refs to old package
  # ...
cd ..


# EOF



Re: [gentoo-dev] Moving packages to dev-vcs

2010-03-15 Thread Robin H. Johnson
On Mon, Mar 15, 2010 at 08:50:16PM +0100, Sebastian Pipping wrote:
> dev-util/cvs
> dev-util/cvs2cl
> dev-util/cvs2svn
> dev-util/cvsd
> dev-util/cvsgraph
> dev-util/cvsps
> dev-util/cvsq
> dev-util/cvsutils
> dev-util/git
> dev-util/gitosis
> dev-util/gitosis-gentoo
For myself as the Git maintainer, and the main cvs-utils guy, feel free
to move all of the above. Just shoot me a reminder after you do, because
part of the infra cfengine stuff will start spewing errors at me (it
doesn't handle package moves on it's own, so I need to update it).

-- 
Robin Hugh Johnson
Gentoo Linux: Developer, Trustee & Infrastructure Lead
E-Mail : robb...@gentoo.org
GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85



Re: [gentoo-dev] Moving packages to dev-vcs

2010-03-15 Thread Sebastian Pipping
I was curious to see how far we have come so far:


Still to be moved
=
dev-util/aegis
dev-util/cola
dev-util/colorsvn
dev-util/cvs
dev-util/cvs2cl
dev-util/cvs2svn
dev-util/cvsd
dev-util/cvsgraph
dev-util/cvsps
dev-util/cvsq
dev-util/cvsutils
dev-util/easygit
dev-util/fossil
dev-util/git
dev-util/gitosis
dev-util/gitosis-gentoo
dev-util/hgsvn
dev-util/qgit
dev-util/rapidsvn
dev-util/subversion
dev-util/svk
dev-util/svn2cl
dev-util/tig
dev-util/tkcvs


Already in place

dev-vcs/archway
dev-vcs/bzr
dev-vcs/bzr-explorer
dev-vcs/bzr-gtk
dev-vcs/bzr-rewrite
dev-vcs/bzr-svn
dev-vcs/bzrtools
dev-vcs/colorcvs
dev-vcs/cssc
dev-vcs/cvsspam
dev-vcs/darcs
dev-vcs/giggle
dev-vcs/gitg
dev-vcs/git-sh
dev-vcs/guilt
dev-vcs/hg-git
dev-vcs/hgsubversion
dev-vcs/hgview
dev-vcs/kdesvn
dev-vcs/mcvs
dev-vcs/mercurial
dev-vcs/monotone
dev-vcs/mr
dev-vcs/qbzr
dev-vcs/qct
dev-vcs/qsvn
dev-vcs/rcs
dev-vcs/statcvs
dev-vcs/statsvn
dev-vcs/stgit
dev-vcs/svn2git
dev-vcs/svnmailer



Re: [gentoo-dev] Moving packages to dev-vcs

2010-03-08 Thread Fabian Groffen
On 04-03-2010 22:08:06 +0100, Sebastian Pipping wrote:
> 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/

Please take masks for packages you move into account for /all/ profiles.


-- 
Fabian Groffen
Gentoo on a different level



Re: [gentoo-dev] Moving packages to dev-vcs

2010-03-06 Thread Sebastian Pipping
On 03/06/10 08:08, Petteri Räty wrote:
> After the move is done could you please come up with a list of all the
> things you needed to take into account and then work with me for example
> to get it included in devmanual.

Good idea.

I opened a bug for it so we don't forget about it.
https://bugs.gentoo.org/show_bug.cgi?id=308151



Sebastian



Re: [gentoo-dev] Moving packages to dev-vcs

2010-03-05 Thread Petteri Räty
On 03/05/2010 07:18 PM, Sebastian Pipping wrote:
> On 03/05/10 18:10, Jeroen Roovers wrote:
>>> 4. Notify
>>> =
> [..]
>>
>> This step should probably include correcting all open bug
>> reports' Summaries to point to the new category, so that CAT/PN can be
>> found using the "simple" search interface.
> 
> Good catch.  Thanks for fixing those on monotone (and others I guess).
> 
> 
> 
> Sebastian
> 

After the move is done could you please come up with a list of all the
things you needed to take into account and then work with me for example
to get it included in devmanual.

Regards,
Petteri



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Moving packages to dev-vcs

2010-03-05 Thread Sebastian Pipping
On 03/04/10 23:11, Brian Harring wrote:
> 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.

Assuming the person using such a tool

 - is fluent in using such tool
   (to at least compensate extra abstraction. with plain CVS you
   at least know for sure what's happening)

 - is manually doing extra commits for manifest fixes
   (like "repoman commit" would do for him otherwise)



Sebastian



Re: [gentoo-dev] Moving packages to dev-vcs

2010-03-05 Thread Sebastian Pipping
On 03/05/10 18:10, Jeroen Roovers wrote:
>> 4. Notify
>> =
[..]
> 
> This step should probably include correcting all open bug
> reports' Summaries to point to the new category, so that CAT/PN can be
> found using the "simple" search interface.

Good catch.  Thanks for fixing those on monotone (and others I guess).



Sebastian



Re: [gentoo-dev] Moving packages to dev-vcs

2010-03-05 Thread Jeroen Roovers
On Thu, 04 Mar 2010 22:08:06 +0100
Sebastian Pipping  wrote:

> 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 sp...@g.o. a mail to update references in Layman
>   - (Notify users and developers through Planet Gentoo?)

This step should probably include correcting all open bug
reports' Summaries to point to the new category, so that CAT/PN can be
found using the "simple" search interface.


Regards,
 jer



Re: [gentoo-dev] Moving packages to dev-vcs

2010-03-04 Thread Petteri Räty
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




signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Moving packages to dev-vcs

2010-03-04 Thread Serkan Kaba
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



Re: [gentoo-dev] Moving packages to dev-vcs

2010-03-04 Thread Sebastian Pipping
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



Re: [gentoo-dev] Moving packages to dev-vcs

2010-03-04 Thread Brian Harring
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


pgpZEgVbgxFUU.pgp
Description: PGP signature


Re: [gentoo-dev] Moving packages to dev-vcs

2010-03-04 Thread Dirkjan Ochtman
On Thu, Mar 4, 2010 at 22:38, Robin H. Johnson  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



Re: [gentoo-dev] Moving packages to dev-vcs

2010-03-04 Thread Robin H. Johnson
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 : robb...@gentoo.org
GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85



Re: [gentoo-dev] Moving packages to dev-vcs

2010-03-04 Thread Markos Chandras
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


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Moving packages to dev-vcs

2010-03-04 Thread Ulrich Mueller
> 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):

  Support dev-util/git based overlays

Ulrich



[gentoo-dev] Moving packages to dev-vcs

2010-03-04 Thread Sebastian Pipping
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 sp...@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