Bug 462295

Summary: fonts package list need to be updated
Product: [Fedora] Fedora Reporter: Jens Petersen <petersen>
Component: anacondaAssignee: Anaconda Maintenance Team <anaconda-maint-list>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 10CC: fonts-bugs, hdegoede, i18n-bugs
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-02-16 20:32:24 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
anaconda-un-core-fonts.patch
none
anaconda-fonts-update.patch none

Description Jens Petersen 2008-09-15 06:59:46 UTC
Description of problem:
We changed the default font for Korean in F10 from baekmuk-ttf-fonts to un-core-fonts-dotum.

Version-Release number of selected component (if applicable):
anaconda-11.4.1.34-1

Steps to Reproduce:
1. do a Korean install of rawhide
  
Actual results:
unicode boxes appear in place of Hangul glyphs.

Expected results:
Korean to display normally

Comment 1 Jens Petersen 2008-09-15 07:03:56 UTC
Created attachment 316718 [details]
anaconda-un-core-fonts.patch

Comment 2 Hans de Goede 2008-09-15 09:30:56 UTC
Jens,

Thanks for reporting and thanks for the patch. But I'm afraid fixing this is not that easy. You've correctly added the font to the keepfiles list, but it won't get installed into the install image root in the firstplace as there seem to be nothing in the packages list which installs said font.

The packages list still contains old font-package names / aliases:
        fonts-arabic fonts-bengali
        fonts-chinese fonts-gujarati fonts-hindi fonts-indic fonts-ISO8859-2 
        fonts-kannada fonts-korean fonts-malayalam fonts-oriya fonts-punjabi 
        fonts-sinhala fonts-tamil fonts-telugu

Most of these are no longer available in rawhide, for example there is no fonts-korean in rawhide, so no korean fonts will get installed at all.

It looks like we need to take a good look at which fonts packages we are currently installing into the install image root, and at which are listed in the keepfiles list.

I'm CC-ing the fonts-bug-list hoping that one of the font SIG guys can help out here.

Font SIG guys, when anaconda (the installer) is running it runs in its own environment. This environment gets build by the upd-instroot script. This script starts by installing a list of packages into a chroot and then removing any files not in a list of files to keep, so as to reduce the footprint of the install image, currently the lists of packages being installed to get the necessary fonts to get the installer to be able to render text in non western charactersets is listed above. This list clearly is no longer correct for rawhide, we could use some help in getting it fixed.

Comment 3 Chris Lumens 2008-09-15 14:13:30 UTC
Hans - the packages list can also contain things that are Provided: by other packages, since this list is just fed into yum.  So for example while there is no fonts-arabic package, kacst-fonts Provides: fonts-arabic, so the right package will get pulled in.

Here, nothing is providing fonts-korean anymore so the new font package will need to get pulled in.  This list certainly does need auditing, but the situation isn't quite as bad as you're thinking.  I've made this update and am putting the bug in modified for that reason.  We can continue to work on auditing the list and then close this one when complete.

Comment 4 Hans de Goede 2008-09-15 14:31:36 UTC
(In reply to comment #3)
> Hans - the packages list can also contain things that are Provided: by other
> packages, since this list is just fed into yum.

I know, but the fonts-lang provides are going away. So we need to stop using them.

> So for example while there is
> no fonts-arabic package, kacst-fonts Provides: fonts-arabic, so the right
> package will get pulled in.
>

Counter example:
[hans@localhost devel]$ repoquery -q --whatprovides fonts-chinese
[hans@localhost devel]$

This is on rawhide.
 
> This list certainly does need auditing, 

It does see me example above. Which make me think we should add a reverse check on the keep files list, iow error out when a file in the list is not in the install-image, does this sound like a plan ?

> I've made this update and am
> putting the bug in modified for that reason.  We can continue to work on
> auditing the list and then close this one when complete.

Ack.

Comment 5 Nicolas Mailhot 2008-09-15 17:05:42 UTC
(In reply to comment #2)

> Font SIG guys, when anaconda (the installer) is running it runs in its own
> environment. This environment gets build by the upd-instroot script. This
> script starts by installing a list of packages into a chroot and then removing
> any files not in a list of files to keep, so as to reduce the footprint of the
> install image, currently the lists of packages being installed to get the
> necessary fonts to get the installer to be able to render text in non western
> charactersets is listed above. This list clearly is no longer correct for
> rawhide, we could use some help in getting it fixed.

The default install list in the @fonts group is supposed to provide support for all our locales. Is it for some reason not good enough for you?

Comment 6 Hans de Goede 2008-09-15 17:36:34 UTC
(In reply to comment #5)
> (In reply to comment #2)
> 
> > Font SIG guys, when anaconda (the installer) is running it runs in its own
> > environment. This environment gets build by the upd-instroot script. This
> > script starts by installing a list of packages into a chroot and then removing
> > any files not in a list of files to keep, so as to reduce the footprint of the
> > install image, currently the lists of packages being installed to get the
> > necessary fonts to get the installer to be able to render text in non western
> > charactersets is listed above. This list clearly is no longer correct for
> > rawhide, we could use some help in getting it fixed.
> 
> The default install list in the @fonts group is supposed to provide support for
> all our locales. Is it for some reason not good enough for you?

Well for one our current script only handles packages, not groups, but we could fix that, besides that we are trying to keep things as small as possible (this goes on boot.iso) so it would be good to know if there is anything we could leave out for the installer case. For example it serves little purpose to ship fonts for language for which there is no anaconda translation.

So some questions:
1) The fonts-lang aliases are going away, right?
2) Is there a table somewhere with lang -> needed font mappings
3) Are there any fonts in the font group which are there to for example have
   a decent selection of fonts for language foo in openoffice, but which could
   be left out without affecting the ability to display language foo?

Comment 7 Nicolas Mailhot 2008-09-15 18:03:57 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > (In reply to comment #2)
> > 
> > > Font SIG guys, when anaconda (the installer) is running it runs in its own
> > > environment. This environment gets build by the upd-instroot script. This
> > > script starts by installing a list of packages into a chroot and then removing
> > > any files not in a list of files to keep, so as to reduce the footprint of the
> > > install image, currently the lists of packages being installed to get the
> > > necessary fonts to get the installer to be able to render text in non western
> > > charactersets is listed above. This list clearly is no longer correct for
> > > rawhide, we could use some help in getting it fixed.
> > 
> > The default install list in the @fonts group is supposed to provide support for
> > all our locales. Is it for some reason not good enough for you?
> 
> Well for one our current script only handles packages, not groups, but we could
> fix that, besides that we are trying to keep things as small as possible (this
> goes on boot.iso) so it would be good to know if there is anything we could
> leave out for the installer case. For example it serves little purpose to ship
> fonts for language for which there is no anaconda translation.
> 
> So some questions:
> 1) The fonts-lang aliases are going away, right?

fonts-lang packages have not been representative of our language support for quite a long time. What we had was a mix of font-lang packages and font packages named another way. During the past releases we've tried to consolidate font support by first renaming font-lang packages so they follow the same conventions as other font packages (keeping legacy aliases to their old names) and then in the future we'll kill those aliases too.

> 2) Is there a table somewhere with lang -> needed font mappings

I've tried to get the L10N teams fill
http://fedoraproject.org/wiki/Localization_fonts_requirements

but it's not been a huge success. I'm afraid only local guys know which font is best for them.

> 3) Are there any fonts in the font group which are there to for example have
>    a decent selection of fonts for language foo in openoffice, but which could
>    be left out without affecting the ability to display language foo?

I think the intention is to have a default font selection in @fonts which is sufficient to display all our locales, and then have additional fonts for foo locale defined both in @foo-support comps group and as optional @fonts members. Of course the package lists are not as complete and accurate as we'd like them to be and an audit is always welcome.

Thus while the default fonts list in the @fonts group is probably closest to what you need, it will have two defaults:
— it covers all the scripts we know of, not just the scripts needed by anaconda locales
— it will have some duplication (for example latin is important enough we install both liberation and dejavu by default)

However maintaining this list is already a lot of work and I don't see us maintaining another one just for anaconda. (Of course if comps had some notion of inheritance we could do stuff like "@fonts group is composed of @anaconda-fonts + those fonts anaconda does not care about")

Comment 8 Jens Petersen 2008-09-16 00:02:04 UTC
I am happy to provide the list of packages (it is basically just default packages in @fonts as Nicolas says).  I will just update my patch to update the package list too then for now.

Comment 9 Jens Petersen 2008-09-16 01:37:15 UTC
Created attachment 316798 [details]
anaconda-fonts-update.patch

patch to update the hardcoded list of fonts

Comment 10 Jens Petersen 2008-09-16 01:40:16 UTC
I agree though that it would be much better the @fonts group could just be used though.

Not sure if any other updates are needed for the filelist: it looks like quite a lot of stuff (fonts anyway) could be pruned from it.

Comment 11 Chris Lumens 2008-09-16 14:12:41 UTC
Using the @Fonts group is probably not doable until we rework the stuff in scripts/ to be in Python and use yum objects, instead of how we're doing everything now.  That's not going to happen for F10 at least.  For now we can take your patch updating the font list, though.  We probably can prune out a lot of the old crud, but it seems to me there's a fairly high possibility of breaking something in the process.

Comment 12 Chris Lumens 2008-10-23 14:45:39 UTC
Finished updating the font list in anaconda.  This should be taken care of in the next build, though we still need to look at using the @Fonts group for the future.

Comment 13 Bug Zapper 2008-11-26 03:05:15 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 10 development cycle.
Changing version to '10'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping