GOTO Masanori <[EMAIL PROTECTED]> writes:

> At Tue, 19 Jul 2005 19:18:37 +0100,
> Roger Leigh wrote:
>> > I would like to put this version to locales package.  I welcome your
>> > comments and patches.
>> 
>> That sounds fine.  I can rework the patch for you.
>
> Thanks, I'm looking forward to your patch.

It's here (but untested, because the glibc build currently fails on my
system; perhaps I need the experimental glibc?):

diff -urN glibc-2.3.2.ds1.original/debian/debhelper.in/locales.templates 
glibc-2.3.2.ds1/debian/debhelper.in/locales.templates
--- glibc-2.3.2.ds1.original/debian/debhelper.in/locales.templates      
2005-07-20 17:56:10.000000000 +0100
+++ glibc-2.3.2.ds1/debian/debhelper.in/locales.templates       2005-07-20 
19:06:01.908606928 +0100
@@ -8,6 +8,11 @@
  Choose which locales to generate.  The selection will be saved to
  `/etc/locale.gen', which you can also edit manually (you need to run
  `locale-gen' afterwards).
+ .
+ UTF-8 locales should be chosen by default.  If you are a performing a
+ new installation, or are unsure which character set to use, UTF-8 is
+ usually the best choice.  Other character sets are useful for
+ backwards compatibility with older systems and software.
 
 Template: locales/default_environment_locale
 Type: select
diff -urN glibc-2.3.2.ds1.original/debian/rules.d/debhelper.mk 
glibc-2.3.2.ds1/debian/rules.d/debhelper.mk
--- glibc-2.3.2.ds1.original/debian/rules.d/debhelper.mk        2005-07-20 
17:56:10.000000000 +0100
+++ glibc-2.3.2.ds1/debian/rules.d/debhelper.mk 2005-07-20 19:08:19.229730944 
+0100
@@ -225,7 +225,7 @@
        done
 
        # Substitute __SUPPORTED_LOCALES__.
-       perl -i -pe 'BEGIN {undef $$/; open(IN, 
"debian/tmp-libc/usr/share/i18n/SUPPORTED"); $$j=<IN>;} 
s/__SUPPORTED_LOCALES__/$$j/g;' debian/locales.config
+       perl -i -pe 'BEGIN { open(IN, 
"debian/tmp-libc/usr/share/i18n/SUPPORTED"); $$out = $$cblock = ""; $$oldloc = 
$$curloc = ""; $$utf8loc = 0; while (<IN>) { chomp $$_; if 
(/^([a-z]+_[A-Z]+).*$$/) { $$curloc = $$1; } if ($$oldloc eq "") { $$oldloc = 
$$curloc; } if ($$curloc ne $$oldloc) { if ($$utf8loc == 0) { printf STDERR 
"$$curloc: No UTF-8 locale\n"; } $$utf8loc = 0; $$out .= $$cblock; $$cblock = 
""; $$oldloc = $$curloc; } if (/UTF\-8/) { $$out .= "$$_\n"; $$utf8loc = 1; } 
else { $$cblock .= "$$_\n"; } } $$out .= $$cblock; } 
s/__SUPPORTED_LOCALES__/$$out/g;' debian/locales.config
 
        # Generate common substvars files.
        echo "locale:Depends=$(shell perl debian/debver2localesdep.pl 
$(DEB_VERSION))" > tmp.substvars


Because the perl script is a bit larger, I wrote it as a proper
script.  It might be better as a separate file, for ease of
maintenance.

BEGIN {
    open(IN, "debian/tmp-libc/usr/share/i18n/SUPPORTED");
    $out = $cblock = "";
    $oldloc = $curloc = "";
    $utf8loc = 0;
    while (<IN>) {
        chomp $_;

        if (/^([a-z]+_[A-Z]+).*$/) {
            $curloc = $1;
        }
        if ($oldloc eq "") {
            $oldloc = $curloc;
        }

        if ($curloc ne $oldloc) {
            if ($utf8loc == 0) {
                printf STDERR "$curloc: No UTF-8 locale\n";
            }
            $utf8loc = 0;

            $out .= $cblock;
            $cblock = "";
            $oldloc = $curloc;
        }

        if (/UTF\-8/) {
            $out .= "$_\n";
            $utf8loc = 1;
        } else {
            $cblock .= "$_\n";
        }
    }
    $out .= $cblock;
}

s/__SUPPORTED_LOCALES__/$out/g;


Regards,
Roger

-- 
Roger Leigh
                Printing on GNU/Linux?  http://gimp-print.sourceforge.net/
                Debian GNU/Linux        http://www.debian.org/
                GPG Public Key: 0x25BFB848.  Please sign and encrypt your mail.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to