Package: atlas
Version: 3.8.3-21

Hi

The cpufrequtils test loop that is part of the 'custom' rule fails due
to the bash-tastic for-loop syntax. I have replaced it with a while
loop in the attached patch. I've tested it and it works fine.


A less important 'gotcha' is that running the custom rule means that
build dependency checks are bypassed. If the uninstalled dependency is
say lapack-dev, then a 20+ minute compile is a long time to waitto
discover it is borked. (I am sighing from personal experience).

The following test works ($$deps would be the list of build-dep
packages). I am, however, unsure how one would get $$deps from within
the rules makefile.

if test -n "$$(dpkg-query -W $$deps 2>&1 > /dev/null)"; then\
    echo "build dependencies are not fully installed";\
    echo "aborting";\
    exit 1;\
fi
--- debian/rules	2010-05-03 09:02:33.624063782 +1200
+++ debian/rules.edit	2010-05-03 09:00:41.570399790 +1200
@@ -110,14 +110,17 @@
 custom-stamp:
 		rm -f configure-stamp
 
-		ncpu=$$(LANG=C cpufreq-info | grep "analyzing CPU" -c); \
-		for (( cpu=0 ; cpu < $$ncpu ; cpu++)); do \
-		if test $$(cpufreq-info -p 2>&1 > /dev/null; echo $$?) -eq 0 -a -z "$$(LANG=C cpufreq-info -p -c $$cpu | grep performance)" ; then \
-			echo "frequency governor on cpu=$$cpu is not set to 'performance'"; \
+		ncpu=$$(LANG=C cpufreq-info | grep "analyzing CPU" -c);\
+		cpu=0;\
+		while test $$cpu -lt $$ncpu ; do\
+		if test $$(cpufreq-info -p 2>&1 > /dev/null; echo $$?) \
+			-eq 0 -a -z "$$(LANG=C cpufreq-info -p -c $$cpu | grep performance)" ; then \
+			echo "frequency governor on cpu=$$ncpu is not set to 'performance'"; \
 			echo "run: 'sudo cpufreq-set -g performance -c cpu#' for each cpu"; \
 			echo "aborting atlas build"; \
 			exit 1; \
 		fi; \
+		cpu=$$((cpu+1)) ;\
 		done
 
 		# Here, the trick is pretty simple:

Reply via email to