source: stable/0.6/prepare_new_stable @ 2366

Last change on this file since 2366 was 2073, checked in by stefan, 9 years ago

merge chgsets 2069,2071,2072 from trunk: fixes to prepare/commit_new_stable/release scripts

  • Property svn:executable set to *
File size: 20.9 KB
Line 
1#!/bin/sh
2
3# Copyright (C) 2007  International Business Machines.
4# All Rights Reserved.
5# This file is distributed under the Eclipse Public License.
6# It is part of the BuildTools project in COIN-OR (www.coin-or.org)
7#
8# $Id$
9#
10# Adapted from prepare_new_release by Lou Hafer, SFU, 100507.
11
12#set -x -v
13set -e
14
15# Know thy self. If there are no '/' chars in the command name, we're running
16# in the current directory. Otherwise, strip the command name, leaving the
17# prefix.  Coin-functions is expected to live in the same directory.
18
19if expr "$0" : '.*/.*' >/dev/null 2>&1 ; then
20  cmdDir=`echo $0 | sed -e 's,\(.*\)/[^/]*,\1,'`
21else
22  cmdDir='.'
23fi
24cmdDir=`cd $cmdDir ; pwd`
25if test -r $cmdDir/coin-functions ; then
26  . $cmdDir/coin-functions
27else
28  echo "Cannot find utility functions file coin-functions; exiting."
29fi
30#################### end of function definitions ##########################
31
32
33# Note that plain sh does not accept negative exit values
34
35exitValue=0
36
37# Specify the COIN URL base for convenience.
38
39coinURL="https://projects.coin-or.org/svn"
40
41# Begin parameter processing.
42
43printHelp=0
44ignoreBuildToolsMismatch=no
45mismatchBTExternals=
46bumpMajor=0
47suppressCheckout=0
48
49# srcURL will be the parent for the stable we are building. We'll need to be
50# able to distinguish ThirdParty and Data builds, and BuildTools itself; they
51# require special handling.  cmdBTURL points to a BuildTools source and is
52# required when srcURL specifies a ThirdParty or Data project --- we'll need to
53# assemble a temporary package while creating the stable candidate.
54
55srcURL=
56isThirdParty=no
57isData=no
58isBuildTools=no
59cmdBTURL=
60
61# trunkExternals specifies externals for which we want to do simultaneous
62# creation of stable branches. We will use the trunk as the external while
63# preparing and testing the stable candidate, changing the Dependencies file
64# to specify a (nonexistent) stable branch of the external at the last moment.
65
66trunkExternals=
67
68# exciseExternals specifies externals that should be removed when creating the
69# new stable branch.
70
71exciseExternals=
72
73# We need at least one parameter.
74
75if test "$#" -eq 0; then
76  printHelp=1
77else
78
79# Process the parameters. A parameter without an opening `-' is assumed to be
80# the spec for the source branch.
81
82  while test $# -gt 0 && test $exitValue = 0 && test $printHelp = 0 ; do
83    case "$1" in
84      -h* | --h*) printHelp=1 ;;
85      -i* | --i*)
86           if expr "$1" : '.*-i.*=.*' 2>&1 >/dev/null ; then
87             mismatchBTExternals=`echo $1 | sed -n -e 's/[^=]*=\(.*\)/\1/p'`
88           else
89             shift
90             mismatchBTExternals=$1
91           fi
92           if test "x$mismatchBTExternals" = "xall" ; then
93             ignoreBuildToolsMismatch=all
94           else
95             ignoreBuildToolsMismatch=partial
96           fi
97           ;;
98      -m* | --m*) bumpMajor=1 ;;
99      -p* | --p*) suppressCheckout=1 ;;
100      -t* | --t*)
101           if expr "$1" : '.*-t.*=.*' 2>&1 >/dev/null ; then
102             trunkExternals=`echo $1 | sed -n -e 's/[^=]*=\(.*\)/\1/p'`
103           else
104             shift
105             trunkExternals=$1
106           fi
107           ;;
108      -x* | --x*)
109           if expr "$1" : '.*-x.*=.*' 2>&1 >/dev/null ; then
110             exciseExternals=`echo $1 | sed -n -e 's/[^=]*=\(.*\)/\1/p'`
111           else
112             shift
113             exciseExternals=$1
114           fi
115           ;;
116      -b* | --b*)
117           if expr "$1" : '.*-b.*=.*' 2>&1 >/dev/null ; then
118             cmdBTURL=`echo $1 | sed -n -e 's/[^=]*=\(.*\)/\1/p'`
119           else
120             shift
121             cmdBTURL=$1
122           fi
123           if expr "$cmdBTURL" : '.*BuildTools.*' 2>&1 >/dev/null ; then
124             case $cmdBTURL in
125               http*) ;;
126                   *) cmdBTURL=${coinURL}/$cmdBTURL
127                      ;;
128             esac
129           else
130             echo ''
131             echo "URL $cmdBTURL does not point to BuildTools."
132             echo ''
133             printHelp=1
134             exitValue=3
135            fi
136           ;;
137      -*)  echo "$0: unrecognised command line switch '"$1"'."
138           printHelp=1
139           exitValue=1
140           ;;
141       *)  srcURL=$1
142           case $srcURL in
143             http* ) ;;
144             BuildTools/ThirdParty/* )
145                 srcURL=${coinURL}/$srcURL
146                 ;;
147             ThirdParty/* )
148                 srcURL=${coinURL}/BuildTools/$srcURL
149                 ;;
150             * ) srcURL=${coinURL}/$srcURL
151                    ;;
152           esac
153           ;;
154    esac
155    shift
156  done
157
158# Consistency check: Make sure that the source URL exists.  Note that it's not
159# possible to specify a Data URL without including trunk/stable/release in the
160# URL. For others, helpfully append `trunk'.
161
162  srcURL=`echo $srcURL | sed -e 's/\/$//'`
163  urlType=`extractTypeFromURL "$srcURL"`
164  if test $printHelp = 0 && test $exitValue = 0 ; then
165    if svn list $srcURL 2>&1 >/dev/null ; then
166      :
167    else
168      echo "Source URL $srcURL does not seem to exist."
169      printHelp=1
170      exitValue=5
171    fi
172    if test "$urlType" = invalid ; then
173      srcURL=$srcURL/trunk
174      urlType=trunk
175    fi
176  fi
177
178# Just what are we building? Order is important; BuildTools without ThirdParty
179# means we're actually doing a BuildTools stable.
180
181  if test $printHelp = 0 && test $exitValue = 0 ; then
182    case $srcURL in
183      *ThirdParty* )
184        isThirdParty=yes
185        ;;
186      *BuildTools* )
187        isBuildTools=yes
188        ;;
189      *Data* )
190        isData=yes
191        ;;
192      *)
193        ;;
194    esac
195
196# If we're building a ThirdParty or Data release, we need a BuildTools URL.
197
198    if test $isThirdParty = yes || test $isData = yes ; then
199      if test -z "$cmdBTURL" ; then
200        cmdBTURL=`bestRelease $coinURL/BuildTools -1 -1`
201        echo "A BuildTools URL is required for Data or ThirdParty projects."
202        echo "Using $cmdBTURL; override with -b"
203      else
204        if svn list $cmdBTURL 2>&1 >/dev/null ; then
205          :
206        else
207          echo "BuildTools URL $cmdBTURL does not seem to exist."
208          printHelp=1
209          exitValue=6
210        fi
211      fi
212    fi
213  fi
214fi  # if "$#" .eq 0
215
216if test $printHelp = 1 ; then
217  cat <<EOF
218Usage: prepare_new_stable [options] <source URL>
219
220This script will create a new stable branch from the head of the specified
221URL. Typically this will be the trunk, but it can be an existing stable
222branch.  You can specify the entire URL, or just enter what comes after
223"https://projects.coin-or.org/svn".  A typical example is
224
225  prepare_new_stable Ipopt/trunk
226
227Options:
228  -b <BuildToolsURL>    URL for BuildTools; required to generate a release
229                        for a ThirdParty or Data project.
230  -i <projectlist>      Ignore BuildTools version mismatches for the listed
231                        externals (comma-separated list of project names,
232                        e.g., -i Osi,Cbc). '-i all' ignores all mismatches.
233  -p                    Suppress checkout (useful for testing)
234  -m                    Bump the major version number.
235  -t <project-list>     Suppress conversion from trunk to stable for the
236                        listed externals (comma-separated list of project
237                        names).
238  -x <project-list>     Remove the listed projects from the list of externals
239                        (comma-separated list of project names).
240
241This script will do the following:
242
243  - Set the new stable version number as the next minor version number in
244    the current major version number. Use the -m flag to bump the major
245    version number.
246
247  - Convert externals from trunk to the top stable branch. Externals which
248    are currently stable or release are left untouched. Use -t to suppress
249    the change from trunk to stable. Set_externals is then invoked to set
250    release externals where available.
251
252  - Check out externals. The BuildTools version used by externals (if any)
253    is checked, and the script issues a warning if it doesn't match the
254    version used by the source URL.
255
256  - Run the scripts to download any ThirdParty code.
257
258  - Run run_autotools to rebuild configure and make files.
259
260  - Run configure, make, and make test
261
262  - Tweak the externals to upgrade trunk (-t) dependencies to stable (you
263    won't get to release in this case).
264
265If there is any error during these tasks the script will stop and you should
266examine the output.
267
268If the script completes without error, examine the output, particularly the
269output of the unit test ('make test') and the set of externals specified in
270the Dependencies file. Whether you start with Externals or Dependencies, the
271stable will have a proper Dependencies. Externals will be unmodified.
272
273This script does not make any changes to the repository.  If you want to
274commit the new stable branch, run the "commit_new_stable" script, as described
275at the end of the output.
276
277EOF
278fi
279
280if test $exitValue != 0 || test $printHelp = 1 ; then
281  exit $exitValue
282fi
283
284# End of parameter parsing. We have a source URL to work with.  Tell the
285# user what we've seen.
286
287srcURL=`echo $srcURL | sed -e 's|/$||'`
288srcProj=`extractProjFromURL $srcURL`
289
290echo "Source URL..........: $srcURL"
291echo "Base project........: $srcProj"
292if test $isThirdParty = yes || test $isData = yes ; then
293  echo "BuildTools URL......: $cmdBTURL"
294fi
295
296# Figure out the URL of the new stable branch. Consider that there may not be
297# any existing stable branches.
298
299topStableURL=`bestStable $srcURL -1`
300echo "Top stable URL......: ${topStableURL:-none}"
301
302if test -z "$topStableURL" ; then
303  majVer=0
304  minVer=1
305  case "$srcURL" in
306    */Data/* )
307        newStableURL=$coinURL/Data/stable/$majVer.$minVer/$srcProj
308        ;;
309    */ThirdParty/* )
310        newStableURL=$coinURL/BuildTools/ThirdParty/$srcProj/stable/$majVer.$minVer
311        ;;
312    * )
313        newStableURL=$coinURL/$srcProj/stable/$majVer.$minVer
314        ;;
315  esac
316else
317  majVer=`extractMajorFromURL $topStableURL`
318  if test $bumpMajor = 1 ; then
319    majVer=`expr $majVer + 1`
320    minVer=0
321  else
322    minVer=`extractMinorFromURL $topStableURL`
323    minVer=`expr $minVer + 1`
324  fi
325  newStableURL=`replaceVersionInURL $topStableURL $majVer $minVer`
326fi
327echo "New stable URL......: $newStableURL"
328newVersion=${majVer}.${minVer}
329
330# Construct a build directory name.
331
332topBuildDir=`echo $srcProj | sed -e 's|.*/\([^/]*\)$|\1|'`
333topBuildDir=${topBuildDir}-${newVersion}
334echo "Build directory.....: $topBuildDir"
335
336# Now decide where to check out code.
337
338if test $isThirdParty = yes; then
339  coDir=$topBuildDir/Thirdparty/$srcProj
340elif test $isData = yes; then
341  coDir=$topBuildDir/Data/$srcProj
342else
343  coDir=$topBuildDir
344fi
345echo "Checkout directory..: $coDir"
346
347echo ''
348echo "===> Checking out source $srcURL without externals ..."
349echo ''
350
351cmd="svn co --ignore-externals $srcURL $coDir"
352if test $suppressCheckout = 1 ; then
353  echo "Pretending to do: $cmd"
354else
355  rm -rf $topBuildDir
356  echo $cmd
357  eval $cmd
358fi
359
360if test $isThirdParty = yes || test $isData = yes; then
361  echo ''
362  echo '===> Checking out BuildTools (Data or ThirdParty) ...'
363  echo ''
364  cmd="svn co $cmdBTURL $topBuildDir/BuildTools"
365  if test $suppressCheckout = 1 ; then
366    echo "Pretending to do: $cmd"
367  else
368    echo $cmd
369    eval $cmd
370  fi
371fi
372
373startDir=`pwd`
374coDir=`cd $coDir; pwd`
375topBuildDir=`cd $topBuildDir; pwd`
376
377cd $coDir
378
379# Find configure.ac files for the package and project and update the version.
380# We have no externals at this point, and no third-party code, so there will
381# be two files for a standard project, one for a ThirdParty or Data project.
382
383echo ''
384bak_files=`find . -name 'configure.ac'`
385echo "===> Creating backup (.bak) for configure.ac files..."
386for i in $bak_files; do
387  cp $i $i.bak
388done
389
390# Take the attitude that [] around parameters in AC_INIT is optional,
391# it's the commas that count. This does make for a surpassing ugly regular
392# expression.  A comma in the version string will cause a spectacular failure.
393# In AC_COIN_PROJECTDIR_INIT, take the attitude that the existing parameters
394# don't matter, we know what the release parameters should be.
395
396echo ''
397echo "===> Updating version numbers in configure.ac files"
398for i in $bak_files; do
399  sed -e "s|AC_INIT\(.*\),\(\[*\)[^],]*\(\]*\),\(.*\)|AC_INIT\1,\2$newVersion\3,\4|" $i > bla
400  mv bla $i
401  svn diff $i
402done
403
404# Find ProjConfig.h. If there's a definition for PROJ_VERSION, adjust it and
405# add ProjConfig.h.bak to the list of files to be restored.
406
407srcProjUC=`echo $srcProj | tr '[a-z]' '[A-Z]'`
408configFileLoc=`find . -name .svn -prune -o -name '*Config.h'  -print`
409if test -n "$configFileLoc" ; then
410  versionSym=${srcProjUC}_VERSION
411  echo ''
412  echo "===> Updating $versionSym in $configFileLoc (if present)"
413  echo ''
414  mv $configFileLoc $configFileLoc.bak
415  bak_files="$bak_files $configFileLoc"
416  sed -e "s/# *define $versionSym.*\$/#define $versionSym \"$newVersion\"/" <$configFileLoc.bak >$configFileLoc
417  svn diff $configFileLoc
418fi
419
420# Now generate a proper Dependencies file for the stable branch.  References to
421# trunk will be converted to references to stable branches unless the reference
422# is to a project in the trunkExternals list (in which case it'll be converted
423# at the very end). References to releases are not changed. Each line in a
424# Dependencies file has the format <ext_name> <ext_url>. Normally, each entry
425# should be a stable branch.
426
427srcDepFile=
428for file in Dependencies Externals ; do
429  if test -r $file ; then
430    srcDepFile=$file
431    break
432  fi
433done
434
435if test -n "$srcDepFile" ; then
436
437# Save the externals property of the source, so we can just restore it after
438# the commit. Also save srcDepFile, because we may well modify it for the
439# stable branch, converting trunk externals to stable externals.
440
441  svn propget svn:externals . > .Externals.original
442  bak_files="$bak_files $srcDepFile"
443  cp $srcDepFile $srcDepFile.bak
444
445  echo ''
446  echo "===> Checking externals in $srcDepFile ..."
447  echo ''
448
449# We've just checked this out, no sense going back to the server for the
450# BuildTools version. Because of the intermediate variable, newline has
451# become space.
452
453  srcExternals=`svn propget svn:externals .`
454  srcBTURL=`echo $srcExternals | \
455            sed -n -e 's/.*BuildTools *https:\([^ ]*\) .*/https:\1/p'`
456  if test -z "$srcBTURL" ; then
457    srcBTURL="none"
458  fi
459  echo "Source BuildTools...:  $srcBTURL"
460
461  rm -f Dependencies
462  ext_name=
463  ext_url=
464  buildtoolsMismatch=0
465  for i in `cat $srcDepFile.bak` ; do
466    if test "$ext_name" = "" ; then
467      ext_name=$i
468    else
469      ext_url=$i
470      if expr "$ext_name" : '#.*' 2>&1 >/dev/null ; then
471        echo "    $ext_name $ext_url ==> skipped"
472        ext_name=
473        continue
474      fi
475      ext_urltype=`extractTypeFromURL $ext_url`
476      ext_proj=`extractProjFromURL $ext_url`
477
478# See if this external should be dropped.
479
480      if expr "$exciseExternals" : '.*'$ext_proj'.*' 2>&1 > /dev/null ; then
481        echo "    $ext_name $ext_url ==> excised"
482        ext_name=
483        continue
484      fi
485
486      ext_isNormalURL=`isNormalURL $ext_url`
487
488# Convert a trunk URL to stable unless it's listed in trunkExternals.
489
490      if test $ext_urltype = trunk ; then
491        if expr "$trunkExternals" : '.*'$ext_proj'.*' 2>&1 >/dev/null ; then
492          echo "    $ext_name $ext_url ==> unchanged"
493        else
494          ext_oldurl=$ext_url
495          ext_url=`bestStable $ext_url -1`
496          # Normal (not BuildTools/ThirdParty/Data) need a directory name,
497          # and it may differ from the project name. Carefully preserve it.
498          if test $ext_isNormalURL = yes ; then
499            ext_tail=`extractTailFromExt $ext_oldurl`
500            ext_url=${ext_url}${ext_tail}
501          fi
502          echo "    $ext_name $ext_oldurl ==> $ext_url"
503        fi
504      else
505        echo "    $ext_name $ext_url ==> unchanged"
506      fi
507
508# Get the BuildTools URL for the external and compare to the BuildTools URL
509# for the source, assuming we have one and the external has one.
510
511      if test $ext_isNormalURL = yes &&
512         test $ext_proj != BuildTools && test $srcBTURL != none ; then
513        ext_url_notail=`echo $ext_url | sed -e 's,/[^/]*$,,'`
514        extBTURL=`svn propget svn:externals $ext_url_notail`
515        extBTURL=`echo $extBTURL | \
516          sed -n -e 's/^BuildTools *https:\([^ ]*\) *$/https:\1/p'`
517        if test -n "$extBTURL" ; then
518          testResult=`compareURLVersions "$srcBTURL" "$extBTURL"`
519          if test $testResult = no ; then
520            if test $ignoreBuildToolsMismatch = all || \
521               expr "$mismatchBTExternals" : '.*'$ext_proj'.*' 2>&1 >/dev/null ; then
522              echo "    WARNING: BuildTools mismatch: $ext_url_notail uses $extBTURL"
523            else
524              buildtoolsMismatch=1
525              echo "    ERROR: BuildTools mismatch: $ext_url_notail uses $extBTURL"
526            fi
527          fi
528        fi
529      fi
530
531      echo "$ext_name  $ext_url" >>Dependencies
532      ext_name=
533      echo ''
534    fi
535  done
536
537# If we have a BuildTools mismatch, exit.
538
539  if test $buildtoolsMismatch = 1 ; then
540    echo "Exiting due to BuildTools mismatches; use -i to ignore."
541    exit 2
542  fi
543
544  $cmdDir/set_externals Dependencies
545
546# Try three times to check out externals before conceding defeat.
547
548  echo ''
549  echo '===> Checking out externals ...'
550  echo ''
551
552  svn update ||
553  { echo "Retry 1 ... " ; svn update ; } ||
554  { echo "Retry 2 ... " ; svn update ; } ||
555  { echo "Checkout of externals failed. Aborting." ; exit 3 ; }
556
557# Run any scripts to acquire ThirdParty code.
558
559  if test -d ThirdParty ; then
560
561    echo ''
562    echo '===> Downloading ThirdParty code ...'
563    echo ''
564   
565    ext_name=
566    ext_url=
567    for i in `svn propget svn:externals .` ; do
568      if test -z "$ext_name" ; then
569        ext_name=$i
570      else
571        ext_url=$i
572        if expr "$ext_name" : 'ThirdParty/.*' 2>&1 >/dev/null ; then
573          cd $ext_name
574          ext_proj=`extractProjFromURL $ext_url`
575          getScript=get.$ext_proj
576          if test -x "$getScript" ; then
577            ./$getScript -patch
578          fi
579          cd $coDir
580        fi
581        ext_name=
582      fi
583    done
584  fi
585fi
586
587
588# Done processing externals. If this is a ThirdParty project, we still have
589# to run the get script.
590
591if test $isThirdParty = yes; then
592  if test -x get.$srcProj ; then
593    echo ''
594    echo '===> Downloading third party code...'
595    echo ''
596    ./get.$srcProj
597  fi
598fi
599
600# Run the autotools to update configure and make files
601
602echo ''
603echo '===> Running BuildTools/run_autotools ...'
604echo ''
605
606if test $isThirdParty = yes || test $isData = yes ; then
607  cd ../..
608  ./BuildTools/run_autotools
609  cd "$coDir"
610else
611  ./BuildTools/run_autotools
612fi
613
614# Let's see if it works. We only run tests for non-ThirdParty, non-Data. DO NOT
615# turn on --enable-maintainer-mode in the initial configure command. At the
616# least, it's not needed. At the worst, as of 100526, it'll undo all the
617# careful work above to set externals.
618
619if test $isThirdParty != yes && test $isData != yes; then (
620   set -e
621   echo ''
622   echo '===> Creating build directory and running the configuration script...'
623   echo ''
624   mkdir build
625   cd build
626   cmd="$coDir/configure -C"
627   echo $cmd
628   eval $cmd
629   echo ''
630   echo '===> Compiling code...'
631   echo ''
632   cmd='make install'
633   echo $cmd
634   eval $cmd
635   echo ''
636   echo '===> Running the unit test...'
637   echo ''
638   echo '*******************************************************************************'
639   echo '***                                                                         ***'
640   echo '***                       BEGIN OUTPUT OF MAKE TEST                         ***'
641   echo '***                                                                         ***'
642   echo '*******************************************************************************'
643   echo ''
644   cmd='make test'
645   echo $cmd
646   eval $cmd
647   echo ''
648   echo '*******************************************************************************'
649   echo '***                                                                         ***'
650   echo '***                        END OUTPUT OF MAKE TEST                          ***'
651   echo '***                                                                         ***'
652   echo '*******************************************************************************'
653  )
654  if test $? != 0; then
655    echo ''
656    echo 'Error during build or test'
657    echo ''
658    exit 3
659  fi
660fi
661
662# No fatal errors. Declare victory.
663
664echo ''
665echo '===> ALL TESTS PASSED'
666if test $isThirdParty != yes &&
667   test $isData != yes && test $isBuildTools != yes ; then
668  echo ''
669  echo 'Please review the output above, particularly the one of make test'
670fi
671echo ''
672
673# Do we need to plug in nonexistent stable branches for circular dependencies
674# tested with the trunk? If so, generate a new Dependencies. This is the only
675# reason trunk references should appear in the externals for a stable branch,
676# so we don't need to check further before removing them.
677
678if test -n "$trunkExternals" ; then
679  echo ''
680  echo "===> Grooming externals to remove trunk references used for testing."
681  echo ''
682  mv Dependencies Dependencies.temp.$$
683  ext_name=
684  ext_url=
685  for i in `cat Dependencies.temp.$$`; do
686    if test "$ext_name" = ""; then
687      ext_name="$i"
688    else
689      ext_url=$i
690      ext_urltype=`extractTypeFromURL $ext_url`
691      ext_proj=`extractProjFromURL $ext_url`
692      if test $ext_urltype = trunk ; then
693        ext_oldurl=$ext_url
694        ext_url=`bestStable $ext_url -1`
695        ext_majVer=`extractMajorFromURL $ext_url`
696        ext_minVer=`extractMinorFromURL $ext_url`
697        ext_minVer=`expr $ext_minVer + 1`
698        ext_url=`replaceVersionInURL $ext_url $ext_majVer $ext_minVer`
699        ext_isNormal=`isNormalURL $ext_url`
700        if test $ext_isNormal = yes ; then
701          ext_url="${ext_url}${ext_proj}"
702        fi
703        echo "    $ext_name $ext_oldurl ==> $ext_url"
704      fi
705      echo "$ext_name  $ext_url" >>Dependencies
706      ext_name=
707    fi
708  done
709  rm -f Dependencies.temp.$$
710  $cmdDir/set_externals Dependencies
711fi
712
713if test -r Dependencies ; then
714  echo ''
715  echo 'Also, please confirm the Externals are correct:'
716  svn propget svn:externals
717fi
718
719echo ''
720echo 'After reviewing the output above, you can create a new stable by going into'
721echo 'the directory'
722echo ''
723echo "          $startDir"
724echo ''
725echo "and run the commit_new_stable script"
726
727cd $topBuildDir
728
729# Record information for the commit_new_stable script.
730
731cat >.new_stable_data <<EOF
732coinURL=$coinURL
733startDir=$startDir
734topBuildDir=$topBuildDir
735coDir=$coDir
736newStableURL=$newStableURL
737srcURL=$srcURL
738newVersion=$newVersion
739bak_files="$bak_files"
740EOF
Note: See TracBrowser for help on using the repository browser.