flatcar-scripts/chroot_version_hooks.d/12_clean_old_config_files
Zdenek Behan eeaf674db4 update hooks: 3c1d3d8be6, take two
add a hook for fixing all pending config updates

BUG=chromium-os:13987
TEST=below
1) export CONFIG_PROTECT="/etc /usr/share"
2) checkout as old as possible revision of cros-overlay, update chroot to it
3) checkout HEAD and update back
4) run the hook, see it update thousands of files correctly

Change-Id: Idabf5475516ed58b76ceee6ffdc817a5f46839ad
Reviewed-on: http://gerrit.chromium.org/gerrit/10022
Reviewed-by: Sameer Nanda <snanda@chromium.org>
Tested-by: Zdenek Behan <zbehan@chromium.org>
2011-10-13 09:56:07 -07:00

25 lines
1002 B
Plaintext

# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
info "Cleaning old configuration files, crosbug.com/13987"
# The filesystem may be polluted by a lot of pending config file updates
# at this point. By changing CONFIG_PROTECT, several of these have become
# permanently stale, as neither tool considers them updates anymore.
# First discard all updates in config files that are still protected, as
# governed by the current CONFIG_PROTECT.
# Autodiscard is option "-9" followed by the "YES" confirmation.
info "Discarding bad updates"
printf '%s\nYES\n' -9 | sudo etc-update
# Overload CONFIG_PROTECT and automerge all possible updates in all sensible
# locations, that is all updates that should've been merged immediately in
# the first place.
# Automerge is the "-5" option.
info "Automerging good updates"
echo "-5" | sudo CONFIG_PROTECT="/etc /usr/share" etc-update
exit 0