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/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]