Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(72)

Unified Diff: stateful_update

Issue 4516004: Reduce the size of the stateful update by only copying dirs and some clean up. (Closed) Base URL: http://git.chromium.org/git/dev-util.git@master
Patch Set: Fixes for petkov Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « autoupdate.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: stateful_update
diff --git a/stateful_update b/stateful_update
index 8b26e10123e0e05f8cdb90e8a6091b0657e1c5ad..7f5ddaec7e996bdf90bffddbca6b3778680b8431 100755
--- a/stateful_update
+++ b/stateful_update
@@ -28,67 +28,51 @@ remove_quotes() {
update_dev_image () {
LSB_RELEASE="/etc/lsb-release"
STATEFUL_DIR="/mnt/stateful_partition"
- STATEFUL_IMAGE="$STATEFUL_DIR/stateful.image"
- STATEFUL_MOUNT_POINT="/tmp/s"
+ WORK_DIR="${STATEFUL_DIR}/stateful_update"
if [ -n "${FLAGS_ARGV}" ]; then
BASE_UPDATE_URL=$(remove_quotes "${FLAGS_ARGV}")
else
- if [ -f "$STATEFUL_DIR$LSB_RELEASE" ]; then
- DEVSERVER_URL=$(grep CHROMEOS_DEVSERVER $STATEFUL_DIR$LSB_RELEASE | \
+ if [ -f "${STATEFUL_DIR}${LSB_RELEASE}" ]; then
+ DEVSERVER_URL=$(grep CHROMEOS_DEVSERVER ${STATEFUL_DIR}${LSB_RELEASE} | \
cut -f 2 -d '=')
fi
- if [ -z "$DEVSERVER_URL" ]; then
- DEVSERVER_URL=$(grep CHROMEOS_DEVSERVER $LSB_RELEASE | cut -f 2 -d '=')
+ if [ -z "${DEVSERVER_URL}" ]; then
+ DEVSERVER_URL=$(grep CHROMEOS_DEVSERVER ${LSB_RELEASE} | cut -f 2 -d '=')
fi
# Sanity check.
- if [ -z "$DEVSERVER_URL" ]; then
+ if [ -z "${DEVSERVER_URL}" ]; then
echo >&2 "No CHROMEOS_DEVSERVER URL found in lsb-release file"
exit 1
fi
# Devserver URL should never contain "/update"
- DEVSERVER_URL=$(echo $DEVSERVER_URL | sed -e 's#/update##')
- BASE_UPDATE_URL="$DEVSERVER_URL/static"
+ DEVSERVER_URL=$(echo ${DEVSERVER_URL} | sed -e 's#/update##')
+ BASE_UPDATE_URL="${DEVSERVER_URL}/static"
fi
- STATEFUL_UPDATE_URL="$BASE_UPDATE_URL/stateful.image.gz"
+ STATEFUL_UPDATE_URL="${BASE_UPDATE_URL}/stateful.tgz"
# Prepare directories for update.
- rm -rf "$STATEFUL_DIR/var_new" "$STATEFUL_DIR/dev_image_new"
+ rm -rf "${WORK_DIR}"
+ mkdir "${WORK_DIR}"
- # Prepare and mount new stateful partition.
- rm -rf "$STATEFUL_MOUNT_POINT"
- mkdir -p "$STATEFUL_MOUNT_POINT"
-
- echo "Download stateful partition image from $STATEFUL_UPDATE_URL"
+ echo "Download stateful image from ${STATEFUL_UPDATE_URL}"
# Unzip mount and copy the relevant directories.
# Get the update.
- eval "wget -qS -T 300 -O - \"$STATEFUL_UPDATE_URL\"" | \
- gzip -d > $STATEFUL_IMAGE
+ eval "wget -qS -T 300 -O - \"${STATEFUL_UPDATE_URL}\"" | \
+ tar -C ${WORK_DIR} -xz
echo >&2 "Successfully downloaded update"
- trap "rm -f \"$STATEFUL_IMAGE\"" EXIT
- mount -n -o loop "$STATEFUL_IMAGE" "$STATEFUL_MOUNT_POINT"
- if [ -d "$STATEFUL_MOUNT_POINT/var" ] && \
- [ -d "$STATEFUL_MOUNT_POINT/dev_image" ] ; then
- echo >&2 "Copying new /var from stateful update"
- cp -rf "$STATEFUL_MOUNT_POINT/var" "$STATEFUL_DIR/var_new"
- echo >&2 "Copying new /usr/local from stateful update"
- cp -rf "$STATEFUL_MOUNT_POINT/dev_image" "$STATEFUL_DIR/dev_image_new"
+
+ if [ -d "${WORK_DIR}/var" ] && [ -d "${WORK_DIR}/dev_image" ] ; then
echo >&2 "Notifying startup that an update is available"
- touch "$STATEFUL_DIR/.update_available"
+ touch "${STATEFUL_DIR}/.update_available"
else
echo >&2 "No update available"
fi
-
- umount -n -d "$STATEFUL_MOUNT_POINT"
-
- rm -f "$STATEFUL_IMAGE"
-
- trap - EXIT
}
update_old_state () {
- echo >&2 "Not updating state except for dev_image."
+ echo >&2 "Performing standard stateful update."
}
update_clean_state () {
« no previous file with comments | « autoupdate.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698