summaryrefslogblamecommitdiffstats
path: root/needs-checking/combine-applied
blob: dc00fc2d2f2323605ecfbfd84604eb8a41453a7f (plain) (tree)
1
2
3
4
5
6
7






                                                                      












































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