Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 48024 - libperl_rebuilder should do --oneshot emerges
Summary: libperl_rebuilder should do --oneshot emerges
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Robert Coie (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on: 62301
Blocks:
  Show dependency tree
 
Reported: 2004-04-16 03:19 UTC by Mike Nerone
Modified: 2005-01-26 09:19 UTC (History)
5 users (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 Mike Nerone 2004-04-16 03:19:33 UTC
Currently, it adds everything it rebuilds into the world file. Bad script! Bad! On a side note, why does it compile everything six times??? :)
Comment 1 Robin Smidsrød 2004-08-12 02:30:43 UTC
The script is almost complete with oneshot added on lines 257 and 284.

Please add --oneshot to the emerge command on line 67 and we should be finished with this bug.
Comment 2 Tom Wesley 2004-08-28 07:35:42 UTC
Please please...  I've just spent "some time" cleaning a rather large world file only to have this script fill it up again!
Comment 3 Thilo Six 2004-09-06 13:40:28 UTC
same here

* it compiles everything many times. I stopped during 3rd round bei CTRL-C
* adds everything it rebuilds into the world file, now this is really bad.

please have a look at this. thank u all.
Comment 4 Thilo Six 2004-09-06 13:48:18 UTC
also have a look at:

#62669 libperl_rebuilder should really be a bit more robust
http://bugs.gentoo.org/show_bug.cgi?id=62669
Comment 5 Michael Cummings (RETIRED) gentoo-dev 2004-10-16 07:21:30 UTC
http://dev.gentoo.org/~mcummings/perl-cleaner

Intended to do the job that libperl_rebuilder does (but cleaner, with oneshots, and better determination of what specifically needs to be reinstalled) as well as some other perl tree maintenance. Feedback most welcome before it hits the tree :)
Comment 6 Mike Nerone 2004-10-18 10:15:10 UTC
Cool, Michael! That's much better. Unfortunately, since I had already manually done the rebuilds, I can't test that functionality. The logic seems good, though, and at least it successully determined that no ebuilds needed rebuilding on my systems. I was able to test the .ph updating though, and that works fine for me.
Comment 7 Mike Nerone 2004-10-18 10:51:58 UTC
I spoke too soon. I *was* able to test the rebuilding part, and it worked.

I did notice that it rebuilt nearly all PH files regardless of whether they needed updating or not. Perhaps a check could be made for which .h's are newer than the corresponding .ph's to rebuild only what's changed? Just a thought...it's certainly functional the way it is. :)

And a few minor quibbles, all related to "ask": A) IMHO, the "ask" option should be "-a" to match Gentoo standards. B) "ask" is currently ignored by the PH-rebuilding step. C) When using "ask," it says "Press any key" a couple of times, when in fact, you must press ENTER. D) Perhaps a "pretend" option that assumes negative answers to "ask," again just to match Gentoo standards.
Comment 8 David Grant 2004-12-09 01:52:52 UTC
what's wrong with having them in the world file?
Comment 9 Mr. Bones. (RETIRED) gentoo-dev 2004-12-09 02:42:06 UTC
because world is supposed to be user maintainable and it's annoying to have crap added there en masse by the libperl_rebuilder script.
Comment 10 Mike Nerone 2004-12-10 12:53:34 UTC
One of the primary purposes of portage, like any robust package management system, is to manage dependencies. The world file is supposed to list only those packages that the user explicitly wants. Portage looks at what those packages depend on in order to know what *other* packages need to be installed. Such dependencies sometimes go away, so an installed package is no longer needed. An "emerge depclean" (which I do regularly) will remove them, but only if they have *not* been added to the world file. A good example of packages whose dependencies go away frequently happenes to be perl modules. Allowing them to be added to the world file when the user doesn't want them explicitly means that they will never be removed, even if no longer necessary. This violates portage's dependency management model.
Comment 11 Michael Cummings (RETIRED) gentoo-dev 2005-01-26 09:19:56 UTC
perl-cleaner has now officially replaced libperl_rebuild and does do oneshots for all emerges. closing.