]> git.pld-linux.org Git - projects/rc-scripts.git/blob - run-parts
- oh, use RUNPARTS_DIR
[projects/rc-scripts.git] / run-parts
1 #!/bin/sh
2
3 # run-parts - concept taken from Debian
4 #
5 # modified for PLD by Pawel Wilk <siefca@pld-linux.org>
6 #
7 # NOTE:
8 #       1.) run-parts is now able to get arguments!
9 #       2.) relative pathname of the invoked directory can be
10 #           obtained by reading RUNPARTS_DIR env. variable
11 #       3.) absolute pathname of the invoked directory can be
12 #           obtained by reading RUNPARTS_ADIR env. variable
13 #
14
15 # keep going when something fails
16 set +e
17
18 # std checks
19 if [ $# -lt 1 ]; then
20         echo "Usage: run-parts <dir> <args...>"
21         exit 1
22 fi
23
24 if [ ! -d $1 ]; then
25         echo "Is not a directory: $1"
26         echo "Usage: run-parts <dir> <args...>"
27         exit 1
28 fi
29
30 # assign passed dir name
31 RUNPARTS_DIR=$1
32
33 # assign absolute dir name
34 olddir=`pwd`
35 cd $RUNPARTS_DIR
36 RUNPARTS_ADIR=`pwd`
37 cd $olddir
38 unset olddir
39
40 # export directories for our descendants
41 export RUNPARTS_ADIR RUNPARTS_DIR
42
43 # shift args
44 shift
45
46 # Ignore *~ and *, scripts
47 for i in $RUNPARTS_DIR/*[^~,] ; do
48         [ -d $i ] && continue
49         # Don't run *.{rpmsave,rpmorig,rpmnew,swp} scripts
50         [ "${i%.rpmsave}" != "${i}" ] && continue
51         [ "${i%.rpmorig}" != "${i}" ] && continue
52         [ "${i%.rpmnew}" != "${i}" ] && continue
53         [ "${i%.swp}" != "${i}" ] && continue
54         [ "${i%,v}" != "${i}" ] && continue
55
56         if [ -x $i ]; then
57                 $i $* 2>&1 | awk -v "progname=$i" \
58                               'progname {
59                                    print progname ":\n"
60                                    progname="";
61                                }
62                                { print; }'
63         fi
64 done
65
66 exit 0
This page took 0.122016 seconds and 4 git commands to generate.