ccollect:0.6.2->0.7.0
[nslu2-linux/optware.git] / scripts / clean-workdir.sh
blobaf8d3be4e93e46eb3d73981138323eafcd36c092
1 #!/bin/sh
3 # This script will
4 # rm -rf builds/$p/* builds/$p_*-ipk
5 # if P_IPK built, and
6 # either $p-stage is not used, or $p staged already
8 test -n "$DEBUG" && set -x
10 if test "x$1" = "x-d"
11 then shift; dry_run=1
14 PKGS_VAR=$1
15 if test -z "$PKGS_VAR"; then
16 echo Usage1: $0 [-d] pkgname1 pkgname2 ...
17 echo Usage2: $0 [-d] PACKAGES
18 echo -d dry run
19 exit
22 if test `echo $PKGS_VAR | tr [a-z] [A-Z]` = "$PKGS_VAR"
23 then packages=`make query-${PKGS_VAR}`
24 else packages=$*
27 for p in ${packages}
29 echo -n $p
31 all_ipk_files_exist=true
32 ipk_dirs=""
33 for IPK in `sed -n '/^[^#].*_IPK[:? ]*=/s/[:? ]*=.*//p' make/${p}.mk`; do
34 ipk=`make -s query-${IPK}`
35 test -f $ipk || all_ipk_files_exist=false
36 ipk_dirs="$ipk_dirs `make -s query-${IPK}_DIR`"
37 done
39 BUILD_DIR_VAR=`sed -n '/^[^#].*_BUILD_DIR[:? ]*=/s/[:? ]*=.*//p' make/${p}.mk | head -1`
40 build_dir=`make -s query-${BUILD_DIR_VAR}`
42 staging_count=`grep -l ' ${p}-stage' make/*.mk | wc -l`
43 todo="skip"
44 if test 0 -eq `grep -c 'IPK): .*/\.built' make/${p}.mk`; then
45 todo="skip"
46 elif test -d "$build_dir" -a "$all_ipk_files_exist" = "true"; then
47 if test $staging_count -le 1 -o -f "$build_dir/.staged"; then
48 if ! ls $build_dir/* > /dev/null 2>&1; then
49 todo="already clean"
50 elif test -n "$dry_run"; then
51 todo="dry run"
52 else
53 todo="clean"
58 echo " $todo"
59 if test "$todo" = "clean"; then
60 echo $build_dir/* $ipk_dirs | xargs rm -rf
62 done