diff options
Diffstat (limited to 'libffi/merge.sh')
-rwxr-xr-x | libffi/merge.sh | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/libffi/merge.sh b/libffi/merge.sh new file mode 100755 index 00000000000..b36fbb92185 --- /dev/null +++ b/libffi/merge.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +# FIXME: do we need a license (or whatever else) header here? + +# This script merges libffi sources from upstream. + +# Default to the tip of master branch. +commit=${1-master} + +fatal() { + echo "$1" + exit 1; +} + +get_upstream() { + rm -rf upstream + git clone https://github.com/libffi/libffi.git upstream + pushd upstream + git checkout $commit || fatal "Failed to checkout $commit" + popd +} + +get_current_rev() { + cd upstream + git rev-parse HEAD +} + +pwd | grep 'libffi$' || \ + fatal "Run this script from the libffi directory" +get_upstream +CUR_REV=$(get_current_rev) +echo Current upstream revision: $CUR_REV + +# Remove the unused files. +pushd upstream +rm -rf ChangeLog.old .appveyor* .ci .github .gitignore .travis* \ + config.guess config.sub libtool-ldflags m4 make_sunver.pl \ + msvc_build +rm -rf .git autogen.sh +cp -a . .. +popd + +rm -rf upstream + +# Update the MERGE file. +cat << EOF > MERGE +$CUR_REV + +The first line of this file holds the git revision number of the +last merge done from the master library sources. +EOF |