blob: 3eca15638cc891aed00e9328021614088d5f801a [file] [log] [blame]
#!/bin/bash -e
#
# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# This tool is used to update libaom source code to a revision of the upstream
# repository. Modified from Chromium src/third_party/libvpx/update_libvpx.sh
# Usage:
#
# $ ./update_libaom.sh [branch | revision | file or url containing a revision]
# When specifying a branch it may be necessary to prefix with origin/
# Tools required for running this tool:
#
# 1. Linux / Mac
# 2. git
export LC_ALL=C
die() {
echo "$@"
exit 1
}
cleanup() {
git remote remove $REMOTE 2>/dev/null
}
# Location for the remote git repository.
GIT_REPO="https://aomedia.googlesource.com/aom"
# Update to TOT by default.
GIT_BRANCH="main"
BASE_DIR=`pwd`
if [ -n "$1" ]; then
GIT_BRANCH="$1"
if [ -f "$1" ]; then
GIT_BRANCH=$(<"$1")
elif [[ $1 = http* ]]; then
GIT_BRANCH=`curl $1`
fi
fi
prev_hash="$(egrep "^Commit: [[:alnum:]]" README.android | awk '{ print $2 }')"
echo "prev_hash:$prev_hash"
REMOTE="update_upstream"
trap cleanup EXIT
# Add a remote for upstream git repository
git remote add $REMOTE $GIT_REPO
# Fetch remote's GIT_BRANCH
git fetch $REMOTE $GIT_BRANCH --tags
# Get commit id corresponding to branch/revision in upstream repository
REMOTE_BRANCHES="$(git remote show $REMOTE)"
if [[ "$REMOTE_BRANCHES" == *"$GIT_BRANCH"* ]]; then
UPSTREAM_COMMIT=$(git rev-list -n 1 $REMOTE/$GIT_BRANCH)
else
UPSTREAM_COMMIT=$(git rev-list -n 1 $GIT_BRANCH)
fi
[ -z "$UPSTREAM_COMMIT" ] \
&& die "Unable to get upstream commit corresponding to ${GIT_BRANCH}";
# Defer the commit until after updating METADATA & README.android.
git merge --no-commit $UPSTREAM_COMMIT
# Get the current commit hash.
hash=$(git log $UPSTREAM_COMMIT -1 --format="%H")
# Update date and commit info in METADATA & README.android.
sed -E -i'' \
-e "s/^([[:space:]]+year:).*/\1 $(date +'%Y')/" \
-e "s/^([[:space:]]+month:).*/\1 $(date +'%-m')/" \
-e "s/^([[:space:]]+day:).*/\1 $(date +'%-d')/" \
METADATA
sed -E -i'' \
-e "s/^(Date:).*/\1 $(date +'%A %B %d %Y')/" \
-e "s/^(Branch:).*/\1 $GIT_BRANCH/" \
-e "s/^(Commit:).*/\1 $hash/" \
README.android
git commit -a -v
echo "Update the version field in README.android and METADATA."
chmod 755 build/cmake/*.pl