keeping old library versions in testing
Hi,
we discussed in Vancouver to keep the old library versions around in
testing as long as anything depends on it, and still allow the new
version in. Today, I had a bit time to fiddle around with britney. What
I actually tested was:
foo | 1 | unstable | source, i386
libfoo1 | 1 | unstable | i386
bar | 1 | unstable | source, i386
(with bar=1 depending on libfoo1, bar=2 depending on libfoo2). After the
testing run (of course minimum waiting switched off) everything was in
testing. Now upgrading foo to version 2, and removing libfoo1 in
unstable, and adding libfoo2. After the next testing run, I had:
foo | 2 | testing | source, i386
libfoo1 | 1 | testing | i386
libfoo2 | 2 | testing | i386
bar | 1 | testing | source, i386
Now I replaced bar with a new "upload" that depends on libfoo2. After
the next testing run, I had this scenario:
foo | 2 | testing | source, i386
libfoo2 | 2 | testing | i386
bar | 2 | testing | source, i386
Ok, that was what I wanted to have. This patch would reduce the amount
to bring in transitions into testing dramatically.
Actually, the change was quite easy. In dpkg.c, I added:
void upgrade_source(dpkg_sources_note *srcsn, dpkg_source *src) {
dpkg_source_note *srcn;
int i;
new_op(srcsn);
assert(is_sources_note(srcsn));
/* first, find the old source, if it exists */
+ /*
srcn = remove_sourcenotetbl(srcsn->sources, src->package);
if (srcn != NULL) {
save_source_note(srcsn, srcn);
for (i = 0; i < srcn->n_arches; i++) {
remove_binaries_by_arch(srcsn, srcn, i, DO_ARCHALL);
}
free_source_note(srcn);
} else {
save_empty_source_note(srcsn, src);
}
+ */
/* then add the new one */
srcn = new_source_note(src, srcsn->n_arches);
add_sourcenotetbl(srcsn->sources, src->package, srcn);
for (i = 0; i < srcsn->n_arches; i++) {
add_binaries_by_arch(srcsn, srcn, src, i, UNDOABLE, DO_ARCHALL);
}
assert(is_sources_note(srcsn));
}
I'm not really a dpkg hacker, but it *seems* to me that this doesn't
generate memory pollution. Of course, I could easily be wrong - but
then, I should take a look when I didn't just come back from a 6 day
trip.
Comments, Suggestions are welcome - as well as application if the patch
is really ok. :)
Cheers,
Andi
--
http://home.arcor.de/andreas-barth/
Reply to: