samba: Switch to patchdir rather than applying in do_configure
[openembedded.git] / contrib / clean-recipe
1 #!/bin/bash
2 # clean-recipe: a small shell script to clean unneeded patch/diff files from a recipe folder
3 shopt -s extglob 
4 if [ $# -eq 0 ]
5 then
6     echo "usage " $0 "[-d] recipe-dir-name"
7     exit
8 fi
9 delete=0
10 if [ $1 = "-d" ]
11 then
12     delete=1
13     shift;
14 fi
15 dir=$1
16 if [ ! -d ${dir} ]
17 then
18     echo ${dir} " is not a directory"
19     exit
20 fi
21 if [ ${dir} = "obsolete" -o ${dir} = "nonworking" ]
22 then
23     echo skipping ${dir}
24     exit
25 fi
26 cd ${dir}
27 moved=0
28 grep -q "file://.*\\$" *.+(bb|inc) && echo "cannot handle recipes with metavariables in the name" && exit
29 find -name "*.diff" -o -name "*.patch" | (while  read name 
30     do
31         bname=`basename ${name}`
32         dname=`dirname ${name}`
33         grep -q ${bname} *.+(bb|inc) || \
34         if [ ${delete} -eq 0 ]
35         then
36             echo ${name} " in recipe dir $dir is unused"
37         else
38             mkdir -p ../obsolete/${dir}/${dname}
39             git mv ${name} ../obsolete/${dir}/${dname}/
40             moved=1
41         fi
42     done
43     if [ ${moved} -eq 1 ]
44     then
45         for b in *.bb
46         do
47             bitbake -cpatch -b $b || echo patch failed for $b
48         done
49         echo ${dir} ": moved unused files to obsolete dir" | git commit -s -F -
50     fi )