source: stable/0.7/prepare_new_stable @ 2839

Last change on this file since 2839 was 2839, checked in by stefan, 8 years ago

merge r2838 from trunk

  • Property svn:executable set to *
File size: 21.3 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 $srcProj -name 'configure.ac'`
385if test -e configure.ac ; then
386  bak_files="$bak_files configure.ac"
387fi
388echo "===> Creating backup (.bak) for configure.ac files..."
389for i in $bak_files; do
390  cp $i $i.bak
391done
392
393# Take the attitude that [] around parameters in AC_INIT is optional,
394# it's the commas that count. This does make for a surpassing ugly regular
395# expression.  A comma in the version string will cause a spectacular failure.
396# In AC_COIN_PROJECTDIR_INIT, take the attitude that the existing parameters
397# don't matter, we know what the release parameters should be.
398
399echo ''
400echo "===> Updating version numbers in configure.ac files"
401for i in $bak_files; do
402  sed -e "s|AC_INIT\(.*\),\(\[*\)[^],]*\(\]*\),\(.*\)|AC_INIT\1,\2$newVersion\3,\4|" $i > bla
403  mv bla $i
404  svn diff $i
405done
406
407# Find config_proj_default.h. If there's a definition for PROJ_VERSION, adjust it and
408# add config_proj_default.h.bak to the list of files to be restored.
409
410srcProjUC=`echo $srcProj | tr '[a-z]' '[A-Z]'`
411configFileLoc=`find $srcProj -name .svn -prune -o -name 'config_*_default.h' -print`
412echo "config File Loc: $configFileLoc"
413if test -n "$configFileLoc" ; then
414  versionSym=${srcProjUC}_VERSION
415  echo ''
416  echo "===> Updating $versionSym in $configFileLoc (if present)"
417  echo ''
418  mv $configFileLoc $configFileLoc.bak
419  bak_files="$bak_files $configFileLoc"
420  sed -e "s/# *define $versionSym .*\$/#define $versionSym \"$newVersion\"/" \
421    -e "s/# *define ${versionSym}_MAJOR .*\$/#define ${versionSym}_MAJOR $majVer/" \
422    -e "s/# *define ${versionSym}_MINOR .*\$/#define ${versionSym}_MINOR $minVer/" \
423    -e "s/# *define ${versionSym}_RELEASE .*\$/#define ${versionSym}_RELEASE 9999/" \
424  <$configFileLoc.bak >$configFileLoc
425  svn diff $configFileLoc
426fi
427
428# Now generate a proper Dependencies file for the stable branch.  References to
429# trunk will be converted to references to stable branches unless the reference
430# is to a project in the trunkExternals list (in which case it'll be converted
431# at the very end). References to releases are not changed. Each line in a
432# Dependencies file has the format <ext_name> <ext_url>. Normally, each entry
433# should be a stable branch.
434
435srcDepFile=
436for file in Dependencies Externals ; do
437  if test -r $file ; then
438    srcDepFile=$file
439    break
440  fi
441done
442
443if test -n "$srcDepFile" ; then
444
445# Save the externals property of the source, so we can just restore it after
446# the commit. Also save srcDepFile, because we may well modify it for the
447# stable branch, converting trunk externals to stable externals.
448
449  svn propget svn:externals . > .Externals.original
450  bak_files="$bak_files $srcDepFile"
451  cp $srcDepFile $srcDepFile.bak
452
453  echo ''
454  echo "===> Checking externals in $srcDepFile ..."
455  echo ''
456
457# We've just checked this out, no sense going back to the server for the
458# BuildTools version. Because of the intermediate variable, newline has
459# become space.
460
461  srcExternals=`svn propget svn:externals .`
462  srcBTURL=`echo $srcExternals | \
463            sed -n -e 's/.*BuildTools *https:\([^ ]*\) .*/https:\1/p'`
464  if test -z "$srcBTURL" ; then
465    srcBTURL="none"
466  fi
467  echo "Source BuildTools...:  $srcBTURL"
468
469  rm -f Dependencies
470  ext_name=
471  ext_url=
472  buildtoolsMismatch=0
473  for i in `cat $srcDepFile.bak` ; do
474    if test "$ext_name" = "" ; then
475      ext_name=$i
476    else
477      ext_url=$i
478      if expr "$ext_name" : '#.*' 2>&1 >/dev/null ; then
479        echo "    $ext_name $ext_url ==> skipped"
480        ext_name=
481        continue
482      fi
483      ext_urltype=`extractTypeFromURL $ext_url`
484      ext_proj=`extractProjFromURL $ext_url`
485
486# See if this external should be dropped.
487
488      if expr "$exciseExternals" : '.*'$ext_proj'.*' 2>&1 > /dev/null ; then
489        echo "    $ext_name $ext_url ==> excised"
490        ext_name=
491        continue
492      fi
493
494      ext_isNormalURL=`isNormalURL $ext_url`
495
496# Convert a trunk URL to stable unless it's listed in trunkExternals.
497
498      if test $ext_urltype = trunk ; then
499        if expr "$trunkExternals" : '.*'$ext_proj'.*' 2>&1 >/dev/null ; then
500          echo "    $ext_name $ext_url ==> unchanged"
501        else
502          ext_oldurl=$ext_url
503          ext_url=`bestStable $ext_url -1`
504          # Normal (not BuildTools/ThirdParty/Data) need a directory name,
505          # and it may differ from the project name. Carefully preserve it.
506          if test $ext_isNormalURL = yes ; then
507            ext_tail=`extractTailFromExt $ext_oldurl`
508            ext_url=${ext_url}${ext_tail}
509          fi
510          echo "    $ext_name $ext_oldurl ==> $ext_url"
511        fi
512      else
513        echo "    $ext_name $ext_url ==> unchanged"
514      fi
515
516# Get the BuildTools URL for the external and compare to the BuildTools URL
517# for the source, assuming we have one and the external has one.
518
519      if test $ext_isNormalURL = yes &&
520         test $ext_proj != BuildTools && test $srcBTURL != none ; then
521        ext_url_notail=`echo $ext_url | sed -e 's,/[^/]*$,,'`
522        extBTURL=`svn propget svn:externals $ext_url_notail`
523        extBTURL=`echo $extBTURL | \
524          sed -n -e 's/^BuildTools *https:\([^ ]*\) *$/https:\1/p'`
525        if test -n "$extBTURL" ; then
526          testResult=`compareURLVersions "$srcBTURL" "$extBTURL"`
527          if test $testResult = no ; then
528            if test $ignoreBuildToolsMismatch = all || \
529               expr "$mismatchBTExternals" : '.*'$ext_proj'.*' 2>&1 >/dev/null ; then
530              echo "    WARNING: BuildTools mismatch: $ext_url_notail uses $extBTURL"
531            else
532              buildtoolsMismatch=1
533              echo "    ERROR: BuildTools mismatch: $ext_url_notail uses $extBTURL"
534            fi
535          fi
536        fi
537      fi
538
539      echo "$ext_name  $ext_url" >>Dependencies
540      ext_name=
541      echo ''
542    fi
543  done
544
545# If we have a BuildTools mismatch, exit.
546
547  if test $buildtoolsMismatch = 1 ; then
548    echo "Exiting due to BuildTools mismatches; use -i to ignore."
549    exit 2
550  fi
551
552  $cmdDir/set_externals Dependencies
553
554# Try three times to check out externals before conceding defeat.
555
556  echo ''
557  echo '===> Checking out externals ...'
558  echo ''
559
560  svn update ||
561  { echo "Retry 1 ... " ; svn update ; } ||
562  { echo "Retry 2 ... " ; svn update ; } ||
563  { echo "Checkout of externals failed. Aborting." ; exit 3 ; }
564
565# Run any scripts to acquire ThirdParty code.
566
567  if test -d ThirdParty ; then
568
569    echo ''
570    echo '===> Downloading ThirdParty code ...'
571    echo ''
572   
573    ext_name=
574    ext_url=
575    for i in `svn propget svn:externals .` ; do
576      if test -z "$ext_name" ; then
577        ext_name=$i
578      else
579        ext_url=$i
580        if expr "$ext_name" : 'ThirdParty/.*' 2>&1 >/dev/null ; then
581          cd $ext_name
582          ext_proj=`extractProjFromURL $ext_url`
583          getScript=get.$ext_proj
584          if test -x "$getScript" ; then
585            ./$getScript -patch
586          fi
587          cd $coDir
588        fi
589        ext_name=
590      fi
591    done
592  fi
593fi
594
595
596# Done processing externals. If this is a ThirdParty project, we still have
597# to run the get script.
598
599if test $isThirdParty = yes; then
600  if test -x get.$srcProj ; then
601    echo ''
602    echo '===> Downloading third party code...'
603    echo ''
604    ./get.$srcProj
605  fi
606fi
607
608# Run the autotools to update configure and make files
609
610echo ''
611echo '===> Running BuildTools/run_autotools ...'
612echo ''
613
614if test $isThirdParty = yes || test $isData = yes ; then
615  cd ../..
616  ./BuildTools/run_autotools
617  cd "$coDir"
618else
619  ./BuildTools/run_autotools
620fi
621
622# Let's see if it works. We only run tests for non-ThirdParty, non-Data. DO NOT
623# turn on --enable-maintainer-mode in the initial configure command. At the
624# least, it's not needed. At the worst, as of 100526, it'll undo all the
625# careful work above to set externals.
626
627if test $isThirdParty != yes && test $isData != yes; then (
628   set -e
629   echo ''
630   echo '===> Creating build directory and running the configuration script...'
631   echo ''
632   mkdir build
633   cd build
634   cmd="$coDir/configure -C"
635   echo $cmd
636   eval $cmd
637   echo ''
638   echo '===> Compiling code...'
639   echo ''
640   cmd='make install'
641   echo $cmd
642   eval $cmd
643   echo ''
644   echo '===> Running the unit test...'
645   echo ''
646   echo '*******************************************************************************'
647   echo '***                                                                         ***'
648   echo '***                       BEGIN OUTPUT OF MAKE TEST                         ***'
649   echo '***                                                                         ***'
650   echo '*******************************************************************************'
651   echo ''
652   cmd='make test'
653   echo $cmd
654   eval $cmd
655   echo ''
656   echo '*******************************************************************************'
657   echo '***                                                                         ***'
658   echo '***                        END OUTPUT OF MAKE TEST                          ***'
659   echo '***                                                                         ***'
660   echo '*******************************************************************************'
661  )
662  if test $? != 0; then
663    echo ''
664    echo 'Error during build or test'
665    echo ''
666    exit 3
667  fi
668fi
669
670# No fatal errors. Declare victory.
671
672echo ''
673echo '===> ALL TESTS PASSED'
674if test $isThirdParty != yes &&
675   test $isData != yes && test $isBuildTools != yes ; then
676  echo ''
677  echo 'Please review the output above, particularly the one of make test'
678fi
679echo ''
680
681# Do we need to plug in nonexistent stable branches for circular dependencies
682# tested with the trunk? If so, generate a new Dependencies. This is the only
683# reason trunk references should appear in the externals for a stable branch,
684# so we don't need to check further before removing them.
685
686if test -n "$trunkExternals" ; then
687  echo ''
688  echo "===> Grooming externals to remove trunk references used for testing."
689  echo ''
690  mv Dependencies Dependencies.temp.$$
691  ext_name=
692  ext_url=
693  for i in `cat Dependencies.temp.$$`; do
694    if test "$ext_name" = ""; then
695      ext_name="$i"
696    else
697      ext_url=$i
698      ext_urltype=`extractTypeFromURL $ext_url`
699      ext_proj=`extractProjFromURL $ext_url`
700      if test $ext_urltype = trunk ; then
701        ext_oldurl=$ext_url
702        ext_url=`bestStable $ext_url -1`
703        ext_majVer=`extractMajorFromURL $ext_url`
704        ext_minVer=`extractMinorFromURL $ext_url`
705        ext_minVer=`expr $ext_minVer + 1`
706        ext_url=`replaceVersionInURL $ext_url $ext_majVer $ext_minVer`
707        ext_isNormal=`isNormalURL $ext_url`
708        if test $ext_isNormal = yes ; then
709          ext_url="${ext_url}${ext_proj}"
710        fi
711        echo "    $ext_name $ext_oldurl ==> $ext_url"
712      fi
713      echo "$ext_name  $ext_url" >>Dependencies
714      ext_name=
715    fi
716  done
717  rm -f Dependencies.temp.$$
718  $cmdDir/set_externals Dependencies
719fi
720
721if test -r Dependencies ; then
722  echo ''
723  echo 'Also, please confirm the Externals are correct:'
724  svn propget svn:externals
725fi
726
727echo ''
728echo 'After reviewing the output above, you can create a new stable by going into'
729echo 'the directory'
730echo ''
731echo "          $startDir"
732echo ''
733echo "and run the commit_new_stable script"
734
735cd $topBuildDir
736
737# Record information for the commit_new_stable script.
738
739cat >.new_stable_data <<EOF
740coinURL=$coinURL
741startDir=$startDir
742topBuildDir=$topBuildDir
743coDir=$coDir
744newStableURL=$newStableURL
745srcURL=$srcURL
746newVersion=$newVersion
747bak_files="$bak_files"
748EOF
Note: See TracBrowser for help on using the repository browser.