#!/bin/sh ######################################################################## # Helper script for sdist # # Usage: sage-clone-source SRC DST # # Create empty directory DST (delete it if it existed) and copy all # Sage source files from SRC to DST using git. # # Also extract auto-generated files from the configure tarball. ######################################################################## set -e if [ $# -ne 2 ]; then echo >&2 "Usage: $0 SRC DST" exit 2 fi SRC="$1" DST="$2" cd "$SRC" # Filename of configure tarball, which is downloaded if it doesn't exist CONFVERSION=`cat build/pkgs/configure/package-version.txt` CONFBALL="$SRC/upstream/configure-$CONFVERSION.tar.gz" [ -f "$CONFBALL" ] || ./bootstrap -D rm -rf "$DST" mkdir -p "$DST" git clone --origin upstream "$SRC" "$DST" cd "$DST" git remote set-url upstream "$SAGE_REPO_ANONYMOUS" git remote set-url --push upstream "do not push to upstream" git remote add trac https://github.com/sagemath/sagetrac-mirror.git git remote set-url --push trac "do not push to trac" # Save space git gc --aggressive --prune=now # Extract configure tarball. Use m option such that the timestamps of # these auto-generated files are NOW (instead of the time stored in the # tarball). We need these files to be more recent than the input files # like configure.ac, otherwise "make" gets confused. tar xzmf "$CONFBALL" echo "Finished cloning Sage sources"