On Fri, 13 Feb 2009 21:57:18 +0100
"Bernhard R. Link" <brl...@debian.org> wrote:

> 1) remove all symlinks in dists/ that should be replaced by proper
> distributions
> 2) add new distributions in conf/distributions with the correct
> Codenames.
> 3) copy all packages (either with temporary pull lines, or with
> a copyfilter for everything like
> $ reprepro copyfilter etch stable 'Package'
> )
> 4) check that everything is copied properly
> 5) remove the old distributions, remove the Pull: options from the
> new ones, add Suite: (if not already done) and run createsymlinks
> and clearvanished (to be extra sure, run dumpunreferenced before
> clearvanished and run --keepunreferenced clearvanished and then check
> if something lost its last reference (should not if everything was
> copied)).

The repositories in question also have problems with incomplete source
listings, so copyfilter didn't work:

$ reprepro copyfilter sid unstable 'Package'
reprepro: main.c:1252: action_d_y_n_copyfilter: Assertion `argc == 3'
failed. Aborted

So, I'm using pulls.

OK, I got a sequence like this:

$ ls -l dists/
total 4
lrwxrwxrwx 1 neil neil    9 Jun 23  2008 sid -> unstable/
drwxrwxr-x 3 neil neil 4096 Feb 12 20:35 unstable

$ rm dists/sid
repeat for each symlink that is wrong.
$ sensible-editor conf/distributions
comment out Suite: and duplicate each entry - change the Codename of
each duplicate from unstable to sid etc.
$ reprepro export
add "Pulls: fixsid" to conf/distributions in the stanza for 
Codename: sid, Pulls: fixlenny to the stanza for Codename: lenny etc.,
create a new file conf/pulls and add: 
Name: fixsid
From: unstable

Name: fixlenny
From: testing
etc.

$ reprepro checkpull sid
$ reprepro pull sid
repeat the pull for each codename:
$ reprepro checkpull lenny
$ reprepro pull lenny
*ensure you are not inadvertently pulling everything only from unstable*
(yes, I did this once, but not twice.)
check the copy:
$ reprepro listfilter sid 'Package'
$ reprepro listfilter unstable 'Package'
$ rm -rf dists/unstable
add / uncomment Suite: unstable etc. for each stanza in
conf/distributions. Remove the original stanzas. Repeat for each wrong
codename.
$ reprepro --delete clearvanished
$ reprepro createsymlinks
$ reprepro export

(probably not necessary but still)

$ ls -l dists/
total 4
drwxr-xr-x 3 neil neil 4096 2009-02-13 21:59 sid
lrwxrwxrwx 1 neil neil    3 2009-02-13 22:04 unstable -> sid

Phew.

-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.linux.codehelp.co.uk/
http://e-mail.is-not-s.ms/

Attachment: pgpsSpRRO0s0E.pgp
Description: PGP signature

Reply via email to