mirror of
https://github.com/flatcar/scripts.git
synced 2025-11-28 05:51:43 +01:00
enter_chroot: fix spurious resolv.conf warning
When bootstrapping for the first time, files in chroot/etc/ might not exist, so we can't run `find` on them. This manifests itself currently by spitting out the warning on all initial sdk boots: find: `.../chroot/etc/resolv.conf': No such file or directory People can find this confusing and cause sheriffs to waste time on the wrong thing, so rework the code to avoid this. BUG=None TEST=`cros_sdk --delete ; cros_sdk` no longer warns about resolv.conf Change-Id: I83f892e325e63e682aeb370a9dfc33e284e059d2 Reviewed-on: https://gerrit.chromium.org/gerrit/22845 Reviewed-by: Brian Harring <ferringb@chromium.org> Tested-by: Mike Frysinger <vapier@chromium.org> Commit-Ready: Mike Frysinger <vapier@chromium.org>
This commit is contained in:
parent
9e5b0a43ba
commit
4d8c285509
@ -138,12 +138,16 @@ env_sync_proc() {
|
||||
local poll_interval=10
|
||||
local sync_files=( etc/resolv.conf etc/hosts )
|
||||
|
||||
# Make sure the synced files are writable by normal user, so that we
|
||||
# don't have to sudo inside the loop.
|
||||
local chmods=$(find ${sync_files[@]/#/${FLAGS_chroot}/} '!' -user ${USER})
|
||||
if [ -n "${chmods}" ]; then
|
||||
sudo -- chown ${USER} ${chmods} 1>&2
|
||||
fi
|
||||
# Make sure the files exist before the find -- they might not in a
|
||||
# fresh chroot which results in warnings in the build output.
|
||||
local chown_cmd=(
|
||||
# Make sure the files exists first -- they might not in a fresh chroot.
|
||||
"touch ${sync_files[*]/#/${FLAGS_chroot}/}"
|
||||
# Make sure the files are writable by normal user so that we don't have
|
||||
# to execute sudo in the main loop below.
|
||||
"chown ${USER} ${sync_files[*]/#/${FLAGS_chroot}/}"
|
||||
)
|
||||
sudo_multi "${chown_cmd[@]}"
|
||||
|
||||
# Drop stdin, stderr, stdout, and chroot lock.
|
||||
# This is needed for properly daemonizing the process.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user