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

Unified Diff: third_party/libvpx_new/update_libvpx.sh

Issue 1323333002: Copy libvpx from DEPS to src (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update include order and rebase Created 5 years, 3 months 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 | « third_party/libvpx_new/source/config/win/x64/vpx_scale_rtcd.h ('k') | tools/checklicenses/checklicenses.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/libvpx_new/update_libvpx.sh
diff --git a/third_party/libvpx_new/update_libvpx.sh b/third_party/libvpx_new/update_libvpx.sh
new file mode 100755
index 0000000000000000000000000000000000000000..56926bc40780114bc0605e26e671ba59b3df4177
--- /dev/null
+++ b/third_party/libvpx_new/update_libvpx.sh
@@ -0,0 +1,137 @@
+#!/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 libvpx source code with the latest git
+# repository.
+#
+# Make sure you run this in a git checkout of deps/third_party/libvpx!
+
+# Usage:
+#
+# $ ./update_libvpx.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
+
+# Location for the remote git repository.
+GIT_REPO="https://chromium.googlesource.com/webm/libvpx"
+
+GIT_BRANCH="origin/master"
+LIBVPX_SRC_DIR="source/libvpx"
+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.chromium | awk '{ print $2 }')"
+echo "prev_hash:$prev_hash"
+
+rm -rf $LIBVPX_SRC_DIR
+mkdir $LIBVPX_SRC_DIR
+cd $LIBVPX_SRC_DIR
+
+# Start a local git repo.
+git clone $GIT_REPO .
+
+# Switch the content to the latest git repo.
+git checkout -b tot $GIT_BRANCH
+
+add="$(git diff-index --diff-filter=A $prev_hash | grep -v vp10/ | \
+tr -s [:blank:] ' ' | cut -f6 -d\ )"
+delete="$(git diff-index --diff-filter=D $prev_hash | grep -v vp10/ | \
+tr -s [:blank:] ' ' | cut -f6 -d\ )"
+
+# Get the current commit hash.
+hash=$(git log -1 --format="%H")
+
+# README reminder.
+echo "Update README.chromium:"
+echo "==============="
+echo "Date: $(date +"%A %B %d %Y")"
+echo "Branch: master"
+echo "Commit: $hash"
+echo "==============="
+echo ""
+
+# Commit message header.
+echo "Commit message:"
+echo "==============="
+echo "libvpx: Pull from upstream"
+echo ""
+
+# Output the current commit hash.
+echo "Current HEAD: $hash"
+echo ""
+
+# Output log for upstream from current hash.
+if [ -n "$prev_hash" ]; then
+ echo "git log from upstream:"
+ pretty_git_log="$(git log \
+ --no-merges \
+ --topo-order \
+ --pretty="%h %s" \
+ --max-count=20 \
+ $prev_hash..$hash)"
+ if [ -z "$pretty_git_log" ]; then
+ echo "No log found. Checking for reverts."
+ pretty_git_log="$(git log \
+ --no-merges \
+ --topo-order \
+ --pretty="%h %s" \
+ --max-count=20 \
+ $hash..$prev_hash)"
+ fi
+ echo "$pretty_git_log"
+ # If it makes it to 20 then it's probably skipping even more.
+ if [ `echo "$pretty_git_log" | wc -l` -eq 20 ]; then
+ echo "<...>"
+ fi
+fi
+
+# Commit message footer.
+echo ""
+echo "TBR=tomfinegan@chromium.org"
+echo "==============="
+
+# Git is useless now, remove the local git repo.
+# Remove vp10 to cut down on code churn since it is not currently built.
+rm -rf .git vp10
+
+# Add and remove files.
+echo "$add" | xargs -I {} git add {}
+echo "$delete" | xargs -I {} git rm --ignore-unmatch {}
+
+# Find empty directories and remove them.
+find . -type d -empty -exec git rm {} \;
+
+# Mark the scripts as executable so presubmit doesn't complain. The important
+# ones already have the x bit set but some of the files they include do not.
+chmod 755 build/make/*.sh build/make/*.pl configure
+
+# The build system doesn't support files with the same name. Search vp8, vp9 and vpx_dsp
+# for such files.
+duplicate_files=$(find vp8 vp9 vpx_dsp -type f | xargs basename | sort | uniq -d | \
+ egrep -v '(^exports_(dec|enc)|\.h)$' | \
+ xargs -I {} find vp8 vp9 vpx_dsp -name {})
+
+if [ -n "$duplicate_files" ]; then
+ echo "WARNING: DUPLICATE FILES FOUND"
+ echo "It would be a good idea to resolve these before attempting to roll"
+ echo $duplicate_files
+fi
+
+cd $BASE_DIR
« no previous file with comments | « third_party/libvpx_new/source/config/win/x64/vpx_scale_rtcd.h ('k') | tools/checklicenses/checklicenses.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698