diff -ur portage-2.1.2_pre3.old/bin/dispatch-conf portage-2.1.2_pre3/bin/dispatch-conf --- portage-2.1.2_pre3.old/bin/dispatch-conf 2006-10-17 08:17:12.000000000 +0200 +++ portage-2.1.2_pre3/bin/dispatch-conf 2006-10-17 11:52:55.000000000 +0200 @@ -14,6 +14,7 @@ from stat import * from random import * +from output import * import atexit, commands, os, re, shutil, stat, string, sys sys.path = ["/usr/lib/portage/pym"]+sys.path @@ -101,6 +102,12 @@ return False + # config file freezing support + frozenfiles = [] + if self.options.has_key('frozen'): + frozenfiles = self.options['frozen'].split() + + # # Remove new configs identical to current # and @@ -138,7 +145,10 @@ same_wsc = same_wsc and self.options['replace-wscomments'] == 'yes' unmodified = unmodified and self.options['replace-unmodified'] == 'yes' - if same_file: + # keep unaltered or frozen files + if same_file or conf['current'] in frozenfiles: + if conf['current'] in frozenfiles: + print "file is frozen;" os.unlink (conf ['new']) self.post_process(conf['current']) if os.path.exists(mrgconf): diff -ur portage-2.1.2_pre3.old/cnf/dispatch-conf.conf portage-2.1.2_pre3/cnf/dispatch-conf.conf --- portage-2.1.2_pre3.old/cnf/dispatch-conf.conf 2006-10-17 08:17:12.000000000 +0200 +++ portage-2.1.2_pre3/cnf/dispatch-conf.conf 2006-10-17 11:16:20.000000000 +0200 @@ -34,3 +34,6 @@ # Per-session log file of changes made to configuration files #log-file=/var/log/dispatch-conf.log + +# List of files that dispatch-conf will never touch +#frozen = ""