Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 250192 - dev-lang/ocaml - ocaml-rebuild.sh injects packages into world
Summary: dev-lang/ocaml - ocaml-rebuild.sh injects packages into world
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High major
Assignee: Gentoo Team for the ML programming language family
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-12-07 16:40 UTC by Paulo da Silva
Modified: 2008-12-11 08:24 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paulo da Silva 2008-12-07 16:40:05 UTC
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
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2008-12-09 01:43:02 UTC
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"
Comment 2 Alexis Ballier gentoo-dev 2008-12-09 08:58:56 UTC
> -               $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...
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2008-12-09 12:58:24 UTC
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"
Comment 4 Alexis Ballier gentoo-dev 2008-12-09 13:01:13 UTC
(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...
Comment 5 Alexis Ballier gentoo-dev 2008-12-11 08:24:41 UTC
should be fixed now