When setting up the portage_confdir, we should make sure it exists, and that we rsync it properly (regardless of the settings given by the user).
Bugzilla: https://bugs.gentoo.org/538652 Reported-by: Joshua Kinard <[email protected]> --- catalyst/base/stagebase.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py index 4a0b482..740e05d 100644 --- a/catalyst/base/stagebase.py +++ b/catalyst/base/stagebase.py @@ -893,8 +893,12 @@ class StageBase(TargetBase, ClearBase, GenBase): else: if "portage_confdir" in self.settings: log.info('Configuring %s...', self.settings['port_conf']) - cmd("rsync -a " + self.settings["portage_confdir"] + "/ " + - self.settings["chroot_path"] + self.settings["port_conf"], + dest = normpath(self.settings['chroot_path'] + '/' + self.settings['port_conf']) + ensure_dirs(dest) + # The trailing slashes on both paths are important: + # We want to make sure rsync copies the dirs into each + # other and not as subdirs. + cmd('rsync -a %s/ %s/' % (self.settings['portage_confdir'], dest), "Error copying %s" % self.settings["port_conf"], env=self.env) self.resume.enable("setup_confdir") -- 2.5.2
