- if [ -r /etc/resolv.conf ] ; then
- if [ -d $target/etc/resolvconf/run ] ; then # resolvconf without /run
- # sanity check to avoid "input file is output file",
- # see http://bts.grml.org/grml/issue984
- if ! [ -L $target/etc/resolvconf/run/resolv.conf ] ; then
- cat /etc/resolv.conf >> $target/etc/resolvconf/run/resolv.conf
- else
- echo "Error: /etc/resolvconf/run/resolv.conf in chroot should not be a symlink." >&2
- echo " Looks like something is wrong, please fix manually." >&2
- exit 1
- fi
- elif [ -L $target/etc/resolvconf/run ] ; then # resolvconf with /run
- # /etc/resolvconf/run symlinks to /run/resolvconf
- mkdir -p $target/run/resolvconf
- cat /etc/resolv.conf >> $target/run/resolvconf/resolv.conf
- else # no resolvconf installed in chroot
- if ! [ -L $target/etc/resolv.conf ] ; then
- cat /etc/resolv.conf >> $target/etc/resolv.conf
- else
- echo "Error: /etc/resolv.conf in chroot should not be a symlink (resolvconf not installed)." >&2
- exit 1
- fi
- fi
- fi
+ # /etc/resolv.conf is usually a symlink, pointing out of the chroot.
+ # Make it a file with known contents.
+ rm -f "${target}"/etc/resolv.conf
+ cat /etc/resolv.conf >> "$target"/etc/resolv.conf