Control: found -1 044+223-1 Control: tag -1 + patch Hi,
Thomas Lange: >>>>>> On Tue, 28 Jun 2016 23:52:13 +0200, Matteo Settenvini >>>>>> <matteo...@member.fsf.org> said: > > cp: cannot overwrite non-directory > '/var/tmp/dracut.NWphxq/initramfs/bin' with directory > '/var/lib/dracut/console-setup-dir/bin > Please check if you have installed the package console-setup or > console-setup-mini which include setupcon. It would be nice if you > could provide verbose or debug output of the build process of the > initrd. I can reproduce this, with console-setup 1.158 installed: /usr/lib/dracut/modules.d/09console-setup/module-setup.sh@26(install): cp -a /var/lib/dracut/console-setup-dir/bin /var/lib/dracut/console-setup-dir/etc /var/tmp/dracut.00KQcT/initramfs/ cp: cannot overwrite non-directory '/var/tmp/dracut.00KQcT/initramfs/bin' with directory '/var/lib/dracut/console-setup-dir/bin' I believe that's caused by 09console-setup/module-setup.sh not supporting merged-/usr systems correctly, i.e. it assumes that $initdir/bin is a directory. Here's what it attempts to do: cp -a $vardir/console-setup-dir/* $initdir/ … which fails on merged-/usr systems with the error message reported by Matteo, because in that case, $initdir/bin is a symlink to $initdir/usr/bin. This patch fixes the problem for me: --- /usr/lib/dracut/modules.d/09console-setup/module-setup.sh.orig 2017-01-21 10:14:02.876715175 +0100 +++ /usr/lib/dracut/modules.d/09console-setup/module-setup.sh 2017-01-21 10:14:32.979885559 +0100 @@ -23,7 +23,8 @@ local vardir vardir=/var/lib/dracut - cp -a $vardir/console-setup-dir/* $initdir/ + cp -a $vardir/console-setup-dir/bin/* $initdir/bin/ + cp -a $vardir/console-setup-dir/etc/* $initdir/etc/ # gzip is workaround a bug in current console-setup inst_multiple gzip $(cat $vardir/console-setup-files) inst ${moddir}/console-setup.sh /lib/udev/console-setup I don't know, however, whether there are cases when there could be other things than 'bin' and 'etc' in $vardir/console-setup-dir/. If that would be the case, then my simplistic patch would not be enough, and a more subtle method (e.g. using rsync) would be needed. Cheers, -- intrigeri