Source code
Revision control
Copy as Markdown
Other Tools
#!/bin/bash
# Assume that if STATE_DIR is already defined, we do not need to
# execute this file again.
if [ "x$STATE_DIR" != "x" ]; then
# no need to run script since we've already run
return
fi
export SCRIPT_DIR="dom/media/webrtc/third_party_build"
# first, make sure we're running from the top of moz-central repo
if [ ! -d $SCRIPT_DIR ]; then
echo "Error: unable to find directory $SCRIPT_DIR"
exit 1
fi
# Should we tie the location of the STATE_DIR to the path
# in MOZ_CONFIG_PATH? Probably.
export STATE_DIR=`pwd`/.moz-fast-forward
export LOG_DIR=$STATE_DIR/logs
export TMP_DIR=$STATE_DIR/tmp
if [ ! -d $STATE_DIR ]; then
echo "Creating missing $STATE_DIR"
mkdir -p $STATE_DIR
if [ ! -d $STATE_DIR ]; then
echo "error: unable to find (or create) $STATE_DIR"
exit 1
fi
fi
echo "Using STATE_DIR=$STATE_DIR"
if [ ! -d $LOG_DIR ]; then
echo "Creating missing $LOG_DIR"
mkdir -p $LOG_DIR
if [ ! -d $LOG_DIR ]; then
echo "error: unable to find (or create) $LOG_DIR"
exit 1
fi
fi
echo "Using LOG_DIR=$LOG_DIR"
if [ ! -d $TMP_DIR ]; then
echo "Creating missing $TMP_DIR"
mkdir -p $TMP_DIR
if [ ! -d $TMP_DIR ]; then
echo "error: unable to find (or create) $TMP_DIR"
exit 1
fi
fi
echo "Using TMP_DIR=$TMP_DIR"
# Allow user to override default path to config_env
if [ "x$MOZ_CONFIG_PATH" = "x" ]; then
MOZ_CONFIG_PATH=$STATE_DIR/config_env
echo "Using default MOZ_CONFIG_PATH=$MOZ_CONFIG_PATH"
fi
if [ ! -f $MOZ_CONFIG_PATH ]; then
echo "Creating default config file at $MOZ_CONFIG_PATH"
cp $SCRIPT_DIR/default_config_env $MOZ_CONFIG_PATH
fi
source $MOZ_CONFIG_PATH
function find_base_commit()
{
# read the last line of README.moz-ff-commit to retrieve our current base
# commit in moz-libwebrtc
MOZ_LIBWEBRTC_BASE=`tail -1 third_party/libwebrtc/README.moz-ff-commit`
echo "prelim MOZ_LIBWEBRTC_BASE: $MOZ_LIBWEBRTC_BASE"
# if we've advanced into a chrome release branch, we need to adjust the
# MOZ_LIBWEBRTC_BASE to the last common commit so we can now advance up
# the trunk commits.
MOZ_LIBWEBRTC_BASE=`cd $MOZ_LIBWEBRTC_SRC ; git merge-base $MOZ_LIBWEBRTC_BASE $MOZ_TARGET_UPSTREAM_BRANCH_HEAD`
# now make it a short hash
MOZ_LIBWEBRTC_BASE=`cd $MOZ_LIBWEBRTC_SRC ; git rev-parse --short $MOZ_LIBWEBRTC_BASE`
echo "adjusted MOZ_LIBWEBRTC_BASE: $MOZ_LIBWEBRTC_BASE"
}
export -f find_base_commit
function find_next_commit()
{
# identify the next commit above our current base commit
MOZ_LIBWEBRTC_NEXT_BASE=`cd $MOZ_LIBWEBRTC_SRC ; \
git log --oneline --ancestry-path $MOZ_LIBWEBRTC_BASE^..$MOZ_TARGET_UPSTREAM_BRANCH_HEAD \
| tail -2 | head -1 | awk '{print $1;}'`
}
export -f find_next_commit