if myconf.has_key("var_tmpfs_portage"):
conf_values["var_tmpfs_portage"]=myconf["var_tmpfs_portage"];
+ if myconf.has_key("port_logdir"):
+ conf_values["port_logdir"]=myconf["port_logdir"];
+
def import_modules():
# import catalyst's own modules (i.e. catalyst_support and the arch modules)
targetmap={}
# also where it will put its temporary files and caches.
storedir="/var/tmp/catalyst"
+# port_logdir is where all build logs will be kept. This dir will be automatically cleaned
+# of all logs over 30 days old. If left undefined the logs will remain in the build directory
+# as usual and get cleaned every time a stage build is restarted.
+# port_logdir="/var/tmp/catalyst/tmp"
+
# var_tmpfs_portage will mount a tmpfs for /var/tmp/portage so building takes place in RAM
# this feature requires a pretty large tmpfs ({open,libre}office needs ~8GB to build)
# WARNING: If you use too much RAM everything will fail horribly and it is not our fault.
self.mountmap["/var/cache/icecream"]="/var/cache/icecream"
self.env["PATH"]="/usr/lib/icecc/bin:"+self.env["PATH"]
+ if self.settings.has_key("port_logdir"):
+ self.mounts.append("/var/log/portage")
+ self.mountmap["/var/log/portage"]=self.settings["port_logdir"]
+ self.env["PORT_LOGDIR"]="/var/log/portage"
+ self.env["PORT_LOGDIR_CLEAN"]='find "${PORT_LOGDIR}" -type f ! -name "summary.log*" -mtime +30 -delete'
+
def override_cbuild(self):
if self.makeconf.has_key("CBUILD"):
self.settings["CBUILD"]=self.makeconf["CBUILD"]
setup_myfeatures(){
setup_myemergeopts
- export FEATURES="-news"
+ export FEATURES="-news clean-logs"
if [ -n "${clst_CCACHE}" ]
then
export clst_myfeatures="${clst_myfeatures} ccache"