1 |
#!/bin/sh -x |
#!/bin/sh -x |
2 |
# usage: dist-guile TAG |
# usage: dist-guile TAG [START] |
3 |
# |
# |
4 |
# This must be run in a branched top-level guile-core dir (so |
# This must be run in a branched top-level guile-core dir (so |
5 |
# that CVS/Tag looks something like: branch_release-X-Y). |
# that CVS/Tag looks something like: branch_release-X-Y). |
6 |
# |
# |
7 |
# Description: |
# Description of each step: |
8 |
# - check all files under cwd are unmodified (sync'ed w/ cvs repo) |
# 0 - set vars and do other init |
9 |
# - sh -x autogen.sh |
# 1 - check all files under cwd are unmodified (sync'ed w/ cvs repo) |
10 |
# - create distdir ../dist.$branch |
# - sh -x autogen.sh |
11 |
# - in $distdir do configure, make, make check |
# 2 - create distdir ../dist.$branch |
12 |
# - in $distdir do make distcheck |
# - in $distdir do configure, make, make check |
13 |
# - cvs tag TAG (where TAG is $1) |
# 3 - in $distdir do make distcheck |
14 |
|
# 4 - cvs tag TAG (where TAG is $1) |
15 |
|
# |
16 |
|
# Optional arg START means start at that step (step 0 is always done). |
17 |
|
# This is useful for avoiding long rebuilds after fixing minor mishaps. |
18 |
# |
# |
19 |
# TODO: Handle non-standard workbook location. |
# TODO: Handle non-standard workbook location. |
|
# Support skipping steps, for restarts. |
|
20 |
|
|
21 |
set -e |
set -e |
22 |
|
|
32 |
exit 1 |
exit 1 |
33 |
fi |
fi |
34 |
|
|
35 |
trap "cd $startdir ; cvs tag -d TEMP-$tag" 0 1 2 15 |
#trap "cd $startdir ; cvs tag -d TEMP-$tag" 0 1 2 15 |
36 |
|
|
37 |
set_branch_and_derived_vars () |
set_branch_and_derived_vars () |
38 |
{ |
{ |
75 |
cvs tag $tag |
cvs tag $tag |
76 |
} |
} |
77 |
|
|
78 |
# todo: support command-line options to skip any of these steps |
####################################################################### |
79 |
set_branch_and_derived_vars |
# main |
80 |
check_unmodified_tag_and_autogen |
|
81 |
cd_distdir_configure_build_and_check |
set_branch_and_derived_vars # always do step 0 |
82 |
cd_distdir_and_make_distcheck |
|
83 |
everything_works_so_tag_it_for_real # do last |
steps='1234' |
84 |
|
case x"$2" in x[234]) |
85 |
|
steps=`echo $steps | sed 's/.*\('$2'\)/\\1/g'` ;; |
86 |
|
esac |
87 |
|
|
88 |
|
case $steps in *1*) check_unmodified_tag_and_autogen ;; esac |
89 |
|
case $steps in *2*) cd_distdir_configure_build_and_check ;; esac |
90 |
|
case $steps in *3*) cd_distdir_and_make_distcheck ;; esac |
91 |
|
case $steps in *4*) everything_works_so_tag_it_for_real ;; esac |
92 |
|
|
93 |
# dist-guile ends here |
# dist-guile ends here |