Dnfdragora 2.1.2-8 won't start

Hello,

  • OpenMandriva Lx version:
    OpenMandriva Lx 23.01 ROME - kernel 5.16.13 desktop

  • Desktop environment (KDE, LXQT…):
    KDE

  • Description of the issue (screenshots if relevant):
    Recently I have changed my repositories from Rock to Rolling and made a massive update of my system. Anything run fine but the “dnfdragora” package. I reinstalled it (version 2.1.2-8), but it won’t start anyway. Running in console, it returns the following error:
    Traceback (most recent call last):
    File “/usr/bin/dnfdragora”, line 58, in
    import dnfdragora.ui as ui
    File “/usr/lib/python3.11/site-packages/dnfdragora/ui.py”, line 19, in
    import yui
    ModuleNotFoundError: No module named ‘yui’

Any hint to make it work again? Thank you in advance!

  • Relevant informations (hardware involved, software version, logs or output…):

I bet the package “python-libyui” was lost after the update.
Install it and try again.

Did you follow instructions here?

Probably the main things to do at this point are to run this command to upgrade your system:

  1. $ sudo dnf clean all ; sudo dnf dsync --allowerasing

Then:

  1. $ sudo dnf autoremove

  2. $ sudo dnf in kernel-desktop

  3. Reboot

After rebooting to new kernel you can remove the old, outdated kernels with:

  1. $ sudo dnf rm kernel-release*

Going forward kernels for desktop users are named simply kernel-desktop instead of the old kernel-release-desktop.

Note: Upgrading ROME needs to always be done from terminal (Konsole) with:

$ sudo dnf clean all ; sudo dnf dsync

Do not upgrade ROME with Discover or dnfdragora as they use the wrong command (dnf upgrade). The correct command to upgrade ROME is dnf dsync.

Note-2: dsync is an abbreviation of distro-sync.

Hope this information is helpful.

Ben, I did as you suggested, but sad to say, I lost my system.
After rebooting it won’t start neither with the new kernel, nor with the old one. Moreover, for some reason it does not recognize my root and user passwords anymore so I can’t start it in console or rescue mode.
Any idea?

You probably did something that rewrote some file like /etc/shadow which is where passwords are stored. This usually happens after some upgrade where dnf installs something which at the end of the upgrade process that provokes a dialog asking user if the want to install the new file or keep the old one. User selects to install the new file which is exactly not what they want. Anyway if that is what happened this should be recoverable with a bit of work.

I believe this tutorial will show how to set new root password. The instructions assume Linux=Ubuntu but the commands work for other OS’s. Or search internet for instructions on how to recover a lost root password. Once you have root password you can log in to console mode or recovery mode and set user password and if you are lucky that is all you’ll need to do. (I have done this a time or two myself.)

Note: In my hypothetical circumstance in first paragraph when doing a system upgrade files you would always want to keep the old or original file are /etc/shadow, /etc/group, /etc/gshadow, /etc/passwd, /etc/sudoers, and generally any thing in /etc. etc consists of config files, if you have an existing system you generally want to keep any existing config files.

Indeed; I chose to install the new file (why not, I thought…) and bye all.
I’ll try to fix my system in some ways following the steps in the link you suggested, but if I should not do it, I think I’ll install Rome from scratch by USB.
All the best, up with OpenMandriva!

I am going to write a new tutorial that might allow you to fix your system. Will attach link in this thread when I am finished.

This tutorial shows how to get in to a broken system for repairs from an existing operating system on same computer or from any OMLx iso ‘Live’. If your system can be fixed this should do it. You should be able to set the root passwd if that is needed.

Dont forget the @AngryPenguin post and install python-libyui. The @AngryPenguin gives good advice.

Unfortunately I have not been able to recover my system; for some reason at boot it could not reach /bin/bash.
At that point, I downloaded and installed the platinum version of Rome and anything went fine.
After installation I synced distro following your suggestions and, after removing three broken dependencies related to Digikam, I came across that misleading selection that broke my system:

Configuration file ‘/etc/sddm.conf’
-rw-r–r-- 1 root root 2806 dic 13 13:06 /etc/sddm.conf.rpmnew
-rw-r–r-- 1 root root 1033 dic 29 22:56 /etc/sddm.conf
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are: […]

Maybe I am the only person who has been fooled by this issue, but I think this should be fixed in some way.

Uh, if I ask a developer to fix this they a going to say, “Fix what?”. Know this from experience.

Just a bit of explanation about this. This is a standard output that rpm does for some files where user has made changes to some configuration file. When the package in question gets upgraded then rpm generates a new file as somefile.conf.rpmnew and then the user needs to select whether to keep the new file or the original. But a lot of users don’t really read the dialog plus, IMO, the dialog is to long. Maybe to much information. A lot of us get caught by this including some of us that should know better. But the entire file is like this:

Configuration file '/etc/sddm.conf'
-rw-r--r--. 1 root root 2908 Jul 14 09:15 /etc/sddm.conf.rpmnew
-rw-r--r--. 1 root root 1056 Nov 12 15:09 /etc/sddm.conf

 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      M     : merge configuration files
      Z     : background this process to examine the situation
      S     : skip this file
 The default action is to keep your current version.
*** aliases (Y/I/N/O/D/M/Z/S) [default=N] ? 
Your choice:

As I said I believe there is to much information there. IMO the critical lines are these:

==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
...
The default action is to keep your current version.
*** aliases (Y/I/N/O/D/M/Z/S) [default=N] ?

The default action is the safe action. If you are doing this in Konsole (terminal) to use the default action you don’t need to type anything, just press enter. None the less I strongly encourage users to actually read each one of these dialogs. When I have been bit by this it was either me not reading or me overthinking.

FWIW: One group of files where you will see this dialog are these /etc/shadow, /etc/group, /etc/gshadow, and /etc/passwd. If you are upgrading an existing system you want to keep the old or existing files so pay attention. The /etc directory consists of configuration files if you are upgrading an existing system you almost always want to keep old or existing config files. Some matter little some a lot. The 4 I mention here matter a heck of a lot. They contain your password and user information if you lose these your are :boom: :cry:. (Actually this is recoverable with some work.)

And I really hope this info helps some or our users. I will make a separate post with the gist of this post and a descriptive title.

:thinking:

The most profitable fix is to RTFM (aka the countless guides and how-tos here).

Ben, thank you so much for your explanation.
I’ll just try and explain what I ment for “fixing” this dialog.
I am totally unaware of the way the new package will change my system, so (due to my personal attitude) I tend to get the most updated functions and install it. The result may be an almost unrecoverable system failure.
After installing the platinum Rome version from scratch, I did not choose the updated version of the said sddm.conf file. What would have happened if I did? Honestly I do not know. I would like that choices like this are safer and more clearly explained to the user, in particular regarding the consequences. If it is always safer to keep the old version of a specific file, then why proposing a change? I hope I made myself understood :slight_smile:

Yes understood, sorry for late reply. When dnf offers these choices the safest choice is the default choice. It will tell you that in the dnf output in Konsole. I am not sure but the dialog window that would open with dnfdragora should have the same output. I’ll put on my todo list to see If I can get a look at what dnfdragora and Discover have in such dialog windows.

DnfDrake would for sure post the same output one would see in Konsole. Personal Opinion: I consider DnfDrake superior to dnfdragora or Discover. See also this.