summaryrefslogtreecommitdiff
path: root/conf/intel/portage/bashrc
blob: f5f81097ca8241ce6a8dcbb6bc5dbf4c86b07618 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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