/[CCFs]/bin/buildagain
ViewVC logotype

Contents of /bin/buildagain

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.14 - (show annotations)
Thu Feb 14 14:25:31 2013 UTC (11 years, 9 months ago) by ccflib
Branch: MAIN
CVS Tags: HEAD
Changes since 1.13: +2 -2 lines
Error occurred while calculating annotation data.
updated

1 #! /usr/local/bin/bash
2 #
3 # $Id: buildagain,v 1.13 2007/05/11 11:47:38 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 mkdir tmplog || exit 1
71 tar -C tmplog -xzf $p || (echo FAILED, aborting ; exit 1)
72 chmod -R a+w tmplog
73 tmpdir=`ls -1 tmplog`
74 echo "ChangeLog says:"
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