| With selinux, ls outputs "-rwx------." rather than "-rwx------" making 
this test fail.
Better to use grep than diff here I think.
Is it better to reopen, create a bug, or ?
This patch works for me on fedora 12:
--- darcs-2.4/tests/issue458.sh~	2010-02-27 04:10:08.000000000 +1000
+++ darcs-2.4/tests/issue458.sh	2010-03-01 14:52:54.000000000 +1000
@@ -20,9 +20,7 @@
 darcs record --repodir repo1 -lam x x
 umask 077                       # DENY ALL access to group, all
 darcs get --set-scripts-executable repo1 repo2
-ls -l repo2/x | cut -f 1 -d\  > mode
-echo -rwx------ > desired-mode
-diff -u desired-mode mode
+ls -l repo2/x | cut -f 1 -d\  | grep -- -rwx------
 
 cd ..
 rm -rf temp |