| #!/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 |