From 0dd5ff64bf4dba9a2e54c7f29c96998af5dcebce Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 14 Mar 2015 13:23:56 -0400 Subject: Set LANG=C internally when doing some operations that have been reported to fail in other locales. Bug report: > + egrep -q '[^-a-z_]' > + echo 'etckeeper: invalid command init' Strangely, I cannot reproduce this problem when using the LANG=et_EE.UTF-8 locale. I guess our egreps are somehow behaving differently, even though a-z is not a character class that should be affected by locale AFAIK. I'll go ahead and set LANG=C when calling things that use character classes. --- debian/changelog | 2 ++ etckeeper | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 1f76b65..47012d0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,8 @@ etckeeper (1.18) UNRELEASED; urgency=medium * Send yum pre-commit output to /dev/null Thanks, Andrew Colin Kissa + * Set LANG=C internally when doing some operations that have + been reported to fail in other locales. -- Joey Hess Tue, 17 Feb 2015 20:56:01 -0400 diff --git a/etckeeper b/etckeeper index e669537..6671e24 100755 --- a/etckeeper +++ b/etckeeper @@ -79,7 +79,7 @@ elif [ "$command" = "pre-apt" ]; then command=pre-install fi -if echo "$command" | egrep -q '[^-a-z_]'; then +if echo "$command" | LANG=C egrep -q '[^-a-z_]'; then echo "etckeeper: invalid command $command" >&2 exit 1 fi @@ -121,7 +121,7 @@ fi export VCS lsscripts() { - perl -e ' + LANG=C perl -e ' $dir=shift; print join "\n", grep { ! -d $_ && -x $_ } grep /^\Q$dir\/\E[-a-zA-Z0-9]+$/, -- cgit v1.2.3