dbus-hlid: bump
[openembedded.git] / contrib / clean-recipe
blob8336f267ca8edffe4978cbb06d3be450cbb59bb2
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;
15 dir=$1
16 if [ ! -d ${dir} ]
17 then
18 echo ${dir} " is not a directory"
19 exit
21 if [ ${dir} = "obsolete" -o ${dir} = "nonworking" ]
22 then
23 echo skipping ${dir}
24 exit
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
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
42 done
43 if [ ${moved} -eq 1 ]
44 then
45 for b in *.bb
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 )