[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: not i18ned part in b-f 2.2.15

Hi. Thank you for working on our b-f, Akira.

In article <[🔎] 20000704225914.3986a4a7.yosshy@debian.or.jp>,
  at Tue, 4 Jul 2000 22:59:14 +0900,
    on not i18ned part in b-f 2.2.15,
 Akira YOSHIYAMA <yosshy@debian.or.jp> wrote:

> I'm working to port b-f (cvs) to Linux/98 (Linux for
> NEC PC-98x1 series) and to translate for Japanese.
> I found that installed fresh base system (dbootstrap
> installed it and just rebooted) isn't i18ned because of
> dpkg-reconfigure and init.

I found that there is another TODO in the current base system
in checking Akira's work for Linux/98.

To show the Japanese messages on the console, we need some
terminal emulator such as kon and jfbterm. I think Chinese
requires something another one (maybe cce). Maybe jfbterm
can be used for not only Japanese, but also CN-GB and EUC-KR
(at least it say so in its description). And we requires
locale-{ja,ko,zh,vi} to use the locale for our languages
with glibc2.1, I think.

But the current scripts/basedisks/*PACKAGES* just include
only locales.

To achieve the full-support for our languages, base should
incudes them. On the other hand, I'm sure that the size of 
base should be reduced, and we don't want to inflate base
with the packages which we won't use generally.

So I did not know what we should do, until I have found
the following codes in extract_base() in extract_base.c:

    status=extract_from_file(file,_("Base System"));
    if (status == 0) { /* Don't extract add-ons if extraction of base system failed. */
      if (NAME_ISREG( prtbuf,&statbuf)) {
        status=extract_from_file(file,_("Add-ons Set"));

ADDONS which is used here is defined in dbootstrap.h as

#define ADDONS  "addons.tgz"

This code is inserted at Sun Apr 11 20:41:05 1999 UTC, and it have been
there for over a year.

I hope this can be used for "language-addon".

In this scheme, when LINGUA is specified for the language which
need some special packages, then dbootstrap.h is modified to

 #define ADDONS  "addon"-$LINGUA".tgz"

using $LINGUA, and add the entry for this extra tarball in

   files_to_fetch[] = {
     { "rescue.bin",   kernel_image_path, nf_extract_kernel,  SERIES_OS   },
     { "drivers.tgz",  drivers_path,      nf_extract_drivers, SERIES_OS   },
     { "base2_2.tgz",  BASETGZ,           nf_extract_base,    SERIES_BASE },
+    { "addon-$LINGUA.tgz",  ADDONS,      nf_extract_base,    SERIES_BASE },
     { NULL,           NULL,              NULL,               0           }

which is defined in nf_install() in net-fetch.c, as well as adding
some required code into extract_base() in extract_base.c for floppy

   } else {
     status=extract_from_floppy(Archive_Dir,"/target/" BASETGZ,_("Base System"));
+    if (status == 0) { /* Don't extract add-ons if extraction of base system failed. */
+      status=extract_from_floppy(Archive_Dir,"/target/" ADDONS,_("Addon System"));
+    }

maybe extract_from_floppy() in extract_base.c should be modified
in this case, as

-  status=getFloppies(_("The system is being installed from the %s floppy drive.\n\nPlease insert base disk %d."),device,file);
+  status=getFloppies(_("The system is being installed from the %s floppy drive.\n\nPlease insert floppy %d."),device,file);
   if ( status == 0) {

Using this scheme, we can use the same base tar ball for all
languages, with some extra language pack which consist of 
required packages for a language.

I think this will not affect the main C/english only system, and
add enhancement for some languages which needs their special packages.

I have worked on bterm and libutf-8, but it may still needs some more
time before to use them in potato. So some work-around is required now,
and the scheme above can be a candidate for it, I hope.

  Taketoshi Sano: <sano@debian.org>,<sano@debian.or.jp>,<kgh12351@nifty.ne.jp>

Reply to: