#! /bin/bash # This script is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. # # See the COPYING and AUTHORS files for more details. # # Make superpatch from currently applied patches using combinediff. # . patchfns 2>/dev/null || . /usr/lib/patch-scripts/patchfns 2>/dev/null || . $PATCHSCRIPTS_LIBDIR/patchfns 2>/dev/null || { echo "Impossible to find my library 'patchfns'." echo "Check your install, or go to the right directory" exit 1 } usage() { echo "Usage: combine-applied output-file" exit 1 } if [ $# -ne 1 ] then usage fi need_file_there applied-patches CURRENT=$(mktemp /tmp/cmbd-XXXXXXXX) for FILE in `cat applied-patches` do NEXT=$(mktemp /tmp/cmbd-XXXXXXXX) if [ -f $P/patches/$FILE ] then combinediff $CURRENT $P/patches/$FILE > $NEXT elif [ -f $P/patches/$FILE.patch ] then combinediff $CURRENT $P/patches/$FILE.patch > $NEXT elif [ -f $FILE ] then combinediff $CURRENT $FILE > $NEXT fi rm $CURRENT CURRENT=$NEXT done mv $NEXT "$1"