blob: e9def824af4fac2ffb7220728e0910849f66504b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
#!/bin/sh
#
# $XFree86: xc/programs/Xserver/hw/xfree86/etc/bindist/build-bindist,v 1.4 2000/12/14 21:50:09 dawes Exp $
#
Usage()
{
echo `basename $0` [-l] [prefix] from-dir to-dir
exit 1
}
createlist=NO
case $1 in
-l)
createlist=YES
shift
;;
esac
case $# in
3)
PRE=$1
shift
;;
2)
PRE=X
;;
*)
Usage
;;
esac
FROMDIR=$1
TODIR=$2
if [ ! -d $FROMDIR ]; then
echo No such dir $FROMDIR
exit 2
fi
if [ ! -d $TODIR ]; then
echo No such dir $TODIR
exit 2
fi
cd $TODIR
SUBDIRS="`find . -type d ! -name bindist -print`"
DIRFILE=dir
BINDIR=bindist
EXTRASFILE=extras
TAR="gnu-tar"
TAROPTS="-c -v -z"
TARLOPTS="-t -v -z -i"
CKSUM=md5
SUMFILE=SUMS.md5
LISTFILE=FILES
GenList()
{
(cd $TODIR/$BINDIR
rm -f $SUMFILE $LISTFILE
for i in *.tgz; do
echo $i
$CKSUM $i >> $SUMFILE
echo $i >> $LISTFILE
echo "------------" >> $LISTFILE
$TAR $TARLOPTS -f $i >> $LISTFILE
echo "" >> $LISTFILE
done
if [ -f $TODIR/$EXTRASFILE ]; then
for i in `cat $TODIR/$EXTRASFILE`; do
$CKSUM `basename $i` >> $SUMFILE
done
fi
)
}
if [ ! -d $TODIR/$BINDIR ]; then
mkdir $TODIR/$BINDIR
fi
if [ $createlist = YES ]; then
GenList
exit 0;
fi
for d in $SUBDIRS; do
if [ ! -d $TODIR/$d ]; then
echo No such dir $TODIR/$d
exit 2
fi
(cd $TODIR/$d;
if [ ! -f $DIRFILE ]; then
echo No file $DIRFILE in $TODIR/$d
# exit 3
else
DEFPREFIX=`cat $DIRFILE`
for i in *-list; do
name=`basename $i -list`
tarball=$PRE$name.tgz
echo creating $tarball
lfile="-T $TODIR/$d/$i"
if [ -f $name-excl ]; then
xfile="-X $TODIR/$d/$name-excl"
else
xfile=""
fi
if [ -f $name-dir ]; then
PREFIX=`cat $name-dir`
else
PREFIX=$DEFPREFIX
fi
(cd $FROMDIR/$PREFIX
$TAR $TAROPTS -f $TODIR/$BINDIR/$tarball $lfile $xfile
)
done
fi
if [ -f $EXTRASFILE ]; then
for i in `cat $EXTRASFILE`; do
rm -f $TODIR/$BINDIR/`basename $i`
cp $FROMDIR/$PREFIX/$i $TODIR/$BINDIR
done
fi
)
done
# GenList
exit 0
|