Changeset 1364
- Timestamp:
- Jul 22, 2009 12:24:18 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/prepare_new_release
r1362 r1364 232 232 # stableExternals, on the other hand, specifies externals for which we are 233 233 # doing simultaneous releases. We will use the stable branch of the external 234 # while preparing and testing this release candidate, changing the Externals234 # while preparing and testing this release candidate, changing the Dependencies 235 235 # file to specify a (nonexistent) release of the external at the last moment. 236 236 … … 374 374 release) 375 375 - Check out a clean copy of the specified stable branch, without externals 376 - Read the Externals file and create a new Externals file for the release 377 by converting references to stable branches to references to the most 378 recent release for that stable branch. 376 - Make sure that the svn:externals property points to releases 379 377 - Create a new package configure.ac file with the release version number 380 378 specified in the AC_INIT macro. 381 - Set the svn:externals property for the release package and check out the382 code for the externals.383 379 - Use the "get.*" scripts to download any ThirdParty code. 384 380 - Execute run_autotools to update configure, Makefile.in, etc., to reflect 385 381 the most recent release of BuildTools. 386 - Check that all dependencies are using the same version of the BuildTools387 382 - Run the configure script, compile the code, and run the unit test. 388 - Replace any stable references in Externals (specified with -s) with the383 - Replace any stable branches in externals (specified with -s) with the 389 384 appropriate (yet to be committed) release. 390 385 … … 394 389 If the script completes without error, examine the output, particularly the 395 390 output of the unit test ('make test') and the set of externals specified in 396 the Externals file.391 the Dependencies file. 397 392 398 393 This script does not make any changes to the repository. If you want to … … 514 509 done 515 510 516 # Now fix up the Externals file, if it exists. References to stable branches511 # Now fix up the Dependencies file, if it exists. References to stable branches 517 512 # will be converted to references to releases unless the reference is to a 518 # project in the stableExternals list. Each line in a n Externals file has the513 # project in the stableExternals list. Each line in a Dependencies file has the 519 514 # format <ext_name> <ext_url>. The reference must be to a stable branch. 520 515 521 if test -r Externals; then 522 523 echo '' 524 echo '===> Creating new Externals file with pointers to releases...' 525 echo '' 526 527 rm -f Externals.releases 516 if test -r Dependencies; then 517 518 echo '' 519 echo '===> Checking externals for releases and buildtools version...' 520 echo '' 521 522 buildtools_stable=`svn pget svn:externals $stableURL | grep -e "BuildTools/releases" | sed -e 's|.*/releases/\([0-9]*.[0-9]*\).[0-9]*|\1|'` 523 524 echo "$stableProj uses build tools stable version $buildtools_stable" 525 echo '' 526 527 rm -f Externals 528 528 ext_name= 529 529 ext_url= 530 for i in `cat Externals`; do530 for i in `cat Dependencies`; do 531 531 if test "$ext_name" = ""; then 532 532 ext_name="$i" 533 533 else 534 echo "Now checking $ext_name..." 535 echo '' 534 536 ext_url=$i 535 537 if (echo $ext_name | grep -E '^#' >/dev/null); then 536 echo " Skip $ext_name $ext_url."538 echo "===> Skip $ext_name $ext_url." 537 539 ext_name= 538 540 continue … … 542 544 else 543 545 echo '' 544 echo " The external URL $ext_url is not a stable branch or release. Exiting."546 echo "===> The external URL $ext_url is not a stable branch or release. Exiting." 545 547 echo '' 546 548 exit -2 547 549 fi 548 550 551 # buildtools_version=`svn pget svn:externals $ext_url | grep -e "BuildTools/releases" | sed -e 's|.*/releases/\([0-9]*.[0-9]*\).[0-9]*|\1|'` 552 ext_stable=`echo $ext_url | sed -e 's|\(.*/stable/[0-9]*.[0-9]*/\).*|\1|'` 553 buildtools_version=`svn pget svn:externals $ext_stable | grep -e "BuildTools/stable" | sed -e 's|.*/stable/\([0-9]*.[0-9]*\)|\1|'` 554 555 if test "$buildtools_stable" = "$buildtools_version"; then 556 echo '===> Build tools consistency check OK' 557 elif test "$buildtools_version" = ""; then 558 echo "===> Skipping build tools version check for $ext_name" 559 else 560 echo $ext_name >>problems.ext 561 fi 562 563 if test -r problems.ext; then 564 echo '' 565 echo 'PROBLEM DURING CONSISTENCY CHECK:' 566 echo '' 567 echo '' 568 echo "External $ext_name uses stable version $buildtools_version of the build tools" 569 echo "$stableProj uses stable version $buildtools_stable of the build tools" 570 echo '' 571 cat problems.ext 572 echo '' 573 rm -f problems.ext 574 if test $ignoreBuildToolsMismatch = 0 ; then 575 exit -2 576 else 577 echo "Continuing in spite of BuildTools mismatch." 578 fi 579 fi 580 549 581 ext_base_front=`echo $ext_url | sed -e 's|/stable/.*||'` 550 582 ext_proj=`echo $ext_base_front | sed -e 's|.*/\([^/]*\)|\1|'` 551 583 552 584 if expr "$stableExternals" : '.*'"$ext_proj"'.*' 2>&1 >/dev/null ; then 553 echo " Using stable reference for $ext_name."585 echo "===> Using stable reference for $ext_name." 554 586 ext_rel_url=$ext_url 555 587 elif expr "$ext_url" : '.*releases/.*' 2>&1 >/dev/null ; then 556 echo " Using specified release for $ext_name."588 echo "===> Using specified release for $ext_name." 557 589 ext_rel_url=$ext_url 558 590 else 559 591 ext_stable=`echo $ext_url | sed -e 's|\(.*/stable/[0-9\.]*\).*|\1|'` 560 592 ext_base_end=`echo $ext_url | sed -e 's|.*/stable/[0-9\.]*||'` 561 562 echo "Determining release replacement for $ext_name:" 563 ext_latest=`determine_release $ext_stable 0` 593 ext_stable_branch=`echo $ext_stable | sed -e 's|.*/stable/||'` 594 595 echo "===> Determining release replacement for $ext_name:" 596 ext_latest=$ext_stable_branch.`determine_revision $ext_stable 0` 564 597 565 598 if test "$ext_base_end" = ""; then … … 570 603 fi 571 604 572 echo " $ext_rel_url"573 echo "$ext_name $ext_rel_url" >>Externals .releases605 echo " $ext_rel_url" 606 echo "$ext_name $ext_rel_url" >>Externals 574 607 ext_name= 608 echo '' 575 609 fi 576 610 done 577 578 echo ''579 echo '===> Creating backup (.bak) for Externals'580 mv Externals Externals.bak581 mv Externals.releases Externals582 611 583 612 echo '' … … 646 675 BuildTools/run_autotools 647 676 fi 648 649 if test -r Externals; then650 651 echo '===> Verifying consistency of the BuildTools versions...'652 echo ''653 654 ext_name=655 ext_url=656 rm -f problems.ext657 for i in `cat Externals`; do658 if test "$ext_name" = ""; then659 ext_name="$i"660 else661 ext_url=$i662 663 echo " checking $ext_name"664 665 num_M=`svn status $ext_name | grep -E '^M' | wc -l`666 667 if test $num_M -ne 0; then668 echo $ext_name >>problems.ext669 echo ' ... BuildTools not consistent!'670 else671 echo ' ... Ok'672 fi673 ext_name=674 fi675 done676 677 if test -r problems.ext; then678 echo ''679 echo 'PROBLEM DURING CONSISTENCY CHECK:'680 echo ''681 echo 'Please contact the project manager(s) for the following project(s).'682 echo 'A new release needs to be made with your stable branch of BuildTools.'683 echo ''684 cat problems.ext685 echo ''686 rm -f problems.ext687 if test $ignoreBuildToolsMismatch = 0 ; then688 exit -2689 else690 echo "Continuing in spite of BuildTools mismatch."691 fi692 fi693 rm -f problems.ext694 fi # if test -r Externals695 677 696 678 if test $isThirdParty != yes && test $isData != yes; then … … 791 773 echo "and run the commit_new_release script" 792 774 775 rm -rf Externals 776 793 777 cat >.new_release_data <<EOF 794 778 isData=$isData
Note: See TracChangeset
for help on using the changeset viewer.