Added a function to update chroot sudoers automatically.
This function is now called by enter_chroot.sh. A separate change
will call the function from make_chroot
Change-Id: I4fc07c413e56db3e5e7617428f20f2ffc02790d7
BUG=chromium-os:7072
TEST=Took root out of sudoers and ran enter_chroot.sh script; saw that it was re-added.
Review URL: http://codereview.chromium.org/3909001
diff --git a/common.sh b/common.sh
index 19bd0c2..b562e0f 100644
--- a/common.sh
+++ b/common.sh
@@ -460,3 +460,23 @@
seconds="$(( $elapsed_seconds % 60 ))"
echo "Elapsed time: ${minutes}m${seconds}s"
}
+
+# This function is a place to put code to incrementally update the
+# chroot so that users don't need to fully re-make it. It should
+# be called from scripts that are run _outside_ the chroot.
+#
+# Please put date information so it's easy to keep track of when
+# old hacks can be retired and so that people can detect when a
+# hack triggered when it shouldn't have.
+#
+# ${1} specifies the location of the chroot.
+chroot_hacks_from_outside() {
+ # Give args better names.
+ local chroot_dir="${1}"
+
+ # Add root as a sudoer if not already done.
+ if ! sudo grep -q '^root ALL=(ALL) ALL$' "${chroot_dir}/etc/sudoers" ; then
+ info "Upgrading old chroot (pre 2010-10-19) - adding root to sudoers"
+ sudo bash -c "echo root ALL=\(ALL\) ALL >> \"${chroot_dir}/etc/sudoers\""
+ fi
+}