
https://svn.lrde.epita.fr/svn/lrde-tools/trunk/build-farm It never crossed my mind until today that `conf_olena-1.0-g++-3.4' wasn't a valid shell function name... Shame on me. 8| Index: ChangeLog from Roland Levillain <roland@lrde.epita.fr> Use valid function names. * buildfarm_worker/build_test.fns (canonicalize): New function. (check_packages, check_packages_sub): Use it to canonicalize the names of the trees/packages. * buildfarm_worker/package.fns (conf_generic-tools) (conf_cxx-tools, conf_tc-maintainer, conf_tc-maintainer) (conf_vaucanson-gcc4_0, conf_vaucanson-icc) (conf_olena-proto-1.0-g++-3.4, conf_olena-proto-1.0-g++-4.0) (conf_olena-proto-1.0-g++-4.1, conf_olena-proto-1.0-g++-icpc) (conf_olena-1.0-g++-3.4, conf_olena-1.0-g++-4.0) (conf_olena-1.0-g++-4.1, conf_olena-1.0-g++-icpc): Rename as... (conf_c_tools, conf_cxx_tools, conf_tc_maintainer) (conf_tc_maintainer, conf_vaucanson_gcc4_0, conf_vaucanson_icc) (conf_olena_proto_1_0_gxx_3_4, conf_olena_proto_1_0_gxx_4_0) (conf_olena_proto_1_0_gxx_4_1, conf_olena_proto_1_0_gxx_icpc) (conf_olena_1_0_gxx_3_4, conf_olena_1_0_gxx_4_0) (conf_olena_1_0_gxx_4_1, conf_olena_1_0_gxx_icpc): ...these. build_test.fns | 17 +++++++++++++++-- package.fns | 30 +++++++++++++++--------------- 2 files changed, 30 insertions(+), 17 deletions(-) Index: buildfarm_worker/package.fns --- buildfarm_worker/package.fns (revision 360) +++ buildfarm_worker/package.fns (working copy) @@ -16,18 +16,18 @@ # Transformers. # # -------------- # -conf_generic-tools() { +conf_generic_tools() { # no_separate_build=true prg_version="strc --version" } -conf_c-tools() { +conf_c_tools() { deps="generic-tools" prg_version="strc --version" self_config="--with-generic-tools-xtc=$prefix_root/generic-tools/share/transformers-generic-tools/XTC" } -conf_cxx-tools() { +conf_cxx_tools() { deps="generic-tools" prg_version="strc --version" self_config="--with-generic-tools-xtc=$prefix_root/generic-tools/share/transformers-generic-tools/XTC" @@ -67,7 +67,7 @@ distcheck_config="$self_config" } -conf_tc-maintainer() { default_conf_tc } +conf_tc_maintainer() { default_conf_tc } conf_tc() { default_conf_tc } @@ -82,8 +82,8 @@ } conf_vaucanson() { default_conf_vaucanson } -conf_vaucanson-gcc4_0() { default_conf_vaucanson } -conf_vaucanson-icc() { default_conf_vaucanson } +conf_vaucanson_gcc4_0() { default_conf_vaucanson } +conf_vaucanson_icc() { default_conf_vaucanson } # ------- # @@ -91,15 +91,15 @@ # ------- # # Empty hooks. -conf_olena-proto-1.0-g++-3.4() {} -conf_olena-proto-1.0-g++-4.0() {} -conf_olena-proto-1.0-g++-4.1() {} -conf_olena-proto-1.0-g++-icpc() {} - -conf_olena-1.0-g++-3.4() {} -conf_olena-1.0-g++-4.0() {} -conf_olena-1.0-g++-4.1() {} -conf_olena-1.0-g++-icpc() {} +conf_olena_proto_1_0_gxx_3_4() {} +conf_olena_proto_1_0_gxx_4_0() {} +conf_olena_proto_1_0_gxx_4_1() {} +conf_olena_proto_1_0_gxx_icpc() {} + +conf_olena_1_0_gxx_3_4() {} +conf_olena_1_0_gxx_4_0() {} +conf_olena_1_0_gxx_4_1() {} +conf_olena_1_0_gxx_icpc() {} ############################# Index: buildfarm_worker/build_test.fns --- buildfarm_worker/build_test.fns (revision 360) +++ buildfarm_worker/build_test.fns (working copy) @@ -121,6 +121,17 @@ /bin/rm -f "$lck" } +# CANONICALIZE STRING +# ------------------- +# Tranform a string so that it becomes a valid identifier or function name. +canonicalize() { + # - -> _ + # . -> _ + # -> _ + # + -> x + echo "$1" | sed "y/-. +/___x/" +} + ############################# # check if last build of packages depending on $tree were successful. # if not, don't build current package, even if an older installed @@ -129,7 +140,8 @@ unset self_config self_pkgconfig self_postconf_hook deps visited_deps package_config unset PRG_VERSION no_separate_build prg_version tree_name=`echo $tree | sed 's/\./_/g'` - conf_$tree_name + canonic_tree_name=$(canonicalize "$tree_name") + conf_$canonic_tree_name [ $? -ne 0 ] && return 0 package_config="$self_config" @@ -171,7 +183,8 @@ # load deps configuration unset dep_config dep_pkgconfig deps prg_version package_name=`echo $package | sed 's/\./_/g'` - conf_$package_name + canonic_package_name=$(canonicalize "$package_name") + conf_$canonic_package_name package_config="$dep_config $package_config" if [ x$PKG_CONFIG_PATH != x ] && [ x$dep_pkgconfig != x ]; then dep_pkgconfig="$dep_pkgconfig:"