[LON-CAPA-cvs] cvs: doc /loncapafiles langcheck.piml
raeburn
raeburn at source.lon-capa.org
Tue Nov 8 02:33:08 EST 2011
raeburn Tue Nov 8 07:33:08 2011 EDT
Modified files:
/doc/loncapafiles langcheck.piml
Log:
- Generalize language checking to work with distros for which LON-CAPA
is supported.
Index: doc/loncapafiles/langcheck.piml
diff -u doc/loncapafiles/langcheck.piml:1.1 doc/loncapafiles/langcheck.piml:1.2
--- doc/loncapafiles/langcheck.piml:1.1 Wed Nov 2 13:16:19 2011
+++ doc/loncapafiles/langcheck.piml Tue Nov 8 07:33:08 2011
@@ -5,27 +5,75 @@
<target dist="default"></target>
<perlscript mode="fg">
-print "Checking root bash language";
-my $lang = `locale`;
-if ($lang =~ "LANG=en") {
- print "... OK\n";
-} else {
- print "\n**** WARNING: You seem to have a non-english root bash. This can cause incorrect error messages.\n".
- " It is recommended to set your bash language to English.\n";
+if (open(PIPE,"locale |")) {
+ my @lines = <PIPE>;
+ close(PIPE);
+ print "Checking root bash language";
+ my ($is_english,$is_posix);
+ foreach my $line (@lines) {
+ if ($line =~ /^LANG=en/) {
+ $is_english = 1;
+ print "... OK\n";
+ last;
+ } elsif ($line =~ /^LANG=POSIX/) {
+ $is_posix = 1;
+ }
+ if ($is_posix) {
+ if ($line =~ /^LC_CTYPE=en/) {
+ $is_english = 1;
+ print "... OK\n";
+ last;
+ }
+ }
+ }
+ if (!$is_english) {
+ print "\n**** WARNING: You seem to have a non-English root bash. This can cause incorrect error messages.\n".
+ " It is recommended that you set your bash language to English by setting LANG=en_US.UTF-8 in /root/.bashrc\n";
+ }
}
-my $file = "/etc/sysconfig/i18n";
-if (open(my $IN,'<'.$file)) {
- print "Checking OS language";
- if (<$IN> =~ "LANG=\"en") {
- print "... OK\n";
- } else {
- print "\n**** WARNING: You seem to have a non-english operating system. ".
- "It is recommended to set the language in /etc/sysconfig/i18n to English.\n";
+my $osmsg = "\n**** WARNING: You seem to have a non-English operating system.\n";
+
+if ('<DIST />' eq 'sles9' || '<DIST />' eq 'sles10' || '<DIST />' eq 'sles11' ||
+ '<DIST />' eq 'suse11.1' || '<DIST />' eq 'suse11.2' || '<DIST />' eq 'suse11.3' ||
+ '<DIST />' eq 'suse11.4' || '<DIST />' eq '12.1') {
+ if (open(PIPE,"cat /etc/sysconfig/language |grep '^RC_LANG' |")) {
+ print "Checking OS language";
+ if (<PIPE> =~ /^RC_LANG="en/) {
+ print "... OK\n";
+ } else {
+ print $osmsg.
+ "It is recommended that you set LANG=\"en_US.UTF-8\" in /etc/sysconfig/language\n";
+ }
+ close(PIPE);
+ }
+} elsif ('<DIST />' eq 'debian5' || '<DIST />' eq 'debian6' || '<DIST />' eq 'ubuntu6' ||
+ '<DIST />' eq 'ubuntu8' || '<DIST />' eq 'ubuntu10') {
+ if (open(PIPE,"cat /etc/default/locale |grep '^LANG' |")) {
+ print "Checking OS language";
+ if (<PIPE> =~ /^LANG="en/) {
+ print "... OK\n";
+ } else {
+ print $osmsg.
+ "It is recommended that you set LANG=\"en_US.UTF-8\" in /etc/default/locale\n";
+ }
+ close(PIPE);
+ }
+} else {
+ if (open(PIPE,"cat /etc/sysconfig/i18n |grep '^LANG' |")) {
+ print "Checking OS language";
+ if (<PIPE> =~ /^LANG="en/) {
+ print "... OK\n";
+ } else {
+ print $osmsg.
+ "It is recommended that you set LANG=\"en_US.UTF-8\" in /etc/sysconfig/i18n.\n";
+ }
+ close(PIPE);
}
}
</perlscript>
</file>
</files>
-</piml>
\ No newline at end of file
+</piml>
+
More information about the LON-CAPA-cvs
mailing list