[Bug 1128853] New: yast2 doesn't handle transactional mode
http://bugzilla.opensuse.org/show_bug.cgi?id=1128853 Bug ID: 1128853 Summary: yast2 doesn't handle transactional mode Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: YaST2 Assignee: yast2-maintainers@suse.de Reporter: lnussel@suse.com QA Contact: jsrain@suse.com Found By: --- Blocker: --- Created attachment 799724 --> http://bugzilla.opensuse.org/attachment.cgi?id=799724&action=edit y2logs did a default transactional server install in TW, then figured that I forgot to switch to German. Called yast but it failed with several error messages as it can't write to /boot and also can't install packages. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1128853
http://bugzilla.opensuse.org/show_bug.cgi?id=1128853#c4
--- Comment #4 from Ludwig Nussel
http://bugzilla.opensuse.org/show_bug.cgi?id=1128853
http://bugzilla.opensuse.org/show_bug.cgi?id=1128853#c7
Ancor Gonzalez Sosa
(In reply to Ludwig Nussel from comment #4)
So what do we do with that now?
Start teaching YaST simple things and cleanup the code.
Which is easier said than done. :-) So let's try the constructive and iterative approach here. I will create a general Trello card about playing nice with transactional updates, taking this bug report as initial input. If time and other priorities permit, that "epic" card will very likely then be broken into smaller ones like "teach YaST to install packages in transactional-update mode", etc.
(In reply to Ludwig Nussel from comment #0)
did a default transactional server install in TW, then figured that I forgot to switch to German. Called yast but it failed with several error messages as it can't write to /boot and also can't install packages.
The big question is: why does YaST want to re-write grub.cfg for changing the language? There isn't any language specific options in grub.cfg.
Who said YaST wants to re-write grub.cfg? The problematic /boot operation here has nothing to do with Grub. The problem is that YaST is trying to regenerate initrd... as we (the YaST Team) were told to do in the bug#888804, titled "keyboard changes requires initrd regeneration". A bug that was reported by [drum roll...] Thorsten Kukuk. ;-)
So, at first, remove all the stuff we do and have no effect from YaST. Changing the language should not affect the bootloader.
As said, the last report we got in that area says that in order to make the keyboard layout changes persistent, we need to regenerate initrd. That's why we touch /boot. If that has changed, nobody told us.
If we need to modify grub.cfg, use "transactional-update grub.cfg" and make sure, the user reboots afterwards. If we have to install packages for this, that's bad.
If the German translations are not installed (absolutely normal if the system was installed in English) and the user calls YaST to change the language. Then installing the missing translations is the expected YaST behavior. That kind of things are what YaST is all about. The problem here is that YaST doesn't know that transactional-updates require a new way of installing packages (and an extra reboot).
But in theory, changing the language shouldn't be much more than calling localectl.
On a quiet oversimplified theory. YaST is a layer on top which also takes care of adjusting the keymap, ensuring that change is persistent, installing the translations... systemd has made some traditional Linux tasks easier. But still in most cases, every adaptation done with YaST implies touching several things. Sometimes those things are leftovers from the pre-systemd era. But very often hey are still more needed than one could think initially (at least, for non-advanced users). -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1128853
http://bugzilla.opensuse.org/show_bug.cgi?id=1128853#c10
--- Comment #10 from Ludwig Nussel
The problem here is that YaST doesn't know that transactional-updates require a new way of installing packages (and an extra reboot).
In an ideal world YaST wouldn't have to know I suppose. Some lower layer behind the package bindings should just handle it. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1128853
http://bugzilla.opensuse.org/show_bug.cgi?id=1128853#c12
Ludwig Nussel
http://bugzilla.opensuse.org/show_bug.cgi?id=1128853
http://bugzilla.opensuse.org/show_bug.cgi?id=1128853#c13
--- Comment #13 from Ancor Gonzalez Sosa
So if we can't fix yast easily how about not installing it in transactional mode?
So far, we are keeping this bug open as a long-term entry to adapt YaST step by step for that, as time permits. That will be, of course, a long road[*].
Patterns need some adjustment for that.
Could you open one (or several) separate bugs for that, assigned to the responsible people of each of the affected roles/patterns? [*] For example, YaST sometimes installs something (with user confirmation, of course) and then proceeds to configure the installed software immediately after its installation. That's something that cannot be done in transactional mode and we need to instruct YaST to do it in separate steps (maybe offering an option to restart the system). Interactive configuration and transactional mode don't play well together, I fear. -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com