I emerged unison. When I unmerged it later, emerge --depclean didn't clean all dependencies. In the meanwhile, I had to run ocaml-rebuild.sh. It seems that ocaml-rebuild.sh or some other thing put additional packages in my world file between emerging and unmerging unison. Unfortunately I forgot to take a note about the packages before I restored my world file from a backup. Reproducible: Didn't try
Yes, it seems that it does inject packages into the world file. Index: files/ocaml-rebuild.sh =================================================================== RCS file: /var/cvsroot/gentoo-x86/dev-lang/ocaml/files/ocaml-rebuild.sh,v retrieving revision 1.7 diff -u -B -r1.7 ocaml-rebuild.sh --- files/ocaml-rebuild.sh 7 Jun 2008 17:38:51 -0000 1.7 +++ files/ocaml-rebuild.sh 9 Dec 2008 01:41:13 -0000 @@ -49,7 +49,7 @@ $emerge --pretend $@ $tobuild else $emerge --unmerge $toclean - $emerge $@ $tobuild + $emerge --oneshot $@ $tobuild fi else echo "Nothing to update"
> - $emerge $@ $tobuild > + $emerge --oneshot $@ $tobuild yes it sucks in that regard but that will be worse as it cleans the packages first thus doing this will remove them from world...
Ah, of course. But wouldn't this simply do both?: Index: files/ocaml-rebuild.sh =================================================================== RCS file: /var/cvsroot/gentoo-x86/dev-lang/ocaml/files/ocaml-rebuild.sh,v retrieving revision 1.7 diff -u -B -r1.7 ocaml-rebuild.sh --- files/ocaml-rebuild.sh 7 Jun 2008 17:38:51 -0000 1.7 +++ files/ocaml-rebuild.sh 9 Dec 2008 12:57:47 -0000 @@ -48,8 +48,7 @@ then $emerge --pretend $@ $tobuild else - $emerge --unmerge $toclean - $emerge $@ $tobuild + $emerge --oneshot $@ $tobuild fi else echo "Nothing to update"
(In reply to comment #3) > - $emerge --unmerge $toclean > - $emerge $@ $tobuild > + $emerge --oneshot $@ $tobuild yes; i've been thinking about something in that vein. this needs to be carefuly tested though as the order is important when rebuilding: if you upgrade ocaml and try to rebuild a package against a caml lib that hasn't been rebuilt yet it'll fail...
should be fixed now