- If in the past, dispatch-conf copied a file /etc/portage/package.* (package.use in this example) into /etc/config-archive/etc/portage/ , - Then the user changes /etc/portage to contain the directory /etc/portage/package.use/<FILES> - The next time dispatch-conf tries to copy /etc/portage/package.use, it does not check if 1./ /etc/portage/package.use or 2./etc/config-archive/etc/portage/package.use are files or directories. This results in the copy to config-archive to fail with the following before the 'diff' stage; (note that this error is not obvious, as diff 'clear's the screen) dispatch-conf: Error copying /etc/portage/package.use/package.use to /etc/config-archive/etc/portage/package.use/package.use: [Errno 20] Not a directory: u'/etc/config-archive/etc/portage/package.use/package.use'; fatal dispatch-conf: Error copying /etc/portage/package.use/._cfg0000_package.use to /etc/config-archive/etc/portage/package.use/package.use.dist.new: [Errno 20] Not a directory: u'/etc/config-archive/etc/portage/package.use/package.use.dist.new'; fatal - Following the diff/merge, dispatch-conf raises the following error: File "/usr/sbin/dispatch-conf", line 431, in <module> d.grind (portage.settings ['CONFIG_PROTECT']) File "/usr/sbin/dispatch-conf", line 293, in grind self.post_process(conf['current']) File "/usr/sbin/dispatch-conf", line 326, in post_process portage.dispatch_conf.file_archive_post_process(archive) File "/usr/lib/portage/pym/portage/dispatch_conf.py", line 171, in file_archive_post_process os.rename(archive + '.dist.new', archive + '.dist') Note: The file in-place is merged correctly, the problem is that the /etc/conf-archive is left out-of-date. Reproducible: Always
Duplicate of bug #256376 I think.
*** This bug has been marked as a duplicate of bug 256376 ***