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(a)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:"