diff options
Diffstat (limited to 'conf')
-rw-r--r-- | conf/intel/portage/bashrc | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/conf/intel/portage/bashrc b/conf/intel/portage/bashrc new file mode 100644 index 0000000..f5f8109 --- /dev/null +++ b/conf/intel/portage/bashrc @@ -0,0 +1,30 @@ +# This file has been automatically generated, do not edit. + +cleancache() { + # By default, binary mode portage downloads binary packages from repository and saves + # them in /var/cache/packages. This saves bandwidth in case of reinstalls/downgrades, + # but will eat up lots of HDD space, possibly preventing further installs/upgrades. + + # To address this issue, we check if /var/cache/packages directory is on its own partition + # case in which we do nothing assuming that user gave it plenty space anyway. But if its + # not the case, and /var/cache/packages is just a directory in the system / root hierarchy, + # then we make sure we remove downloaded binary packages after every installation. + + # This function hooks into the pkg_postinst() phase, after the package files are written + # into the filesystem and registered into the database, and just removes the content of + # /var/cache/packages directory (which is the binary package cache). + + export local PORTDIRDEV=$(find /var/cache -maxdepth 0 -printf "%D") + export local PKGDIRDEV=$(find /var/cache/packages -maxdepth 0 -printf "%D") + if [ $PORTDIRDEV = $PKGDIRDEV ] ; then + rm -rf /var/cache/packages/"${CATEGORY}"/"${P}"*.tbz2 + fi +} + +main() { + if [ "${EBUILD_PHASE}" == "postinst" ]; then + cleancache + fi +} + +main |