This commit was generated by cvs2svn to track changes on a CVS vendor
[deliverable/binutils-gdb.git] / readline / support / mkdist
1 #! /bin/bash -
2 #
3 # mkdist - make a distribution directory from a master manifest file
4 #
5 # usage: mkdist [-m manifest] [-s srcdir] [-r rootname] [-v] version
6 #
7 # SRCDIR defaults to src
8 # MANIFEST defaults to $SRCDIR/MANIFEST
9 #
10
11 SRCDIR=src
12 ROOTNAME=bash
13
14 usage()
15 {
16 echo usage: mkdist [-m manifest] [-s srcdir] [-r rootname] [-v] version 1>&2
17 exit 2
18 }
19
20 vmsg()
21 {
22 if [ -n "$verbose" ]; then
23 echo mkdist: "$@"
24 fi
25 }
26
27 while getopts m:s:r:v name
28 do
29 case $name in
30 m) MANIFEST=$OPTARG ;;
31 s) SRCDIR=$OPTARG ;;
32 r) ROOTNAME=$OPTARG ;;
33 v) verbose=yes ;;
34 ?) usage ;;
35 esac
36 done
37
38 : ${MANIFEST:=$SRCDIR/MANIFEST}
39
40 vmsg using $MANIFEST
41
42 shift $(( $OPTIND - 1 ))
43
44 if [ $# -lt 1 ]; then
45 usage
46 fi
47
48 version=$1
49 newdir=${ROOTNAME}-$version
50
51 vmsg creating distribution for version $version in $newdir
52
53 if [ ! -d $newdir ]; then
54 mkdir $newdir || { echo $0: cannot make directory $newdir 1>&2 ; exit 1; }
55 fi
56
57 dirmode=755
58 filmode=644
59
60 while read fname type mode
61 do
62 [ -z "$fname" ] && continue
63
64 case "$fname" in
65 \#*) continue ;;
66 esac
67
68 case "$type" in
69 d) mkdir $newdir/$fname ;;
70 f) cp -p $SRCDIR/$fname $newdir/$fname ;;
71 *) echo "unknown file type $type" 1>&2 ;;
72 esac
73
74 if [ -n "$mode" ]; then
75 chmod $mode $newdir/$fname
76 fi
77
78 done < $MANIFEST
79
80 # cut off the `-alpha' in something like `2.0-alpha', leaving just the
81 # numeric version
82 #version=${version%%-*}
83
84 #case "$version" in
85 #*.*.*) vers=${version%.*} ;;
86 #*.*) vers=${version} ;;
87 #esac
88
89 #echo $vers > $newdir/.distribution
90
91 #case "$version" in
92 #*.*.*) plevel=${version##*.} ;;
93 #*) plevel=0 ;;
94 #esac
95 #[ -z "$plevel" ] && plevel=0
96 #echo ${plevel} > $newdir/.patchlevel
97
98 vmsg $newdir created
99
100 exit 0
This page took 0.033928 seconds and 5 git commands to generate.