Summary: | want option emerge -del package to delete tar file after compile | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Benjamin Schulz <schulz.benjamin> |
Component: | Enhancement/Feature Requests | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED DUPLICATE | ||
Severity: | enhancement | CC: | soulse |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Benjamin Schulz
2005-03-13 15:12:10 UTC
options 'd' 'e' 'l' are already in use by emerge. ----------------------------------------------------------------------------- --debug (-d) Tells emerge to run the emerge command in --debug mode. In this mode the bash build environment will run with the -x option, causing it to output verbose debugging information to stdout. --debug is great for finding bash syntax errors. --emptytree (-e) Reinstalls all world packages and their dependencies to the current USE specifications while differing from the installed set of packages as little as possible. You should run with --pretend first to make sure the result is what you expect. --changelog (-l) Use this in conjunction with the --pretend action. This will show the ChangeLog entries for all the packages that will be upgraded. ----------------------------------------------------------------------------- A feature similar to what you desire does exist however, that is used in gentoos uclibc profiles that deletes the contents of the SRC_URI from your distdir/ after the package has been successfully merged. If you wanted to take advantage of that today you could do so by doing. cp $(portageq envvar PORTDIR)/profiles/uclibc/profile.bashrc /etc/portage/bashrc And then adding FEATURES=distclean to your /etc/make.conf I think this is a little bit "hidden" for the user. Should be more documented or archived easier. BTW: Why was the cp necessary? I think it would be good if gentoo comes already with a setting that this cp would not be needed. Thanks The cp was needed because the bashrc script is what provides the FEATURE. I've made an ugly oneliner to calculate the average "number of revisions per version" for packages that have big distfiles. For >=1MB, it's 0.44, and for packages >=10MB, it's 0.76. That means that someone using such a "keep distfiles empty" feature and who do regular updates, going through all revisions of his packages, will increase his mirrors bandwidth usage by 44% on >=1MB files, and 76% on >=10MB files. And that doesn't takes into account that some files are shared beetween several packages or packages versions (think of linux kernel sources for instance), which would increase this figures a bit more. Despite this is a theoretical average figure, i think it's worth being taken into account. At least, if such a feature goes public, it should come with a warning saying that it's bad to be a bandwidth sucker, etc. But still, I personnaly prefer the "cron job doing a smart distfiles cleaning" approach, like for instance one of this scripts that are on the forum or on bug #33877. this implies two del options. One that deletes the tar file after installing (and comes with warnings) The other one that deletes the old tar file after an upgrade is made. This then should be the standard behaviour in portage. Only way this will be implemented is by an external tool. Users will be free to use this in hooks. *** This bug has been marked as a duplicate of 33877 *** the problem by an external tool is, that it has to be runned after emerge. When doing an emerge -uD world an external tool would not solve any disk space problem. since durung emerge all will be stored on disk. or you could code a local bashrc to do this for you |