Re: Dealing with installation of langpacks

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

 





On Thu, Dec 19, 2024 at 1:31 PM Alexey Lunev <cheembox573@xxxxxxxxx> wrote:
Hi everyone. For this moment none of Live ISO editions/spins install langpacks
except for `langpack-en`, as opposed to Fedora Everything and Fedora Server
ISO. Langpacks contains localization for some software (e.g. LibreOffice, man
pages) and grammar check rules. If I recall correctly, there is no way to
install langpacks from GUI, so to fix this user need to surf the internet to
find console command and figure out how and where to execute it.

I want to file change proposal to fix this issue. I have multiple solutions to
this issue, all of them has their own pros and cons, but I don't know which
will be best for Fedora, or maybe someone has better idea, so feedback would
be great!

So, here is the list:
1. Add `langpack-*` (and packages that supplements them) into installation
image.
This solution is the best in my opinion, because it will work with and without
internet connection and provide language support for every language out of the
box. However, this method will add approximately 400 MiB to size of image (my
calculations are 355 and 351 MiB, Fedora KDE 41). I'm not sure if installer
should install all of them on disk, language support will be provided for more
languages user may use if all langpacks are installed into target system.

2. Make an application to automatically install langpacks after installation.
This method requires some effort: implementing an application, implementing
localization for it, convincing all editions/spins to include it. It also
won't work in offline/airgapped environments.
This would not help with Live installations, as no packages are actually installed when installing Fedora from a Live media.

What actually happens is, that the packages are basically installed into a folder by Live Media Creator when building the
Live image and the result is then package into the Live image. This can then bee booted & presents the user an example
of a Fedora system & can also run an installation.

Then when you run the Anaconda Installer from the Live
image, what happens is that the installer just rsyncs all the files to the target system storage.

So if there was some logic on the RPM/DNF side to pull in missing langpacks at package installation time, it would not
get triggered when installing from from a Live image. It might get triggered later, when the package is next updated,
which would likely not be a good UX.
 

3. Make installer hybrid.
One way is to combine Live ISO's local packages and remote repositories to
make hybrid installer. This will also help with installation of the most fresh
system but this also won't work without internet connection.
This has been discussed in the past for other reasons, including actually *uninstalling the installer* from the target system.
The whole content of the image gets transferred to the target system, including the the installer and its dependencies. :P

The with this are IMHO still the same:

1) need for architectural changes in the installer to support more than one payload during a single installation run

Currently Anaconda selects a payload (DNF/RPM, Live image, tar, ostree, bootc, etc.), installs it and terminates. For this to work,
it would have to be able to run more than one payload, in order & resolve possible incompatibilities and other side effects
of doing 2+ things instead of 1.

I'm not saying this is impossible, just that it will take some time to implement. And this is not the only feature request we got for this,
with proper support for Flatpak pre-installation also needing support for multiple payloads.

2) the Live image is offline by default & the installation does not require a network connection

As fe are just rsyncing the files from the image itself, we don't need network access, unlike with most boot.iso installations.
Sure, we could enable networking, but unless the user is already connected via Ethernet with usable DHCP, some user
interaction will be needed to eq. setup Wifi credentials.

So its basically about adding some more complexity:
- detecting we need network now
- asking user to enable it
- checking network seems to be on
- handling any new error states

So certainly doable on a technical level, but would require not insignificant resources to do properly.

But if it is done, there could be some added benefits:
- we could remove the installer from the installed system when we are at it
- we could update the system
(Official Live images are usually created at GA & not updated afterwards, so users might need to update
 quite a few packages right after the installation.)


Alexey


--
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
-- 
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux