18
|
1 |
#!/bin/bash
|
|
2 |
|
|
3 |
ALL_SPECS="
|
|
4 |
CBEant.spec
|
|
5 |
CBEautoconf.spec
|
|
6 |
CBEautomake.spec
|
|
7 |
CBEbison.spec
|
|
8 |
CBEcmake.spec
|
|
9 |
CBEcoreutils.spec
|
|
10 |
CBEcvs.spec
|
|
11 |
CBEdiff.spec
|
|
12 |
CBEflex.spec
|
|
13 |
CBEgettext.spec
|
|
14 |
CBEgnuawk.spec
|
|
15 |
CBEgnused.spec
|
|
16 |
CBElibtool.spec
|
|
17 |
CBEm4.spec
|
|
18 |
CBEmake.spec
|
|
19 |
CBErsync.spec
|
|
20 |
CBEsubversion.spec
|
|
21 |
CBEyasm.spec
|
|
22 |
"
|
|
23 |
|
|
24 |
usage () {
|
|
25 |
echo "Usage: $0 option"
|
|
26 |
echo "Options:"
|
|
27 |
echo " -s, --src make a source tarball (default: binary)"
|
|
28 |
echo " -a arch, --arch arch make dist for arch, arch must be one of sparc or x86"
|
|
29 |
exit 1
|
|
30 |
}
|
|
31 |
|
|
32 |
mydir=$(cd $(dirname $0); pwd);
|
|
33 |
tardir=${mydir}/tarballs
|
|
34 |
the_cpu=`uname -p`
|
|
35 |
if [ "x$the_cpu" != xsparc ]; then
|
|
36 |
the_cpu=x86
|
|
37 |
fi
|
|
38 |
dist_cpu=$the_cpu
|
|
39 |
|
|
40 |
PKGBUILD_VERSION=`grep '^PKGBUILD_VERSION=' cbe-install | head -1 | cut -f2 -d=`
|
|
41 |
|
|
42 |
DIST=bin
|
|
43 |
|
|
44 |
case "$1" in
|
|
45 |
-s|--src )
|
|
46 |
DIST=src
|
|
47 |
;;
|
|
48 |
-a|--arch )
|
|
49 |
shift
|
|
50 |
case "$1" in
|
|
51 |
sparc|x86)
|
|
52 |
dist_cpu=$1
|
|
53 |
;;
|
|
54 |
*)
|
|
55 |
echo Error: argument to -a or --arch must be either sparc or x86
|
|
56 |
exit 1
|
|
57 |
;;
|
|
58 |
esac
|
|
59 |
;;
|
|
60 |
*)
|
|
61 |
usage
|
|
62 |
;;
|
|
63 |
esac
|
|
64 |
|
|
65 |
pkgsdir=pkgs-${dist_cpu}
|
|
66 |
|
|
67 |
if [ ! -f ${mydir}/CBE_VERSION ]; then
|
|
68 |
echo "Run this script in the wells-cbe directory"
|
|
69 |
exit 1
|
|
70 |
fi
|
|
71 |
|
|
72 |
CBE_VERSION=`cat ${mydir}/CBE_VERSION`
|
|
73 |
DATE=`date +%Y-%m-%d`
|
|
74 |
ARCH=`uname -p`
|
|
75 |
|
|
76 |
if [ $DIST = src ]; then
|
|
77 |
CBE_TARBALL_NAME=desktop-cbe-src-${CBE_VERSION}.tar.bz2
|
|
78 |
else
|
|
79 |
CBE_TARBALL_NAME=desktop-cbe-${CBE_VERSION}-${dist_cpu}.tar.bz2
|
|
80 |
fi
|
|
81 |
|
|
82 |
DIST_SUBDIR=desktop-cbe-$CBE_VERSION
|
|
83 |
|
31
|
84 |
COMMON_DIST_FILES="cbe-install cbe-remove .pkgtoolrc CBE_VERSION NEWS $ALL_SPECS CBEenv.spec ext-sources/env.sh ext-sources/env.csh ext-sources/env_include.sh ext-sources/ld-wrapper ext-sources/gendiff include/CBE.inc include/default-depend.inc"
|
18
|
85 |
|
|
86 |
cd ${mydir}
|
|
87 |
rm -rf $DIST_SUBDIR/*
|
|
88 |
mkdir -p ${mydir}/$DIST_SUBDIR || exit 1
|
|
89 |
|
|
90 |
mkdir -p ${mydir}/$DIST_SUBDIR/ext-sources || exit 1
|
|
91 |
mkdir -p ${mydir}/$DIST_SUBDIR/include || exit 1
|
|
92 |
|
|
93 |
sed \
|
|
94 |
-e "s/@CBE_VERSION@/$CBE_VERSION/g" \
|
23
|
95 |
-e "s/@ARCH@/$ARCH/g" \
|
18
|
96 |
-e "s/@DATE@/$DATE/g" \
|
|
97 |
$mydir/CBE_README > $mydir/$DIST_SUBDIR/README || exit 1
|
|
98 |
|
|
99 |
for f in $COMMON_DIST_FILES; do
|
|
100 |
cp $mydir/$f $mydir/$DIST_SUBDIR/$f || exit 1
|
|
101 |
done
|
|
102 |
|
|
103 |
chmod +x ${mydir}/cbe-install || exit 1
|
|
104 |
chmod +x ${mydir}/cbe-remove || exit 1
|
|
105 |
|
|
106 |
if [ $DIST = src ]; then
|
|
107 |
CBE_SRC_FILES="include/CBE.inc tarballs/pkgbuild-$PKGBUILD_VERSION.tar.bz2"
|
|
108 |
mkdir -p ${mydir}/$DIST_SUBDIR/tarballs || exit 1
|
|
109 |
mkdir -p ${mydir}/$DIST_SUBDIR/patches || exit 1
|
|
110 |
for spec in $ALL_SPECS; do
|
|
111 |
srcs=`spectool get_sources $spec`
|
|
112 |
for src in $srcs; do
|
|
113 |
src=`basename $src`
|
|
114 |
test -f "$mydir/ext-sources/$src" && \
|
|
115 |
src=ext-sources/$src || \
|
|
116 |
src=tarballs/$src
|
|
117 |
CBE_SRC_FILES="$CBE_SRC_FILES $src"
|
|
118 |
done
|
|
119 |
srcs=`spectool get_patches $spec`
|
|
120 |
for src in $srcs; do
|
|
121 |
src=patches/`basename $src`
|
|
122 |
CBE_SRC_FILES="$CBE_SRC_FILES $src"
|
|
123 |
done
|
|
124 |
done
|
|
125 |
for f in $CBE_SRC_FILES; do
|
|
126 |
cp $mydir/$f $mydir/$DIST_SUBDIR/$f || exit 1
|
|
127 |
done
|
|
128 |
else
|
|
129 |
CBE_PKGS="$pkgsdir/SFpkgbuild"
|
|
130 |
mkdir -p ${mydir}/$DIST_SUBDIR/$pkgsdir/5.10 || exit 1
|
|
131 |
for spec in $ALL_SPECS; do
|
|
132 |
pkgs=`spectool get_packages $spec`
|
|
133 |
for pkg in $pkgs; do
|
|
134 |
CBE_PKGS="$CBE_PKGS $pkgsdir/$pkg"
|
|
135 |
test -d $mydir/$pkgsdir/5.10/$pkg && \
|
|
136 |
CBE_PKGS="$CBE_PKGS $pkgsdir/5.10/$pkg"
|
|
137 |
done
|
|
138 |
done
|
|
139 |
for pkg in $CBE_PKGS; do
|
|
140 |
cp -pr $mydir/$pkg $mydir/$DIST_SUBDIR/$pkg || exit 1
|
|
141 |
done
|
|
142 |
fi
|
|
143 |
|
|
144 |
chmod -R a+rX ${mydir}/$DIST_SUBDIR || exit 1
|
|
145 |
chmod 555 $mydir/$DIST_SUBDIR/cbe-install $mydir/$DIST_SUBDIR/cbe-remove
|
|
146 |
|
|
147 |
cd $mydir
|
|
148 |
/bin/tar cvhf - $DIST_SUBDIR | bzip2 -9 \
|
|
149 |
> $CBE_TARBALL_NAME || exit 1
|
|
150 |
rm -rf $DIST_SUBDIR
|