summaryrefslogtreecommitdiffstats
path: root/needs-checking/export_patch
blob: 77c6185e31c3ce01f6460198866aacf730c3b28f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#! /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.

. 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 "export_patch: export the patches listed in ./series" 1>&2
	echo "usage: export_patch destination-directory [prefix] " 1>&2
	exit 1
}

DIR="$1"
PREFIX="$2""_"

if [ "$DIR" = "" ]
then
	usage
fi

if [ -e "$DIR" -a ! -d "$DIR" ]
then
	echo "$DIR exists already, but is not a directory." 1>&2
	exit 1
fi

if [ ! -r ./series ]
then
	echo "./series is not readable." 1>&2
	exit 1
fi

mkdir -p "$DIR" || exit 1

count=1
for x in $(cat_series)`
do
	fname=`echo "$count" "$PREFIX" "$x" |\
		 awk '{ if ( $2 != "_" )
				printf("p%05d_%s%s\n", $1, $2, $3); 
			else
				printf("p%05d_%s\n", $1, $3); 
		}'`
	if [ ! -r $P/patches/"$x" ]
	then
		echo "$P/patches/"$x" is not readable. skipping." 1>&2
		continue;
	fi
	cp -f $P/patches/"$x" "$DIR"/"$fname" || continue; 
	count=`expr $count + 1`
done