Bug 162064

Summary: font packages are not installed for locale, e.g. khmer font not installed after CD1
Product: [openSUSE] SUSE Linux 10.1 Reporter: Chumsoben Leang <soben>
Component: libzyppAssignee: Stefan Schubert <schubi>
Status: RESOLVED FIXED QA Contact: Stanislav Visnovsky <visnov>
Severity: Blocker    
Priority: P5 - None CC: aj, coolo, jsrain, jsuchome, kkaempf, lars.vogdt, lslezak, markus.kossmann, oliver, PSpee, schubi, shinkichi.yamazaki, suse-beta, tiwai
Version: Beta 8   
Target Milestone: ---   
Hardware: 32bit   
OS: SuSE Linux 10.1   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: yast-logs.tar.bz2
y2log.tar.bz2
yast-package-manager-khmer.png
yast2-logs.tar.bz2
y2log gzipped
patch for /usr/share/YaST2/modules/Packages.ycp
YaST2/ log files
logfiles

Description Chumsoben Leang 2006-03-30 03:01:00 UTC
After finish CD1 and restart computer, Khmer is not shown in the correct font. It should be shown in Khmer OS System.
The KhmerOS-font package is already installed during CD1.
Comment 1 Michael Gross 2006-03-30 10:31:21 UTC
thanks for reporting, the problem is known

*** This bug has been marked as a duplicate of 156045 ***
Comment 2 Mike Fabian 2006-03-30 12:25:43 UTC
If the KhmerOS-font package is already on CD1, it is *not*
a duplicate of bug #156045.
Comment 3 Chumsoben Leang 2006-04-01 01:22:34 UTC
yes. It is another problem.
Comment 4 Michael Gross 2006-04-04 11:59:33 UTC
Jiri: Can you help here, please?
Comment 5 Jens Herden 2006-04-04 13:48:22 UTC
I just tested beta9 and the bug is present there as well. 
Comment 6 Jens Herden 2006-04-06 03:39:08 UTC
After talking to Chumsoben it appears that we have different bugs. 

His problem in Beta8 was that after restart he got another Khmer font and not KhmerOS System. This is something I understand somehow. I think that Yast is not selecting any font at all and depends on the font substitution feature of QT in order to find a Khmer font for the text. The install system from CD 1 has only one font but after the switch to the installed system there are more fonts available and QT (or any other underlying code) picks just the first Khmer font it can get. The only solution I see here is to tell QT somehow that KhmerOS System is a preferred font for Khmer.

My problem in Beta9 was that I do not get any Khmer at all, only boxes. I tried this in vmware and I will try again in a normal installation in order to see if I can reproduce this. 
Comment 7 Chumsoben Leang 2006-04-06 04:49:49 UTC
In Beta9 I still get the same problem as Beta8.
Comment 9 Stefan Hundhammer 2006-04-19 09:28:40 UTC
I have no clue about those exotic fonts.

Mike?
Comment 10 Mike Fabian 2006-04-19 10:27:26 UTC
Nico is currently burning me a set of CDs for RC1, I'll test this
as soon as I have the CDs.
Comment 11 Mike Fabian 2006-04-19 15:38:55 UTC
When installing RC1 from a CD-set in Khmer language, I can confirm that
boxes are shown after the initial reboot (after CD1 is finished).
Comment 12 Mike Fabian 2006-04-19 15:40:17 UTC
The package KhmerOS-fonts-3.1-9.noarch.rpm is on CD1 of RC1, i.e. the problem
is not caused by a missing package on CD1.
Comment 13 Mike Fabian 2006-04-19 15:43:03 UTC
But the package has not been installed, although KhmerOS-fonts.spec contains the line

    Provides:       locale(km)

which should cause the package to be installed if Khmer language is selected
as primary or secondary language.
Comment 14 Mike Fabian 2006-04-19 16:34:03 UTC
I talked with Stefan Hundhammer and we experimented a bit.

When selecting Khmer as an additional language in YaST2 in an already
installed system, the KhmerOS-fonts package was selected.

But chen clicking on the [check] button (which runs the solver),
the package was deselected again.

→ seems to be a bug in the solver.

Stefan then tried the same procedure again with a somewhat newer SuSE 10.1 installation
tree (i.e. post RC1) and could not reproduce the problem again.

I.e. this problem *might* be already solved, but we are not sure.
Comment 15 Mike Fabian 2006-04-19 16:36:52 UTC
→ reassign to Klaus Kämpf <kkaempf@novell.com> because it is a solver problem.
Comment 16 Mike Fabian 2006-04-20 13:54:28 UTC
The same problem occurs for Japanese, although the package
"sazanami-fonts" is available on CD1, it is not installed
after the initial reboot.
Comment 17 Mike Fabian 2006-04-20 14:06:49 UTC
→ Blocker, because this problem seems to occur for all languages not
covered by the DejaVu fonts (Hebrew, Punjabi, Chinese, Korean, Japanese, Khmer, ...)
Comment 18 Klaus Kämpf 2006-04-20 14:51:00 UTC
comment #14, need logs
Comment 19 Mike Fabian 2006-04-20 15:06:38 UTC
Happens for simplified Chinese as well. ttf-arphic-gbsn00lp is on CD1
but is not installed after the initial reboot.

Comment 20 Mike Fabian 2006-04-20 15:12:43 UTC
I cannot supply the logs for comment #14 because this was done
on Stefan Hundhammers machine. Maybe Stefan can supply logs.

I'll try to attach logs for the problems mentioned in comment #16,
comment #19, and comment #12. These problems are 100% reproducible
with RC1.
Comment 21 Stefan Hundhammer 2006-04-20 15:27:20 UTC
For some of the languages (e.g. Punjabi) I can reproduce it on my machine with STABLE-i386 as the inst-source. For others that showed the problem yesterday I cannot. Do the packages still change that heavily?!
Comment 22 Mike Fabian 2006-04-20 15:59:55 UTC
Created attachment 79288 [details]
yast-logs.tar.bz2

tar ball of /var/log/YaST2 after the initial reboot.

Installation has been started in simplified Chinese.
Comment 23 Mike Fabian 2006-04-21 14:26:35 UTC
Created attachment 79449 [details]
y2log.tar.bz2 

Lars Rupp and me tested again Build 1005 with Khmer.

YaST log attached.

After the initial reboot, boxes where shown, the Khmer font package
was not installed although it was available on CD1.

We installed it manually and rebooted, then Khmer displayed correctly.
Comment 24 Klaus Kämpf 2006-04-21 14:57:57 UTC
y2log shows that the "km_KH" language was never selected.

U__s_[language]km_KH-.noarch

So YaST fails to actually pass the language information to zypp. -> visnov

Mike, where did you select the language ? In the initial language selection (as primary language) or in the detailed package selection (as secondary language) ?
Comment 25 Klaus Kämpf 2006-04-21 14:58:41 UTC
comment #24: to be precise: y2log from comment #23
Comment 26 Klaus Kämpf 2006-04-21 15:00:54 UTC
logs from comment #22 also show km_KH as not selected.
Comment 27 Mike Fabian 2006-04-21 15:19:41 UTC
Klaus> Mike, where did you select the language ? In the initial
Klaus> language selection (as primary language) or in the detailed
Klaus> package selection (as secondary language) ?

In the initial language selection in Linuxrc (that is the primary
language of course).
Comment 28 Mike Fabian 2006-04-21 16:10:19 UTC
Klaus> logs from comment #22 also show km_KH as not selected.

The logs attached in comment #22 are for simplified Chinese, not Khmer.

Selected in Linuxrc. The same problem occured, the simplified Chinese font package
ttf-arphic-gbsn00lp was not installed although it was available on CD1.
Comment 29 Andreas Jaeger 2006-04-22 08:47:06 UTC
I can confirm this with a German installation on RC2.  The language dependend packages are not selected in the packager.
Comment 30 Jens Herden 2006-04-23 06:20:35 UTC
I just tested RC2 and when I select Khmer at the _bootscreen_ and do a standard installation I _get_ the Khmer font after the reboot!

So maybe this problem also depends on where you select the language?

I remember that the same procedure worked on RC1 too.
Comment 31 Andreas Jaeger 2006-04-24 07:55:27 UTC
HOw to reproduce:
* Boot from media
* first screen: Choose German
* Do new installation
* Enter package manager
* Switch to Languages view
* NOtice that de is *not* enabled
* Notice that the only yast2-trans-de is selected but neither of aspell-de, ispelle-german, OpenOffice_org-de etc.
Comment 32 Jiří Suchomel 2006-04-24 07:58:36 UTC
*** Bug 166207 has been marked as a duplicate of this bug. ***
Comment 33 Jiří Suchomel 2006-04-24 08:00:03 UTC
> NOtice that de is *not* enabled

You probably mean it is not enabled in the list of secondary langauges, right? This is correct.
Comment 34 Andreas Jaeger 2006-04-24 08:07:42 UTC
This is not the list of secondary languages.  I clicked on the package manager not on the language manager.
Comment 35 Stanislav Visnovsky 2006-04-24 08:09:27 UTC
Looks like a change of semantics of libzypp vs. the old package manager :(
Comment 36 Jiří Suchomel 2006-04-24 08:20:50 UTC
Ladislav, is it possible to change the meaning of SetLocale back, so that it also adapts the package selection?
Comment 37 Ladislav Slezák 2006-04-24 08:42:07 UTC
Yes, I'm working on that...
Comment 38 Ladislav Slezák 2006-04-24 09:15:48 UTC
Fixed in yast2-pkg-bindings-2.13.65

I had to slightly modify additional locales handling, please test it in the next build too.
Comment 39 Andreas Jaeger 2006-04-25 08:22:54 UTC
*** Bug 169047 has been marked as a duplicate of this bug. ***
Comment 40 Jiří Suchomel 2006-04-25 14:30:49 UTC
*** Bug 169160 has been marked as a duplicate of this bug. ***
Comment 41 Mike Fabian 2006-04-25 14:45:52 UTC
Jens> I just tested RC2 and when I select Khmer at the _bootscreen_ and do a standard
Jens> installation I _get_ the Khmer font after the reboot!

Jens> So maybe this problem also depends on where you select the language?

Maybe, but I also selected it in the _bootscreen_ and it did *not* work.

Jens> I remember that the same procedure worked on RC1 too.

And it didn't work in RC2 either.

Klaus Kämpf just told me that it is fixed in build 1007 (post RC2).

I'll check that now.
Comment 42 Jiří Suchomel 2006-04-25 14:54:39 UTC
We've also tested it here with build 1008 and it did work (with czech, the czech-related packages were installed).
Comment 43 Mike Fabian 2006-04-25 15:28:44 UTC
    No, it does not work with build 1009!
    
    I booted with a RC1 CD (old, but this shouldn't matter)
    and then installed from machcd2:/machcd2/CDs/SUSE-Linux-10.1-Build_1009-x86_64/CD1
    via ftp.
    
    After CD1 was finished, the Khmer font package was not installed and
    of course I saw only boxes instead of Khmer because of this.
    
    The yast2-trans-km has been installed but kde3-i18n-km has not been installed
    although I selected KDE in one of the first installation screens.
    
    → REOPEN.
Comment 44 Stanislav Visnovsky 2006-04-25 15:34:58 UTC
Logs, please.
Comment 45 Mike Fabian 2006-04-25 15:54:50 UTC
Created attachment 79995 [details]
yast-package-manager-khmer.png

Another weird effect:

After the installation completed, I started YaST2 ? Software Management ??Filter: Languages

Then, when selecting Khmer, no packages at all are listed on the right side.

See attached screen shot.
Comment 46 Mike Fabian 2006-04-25 15:57:34 UTC
Created attachment 79996 [details]
yast2-logs.tar.bz2

tarball with YaST2 logs for comment #43 and comment #45.
Comment 47 Mike Fabian 2006-04-25 15:58:31 UTC
Logs have been attached → change status to ASSIGNED again.
Comment 48 Mike Fabian 2006-04-25 16:26:01 UTC
To make sure I retested with Japanese. The same problem occurs:

Although the package "sazanami-fonts" is available on CD1, it is not installed.
Comment 49 Andreas Jaeger 2006-04-25 16:39:30 UTC
Mike, where did you select the language?

It worked for me with german if I selected at the first YaST screen.
Comment 50 Stanislav Visnovsky 2006-04-25 17:17:49 UTC
Several notes:

1) setRequestedLocale operates on the pool, meaning it can work  only if we have all resolvables created. Jiris, please, make sure it is so.

2) YaST passes ja_JP to ZYPP. Might this be the problem? Needinfo for Michael.

3) For some languages, if I select e.g. sk_SK, it will automatically select sk. But not for all. I don't understand this at all.
Comment 51 Mike Fabian 2006-04-25 19:36:13 UTC
Andreas Jaeger> Mike, where did you select the language?

In the linuxrc bootscreen.
Comment 52 Klaus Kämpf 2006-04-25 19:42:45 UTC
Please try again. Choose the language in the first YaST screen this time.
Comment 53 Jiří Suchomel 2006-04-26 07:00:26 UTC
Tested on installed system: Pkg::SetLocale ("cs_CZ") selects correctly appropriate packages. 
During the installation, the packages are not selected (however the group cs_CZ in Languages filter of package selector appears).

Ad comment #52: both situations should be the same, Pkg::SetLocale is called at the same place (Packages.ycp, l.538 inst_language client is not involved).
Comment 54 Klaus Kämpf 2006-04-26 08:02:42 UTC
So the solver behaves correctly.

Could it be that Pkg::SetLocale() is called too early, before the respective language resolvable is created in the pool ?
Comment 55 Jiří Suchomel 2006-04-26 08:26:28 UTC
Yes, looks like it is called before creating the source... (/me is investigating & testing ...)
Comment 56 Jiří Suchomel 2006-04-26 09:10:17 UTC
Created attachment 80146 [details]
y2log gzipped

I've tried to move the call of SetAdditionalLocales in Packages.ycp further, after the creation of sources - didn't work :-(

The sequence of Pkg builtins was (after this change):

InstSysMode
SourceStartCache
SourceSetRamCache
ImportGPGKey
SourceCreateBase
SourceProductData
SourceProvideDir
SourceProvideOptionalFile
SetAdditionalLocales
ResolvableProperties
ResolvableInstall
...
Comment 57 Jiří Suchomel 2006-04-26 11:38:19 UTC
Created attachment 80225 [details]
patch for /usr/share/YaST2/modules/Packages.ycp

There are 2 changes in this patch for Packages.ycp:

1. moving SetAdditionalLocales after creating the source (already mentioned in comment #56)

2. init_called = false;
before new call of Packages::Init (true) in installation proposal. The problem is that Init ignores the force parameter, so the package selection remains reset after previous call of Packages::Reset. The change of behaviour was probably caused by new (and correct) implementation of Pkg::PkgReset builtin.
Comment 58 Jiří Suchomel 2006-04-26 11:42:26 UTC
Jiri, I give this for you as the solution (especially 2nd point) is more a hack than a fix and might break something else if submited.

Another issue remains: as Packages.ycp use Pkg::SetAdditionalLocales for selection of packages even for primary language, it is not necessary to alter the selection in Pkg::SetLocale, as implemented in yast2-pkg-bindings-2.13.65 (comment #38). Question is, what should be correct behaviour of Pkg::SetLocale.
Comment 59 Jiri Srain 2006-04-26 15:04:44 UTC
Modified patch above has just been submitted to STABLE.
Comment 60 Andreas Jaeger 2006-04-27 18:01:01 UTC
Still not fixed in RC3.
Comment 61 Stephan Binner 2006-04-27 18:04:30 UTC
Created attachment 80622 [details]
YaST2/ log files

As AJ said, here are the log files. aspell-de, kde3-i18n-de, susehelp_de and koffice-i18n-de were skipped during installation and only added when running an online update.
Comment 62 Andreas Jaeger 2006-04-27 18:04:35 UTC
Created attachment 80623 [details]
logfiles
Comment 63 Andreas Jaeger 2006-04-27 18:06:39 UTC
I have a german installation but no german openoffice.  Didn't check the rest.
Comment 64 Jiri Srain 2006-04-27 20:46:25 UTC
According to the log, locales are set after the last reset of packagemanager.

2006-04-27 19:13:01 <1> 10.10.0.53(3597) [wfm] Packages.ycp:96 Pkg Builtin called: PkgReset
2006-04-27 19:13:01 <1> 10.10.0.53(3597) [wfm] Packages.ycp:838 Pkg Builtin called: SetAdditionalLocales

(the lines are from the first log, the second log contains them as well).

Lado, looks like a problem in the Pkg builtin or somewhere lower. Or is there something else that has to be called?
Comment 65 Jiri Srain 2006-04-27 21:18:49 UTC
Maybe, can the problem be that between Pkg::PkgReset and Pkg::SetAdditionalLocales other Pkg builtins are called? If so, then moving Pkg::SetAdditionalLocales to Packages::Reset just after Pkg::PkgReset would help, but I don't know, when I tested the patch, I got czech packages installed...
Comment 66 Stanislav Visnovsky 2006-04-28 05:57:22 UTC
I see de_DE marked for transaction, but no de - the log says it cannot soft-transact it.

Anyway, solver issue. Schubi, please, take a look.
Comment 67 Stefan Schubert 2006-04-28 09:00:35 UTC
Yes, indeed:
2006-04-27 19:30:30 <0> 10.10.100.15(3307) [solver] QueueItemRequire.cc(process):809 Can't soft-transact U__u_[language]de-.noarch
Comment 68 Stefan Schubert 2006-04-28 09:11:20 UTC
It seems that the "reset" reset the language resolvables as user( U__u_). The solver has no change to set "de" through the requirement of "de_DE" again cause he cannot overwrite the user decision.
Comment 69 Klaus Kämpf 2006-04-28 10:36:06 UTC
Hmm, if 'de' cant be transacted, the same error should show up for 'de_DE' ?!
Comment 70 Stanislav Visnovsky 2006-04-28 11:01:44 UTC
But de_DE is set to be transacted by YaST and
ZYppImpl::setRequestedLocales uses User for this.

I think the fix is to not use PkgReset, but behavior like PkgNeutral.
Comment 71 Andreas Jaeger 2006-04-28 11:08:03 UTC
This happens only if you enter the partitioner!  IF you do not enter it, it looks fine!
Comment 72 Andreas Jaeger 2006-04-28 11:21:36 UTC
Please do a grep in YaST to check all places that call the resolver - that they initialize it correctly language wise!
Comment 73 Stefan Schubert 2006-04-28 11:33:39 UTC
Klaus has found the bug and Ladislav will take care about it.
Thanks !!!
Comment 74 Ladislav Slezák 2006-04-28 13:19:21 UTC
That's not the problem - I have created a separate bug report (#170643) for the wrong reset calls.
Comment 75 Stefan Schubert 2006-04-28 14:18:14 UTC
I has fixed and submitted.
It will be checked by stano and lslezak
Comment 76 Stephan Binner 2006-04-30 14:53:41 UTC
*** Bug 171048 has been marked as a duplicate of this bug. ***