/[CCFs]/bin/buildagain
ViewVC logotype

Contents of /bin/buildagain

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.13 - (show annotations)
Fri May 11 11:47:38 2007 UTC (17 years, 6 months ago) by ccflib
Branch: MAIN
Changes since 1.12: +8 -1 lines
buildagain updated including call to new perl module last_version

1 #! /usr/local/bin/bash
2 #
3 # $Id: buildagain,v 1.12 2005/11/11 16:58:45 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 echo -n ChangeLog says:
71 mkdir tmplog || exit 1
72 tar -C tmplog -xzf $p || (echo FAILED, aborting ; exit 1)
73 chmod -R a+w tmplog
74 tmpdir=`ls -1 tmplog`
75 last_version tmplog/$tmpdir/ChangeLog
76 rm -fr tmplog
77 done
78
79 # updating the dev directory for any possible change in its files
80
81 CCFDEV=$HOME/ccfdev ; export CCFDEV
82 cd $CCFDEV
83 cvs update 2> /dev/null
84
85 # back to $builddir/packages
86
87 cd ~- ; cd packages
88 . $CCFDEV/setup.sh
89
90
91 for p in $plist; do
92 echo "making package $p"
93 thisp=`basename $p '.tgz' | sed -e 's/-[0-9]\{1,\}\.[0-9]\{1,\}$//'`
94 buildpkg $thisp && (echo ok) || (echo FAILED ; cat $builddir/build.log)
95 done
96
97 # Now moves resulting CCF to final destinations
98
99 cd $builddir || exit 1
100
101 # notice that this is different of the standard builddir which is
102 # set to $HOME/builds/tmp, so the find command will not mess up
103 # with it
104
105 flist=`find . -name '*.CCF'`
106
107 if [ -z "$flist" ] ; then
108 exit 0
109 fi
110
111 for f in $flist ; do
112 b=`basename $f`
113 echo Considering $b ...
114 if [ -e $ccfdir/$b -o -e $ccfrel/$b -o -e $scisimdir/$b ] ; then
115 echo " it already exists. REJECTED."
116 else
117 if [ -e $ccfdeveldir/$b ] ; then
118 echo " it already exists in the development area and it will be overwritten."
119 fi
120 ccfextseq --sets=$f
121 if [ $? -ne 0 ] ; then
122 echo " validation stage failed. REJECTED."
123 else
124 cp $f $ccfdeveldir || exit 1
125 echo " accepted into $ccfdeveldir."
126 fi
127 fi
128 done

  ViewVC Help
Powered by ViewVC 1.1.27