Bug 1297823 - langpacks installation implementation in anaconda
Summary: langpacks installation implementation in anaconda
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Anaconda Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-01-12 14:39 UTC by Parag Nemade
Modified: 2016-02-25 17:27 UTC (History)
8 users (show)

Fixed In Version: anaconda-24.12-1
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-02-23 22:08:13 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Parag Nemade 2016-01-12 14:39:06 UTC
Based on the approach suggested in https://bugzilla.redhat.com/show_bug.cgi?id=1114422#c22 to replace langpacks dnf plugin with rpm weak dependencies, I want to discuss anaconda changes here.

Currently I got suggestions from DNF developers to create 141 langpacks-<langcode> packages in Fedora based on the output from "dnf langavailable|wc -l" output. I want to know is it possible that when user selects some language say cs language, can anaconda add langpacks-cs package in the same initial installation transaction?

But with this approach I think we need to at least add common packages like the languages that anaconda shows and languages that langpacks are available on the DVD iso.
E.g. langpacks-mai is available and also Maithili language if available in anaconda then only those number of langpacks-<lang> packages need to be added to DVD iso.

Comment 1 David Shea 2016-01-13 14:22:22 UTC
I have a lot of problems with this.

We already have a means of conditionally installing packages based on the user's language: langpacks. There was a Fedora feature for it (https://fedoraproject.org/wiki/Features/YumLangpackPlugin), it's already in comps, and there are packages in Fedora, today, that use and depend on this feature of package installation. Changing langpacks from comps definitions to packages and weak dependencies, besides being unnecessary, would require coordination with rel-eng and all of the packages affected, and at the very least should go through FESCO or FPC or the Fedora change process or something.

Anaconda should not be in the business of deciding which packages to install or not install. We have a packaging library for that. Furthermore, anaconda is, to the extent possible, packaging-system agnostic. It is the Fedora installer, not the dnf installer or the yum installer, and there are several methods of doing that. Some of those methods do not even have packages.

The idea that only anaconda cares about langpacks is flawed. The nice thing about yum-langpacks is that if you were to run 'yum install libreoffice-writer', it would pull in any appropriate libreoffice-langpack-<lang> packages automatically. dnf-langpacks only adds new commands instead of modifying the transaction during a normal install, so this feature is effectively lost with dnf, both with the current definition of langpacks in this proposed change.

You keep pointing to dnf missing the hooks you need for the langpacks plugin. Dnf has the same hooks that yum-langpacks used: http://dnf.readthedocs.org/en/latest/api_plugins.html#dnf.Plugin.resolved

Comment 2 Parag Nemade 2016-01-13 14:59:49 UTC
Note I am already asking for similar hook in dnf since F21 but as dnf langpacks is not functional since F22, I am trying my best to get it working at least from coming f24 release.

Comment 3 Honza Silhan 2016-01-20 15:42:30 UTC
(In reply to David Shea from comment #1)
> We already have a means of conditionally installing packages based on the
> user's language: langpacks. There was a Fedora feature for it
> (https://fedoraproject.org/wiki/Features/YumLangpackPlugin), it's already in
> comps, and there are packages in Fedora, today, that use and depend on this
> feature of package installation.

IFAIK  language support groups were replaced by langpack plugin. I am not able to find any such a group according to [1] and [2]. Probably you can remove a few more lines from anaconda.

> Changing langpacks from comps definitions
> to packages and weak dependencies, besides being unnecessary, would require
> coordination with rel-eng and all of the packages affected, and at the very
> least should go through FESCO or FPC or the Fedora change process or
> something.

We plan to involve FPC.

> Anaconda should not be in the business of deciding which packages to install
> or not install. We have a packaging library for that. Furthermore, anaconda
> is, to the extent possible, packaging-system agnostic. It is the Fedora
> installer, not the dnf installer or the yum installer, and there are several
> methods of doing that. Some of those methods do not even have packages.
> 
> The idea that only anaconda cares about langpacks is flawed. The nice thing
> about yum-langpacks is that if you were to run 'yum install
> libreoffice-writer', it would pull in any appropriate
> libreoffice-langpack-<lang> packages automatically. dnf-langpacks only adds
> new commands instead of modifying the transaction during a normal install,
> so this feature is effectively lost with dnf, both with the current
> definition of langpacks in this proposed change.

Not at all, the mechanism is just hidden under the hood of DNF and smoothly pull into transaction relevant langpacks in one run.

PR: https://github.com/rhinstaller/anaconda/pull/484

[1] https://fedoraproject.org/wiki/I18N/Language_Support_Using_Yum
[2] https://docs.fedoraproject.org/en-US/Fedora/11/html/Release_Notes/sect-Release_Notes-International_Language_Support.html

Comment 4 David Shea 2016-02-23 22:08:13 UTC
The pull request has been merged into anaconda, and according to the new kickstart test it's working just fine.


Note You need to log in before you can comment on or make changes to this bug.