/[CCFs]/bin/buildagain
ViewVC logotype

Contents of /bin/buildagain

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.12 - (show annotations)
Fri Nov 11 16:58:45 2005 UTC (19 years ago) by ccflib
Branch: MAIN
Changes since 1.11: +4 -4 lines
*** empty log message ***

1 #! /usr/local/bin/bash
2 #
3 # $Id: buildagain,v 1.10 2005/11/11 16:37:07 ccflib Exp $
4 #
5 # + Build again a specific set of CCF packages
6 # + Moves the resulting CCF to final destination
7 # (makes in part the same that acceptbuild)
8 #
9 # Exit code:
10 # + -1 (255): nothing to build
11 # + 1: shell errors (cd mkdir ...)
12 # + 2: SAS set up cannot find deceit
13
14 if [ -z $1 ] ; then
15 echo "Abort: Undefined package to process again"
16 exit -1
17 fi
18
19 pkg=$1
20
21 cleanup () {
22 cd ~
23 rm -fr $builddir/*
24 exit
25 }
26
27 buildpkg () {
28 pkg=$1
29 echo Attempting to build $pkg ...
30 (make -s -C $pkg clobber 2>&1 && make -s -C $pkg depend 2>&1 && make -s -C $pkg 2>&1) >> $builddir/build.log
31 }
32
33 . $HOME/bin/ccflib.cfg
34
35 builtdir=~/deliveries/built
36
37 trap cleanup SIGINT
38
39 me=`basename $0`
40
41 PATH=$HOME/bin:$PATH
42 export PATH
43
44 plist=`find ${builtdir} -name "*${pkg}*" -print`
45
46 if [ -z "$plist" ] ; then
47 exit -1
48 fi
49
50 saslatest
51 deceit -v 2>&1 || (echo ERROR: deceit missing; exit 2)
52 ccfextseq -v 2>&1 || (echo ERROR: ccfextseq missing; exit 2)
53
54 builddir=$HOME/builds/again
55 if [ -d $builddir ] ; then
56 mv $builddir ${builddir}.old
57 rm -rf ${builddir}.old &
58 fi
59 mkdir -p $builddir
60 cd $builddir || exit 1
61 echo Removing the contents of $builddir ...
62 rm -fr *
63
64 mkdir packages || exit 1
65
66 for p in $plist; do
67 echo -n Unpacking `basename $p` ...
68 tar -C packages -xzf $p || (echo FAILED, aborting ; exit 1)
69 echo " done."
70 done
71
72 # updating the dev directory for any possible change in its files
73
74 CCFDEV=$HOME/ccfdev ; export CCFDEV
75 cd $CCFDEV
76 cvs update 2> /dev/null
77
78 # back to $builddir/packages
79
80 cd ~- ; cd packages
81 . $CCFDEV/setup.sh
82
83
84 for p in $plist; do
85 echo "making package $p"
86 thisp=`basename $p '.tgz' | sed -e 's/-[0-9]\{1,\}\.[0-9]\{1,\}$//'`
87 buildpkg $thisp && (echo ok) || (echo FAILED ; cat $builddir/build.log)
88 done
89
90 # Now moves resulting CCF to final destinations
91
92 cd $builddir || exit 1
93
94 # notice that this is different of the standard builddir which is
95 # set to $HOME/builds/tmp, so the find command will not mess up
96 # with it
97
98 flist=`find . -name '*.CCF'`
99
100 if [ -z "$flist" ] ; then
101 exit 0
102 fi
103
104 for f in $flist ; do
105 b=`basename $f`
106 echo Considering $b ...
107 if [ -e $ccfdir/$b -o -e $ccfrel/$b -o -e $scisimdir/$b ] ; then
108 echo " it already exists. REJECTED."
109 else
110 if [ -e $ccfdeveldir/$b ] ; then
111 echo " it already exists in the development area and it will be overwritten."
112 fi
113 ccfextseq --sets=$f
114 if [ $? -ne 0 ] ; then
115 echo " validation stage failed. REJECTED."
116 else
117 cp $f $ccfdeveldir || exit 1
118 echo " accepted into $ccfdeveldir."
119 fi
120 fi
121 done

  ViewVC Help
Powered by ViewVC 1.1.27