OSDN Git Service

Merge "e2fsck: read only parameter incorrectly compared"
[android-x86/external-e2fsprogs.git] / lib / ss / mk_cmds.sh.in
1 #!/bin/sh
2 #
3 #
4
5 datarootdir=@datarootdir@
6 DIR="${DIR-@datadir@/ss}"
7 SS_DIR="@SS_DIR@"
8 AWK=@AWK@
9 SED=@SED@
10
11 for as_var in \
12   LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
13   LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
14   LC_TELEPHONE LC_TIME
15 do
16   if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
17     eval $as_var=C; export $as_var
18   else
19     $as_unset $as_var
20   fi
21 done
22
23 if test "x$1" = x ; then
24     echo "Usage: mk_cmds file"
25     exit 1
26 fi
27
28 if test -n "$_SS_DIR_OVERRIDE" ; then
29     DIR="$_SS_DIR_OVERRIDE";
30 fi
31
32 if test ! -f $DIR/ct_c.sed || test ! -f $DIR/ct_c.awk ; then
33     DIR="$SS_DIR"
34 #    echo "Falling back to $DIR..."
35     if test ! -f "$DIR/ct_c.sed" || test ! -f "$DIR/ct_c.awk" ; then
36         echo "mk_cmds: Couldn't find mk_cmds's template files."
37         exit 1
38     fi
39 fi
40
41 FILE="$1"
42 ROOT=`echo $1 | sed -e s/.ct$//`
43 BASE=`basename "$ROOT"`
44 TMP="ct$$.c"
45
46 if test ! -f "$FILE" ; then
47     echo "mk_cmds: $FILE: File not found"
48     exit 1;
49 fi
50
51 ${SED} -f "${DIR}/ct_c.sed"  "${FILE}" \
52         | ${AWK} -f "${DIR}/ct_c.awk" "rootname=${ROOT}" "outfile=${TMP}" -
53
54 if grep "^#__ERROR_IN_FILE" "${TMP}" > /dev/null; then
55         rm "${TMP}"
56         exit 1
57 else
58         rm -f "${BASE}.c"
59         mv -f "${TMP}" "${BASE}.c"
60         chmod -w "${BASE}.c"
61         exit 0
62 fi