Upgrading from 3.0 to 4.0 (cooker)

Has somebody written a procedure to upgrade openmandriva vs 3.0 to 4.0 (cooker)? If not, can somebody please do so. I have installed OMV vs. 3.0 on vbox and would like to upgrade that to cooker for test purposes.

Regards,

Chris

1 Like

Yes: GitHub - OpenMandrivaSoftware/openmandriva-updater: Update scripts for new major releases

But…

1 Like

Anyway I keep trying to run that script on an install of LXQt ISO 1701 and it does not work for me. What happens is that the script does switch from urpmi to dnf but it does not upgrade the Lx 3 system. The errors of today’s attemp look like:

db52_dump: BDB1126 Packages: unsupported hash version: 10
db52_dump: BDB5115 open: Packages: Invalid argument
mv: cannot stat 'Packages.NEW': No such file or directory
/bin/rm: cannot remove './RPMNEW': No such file or directory
/var/lib/rpm
error: could not delete old database at /var/lib/rpmold.4921
Unable to detect release version (use '--releasever' to specify release version)
Failed to synchronize cache for repo '_dnf_local', disabling.
Failed to synchronize cache for repo 'openmandriva-x86_64', disabling.
Failed to synchronize cache for repo 'updates-x86_64', disabling.
Last metadata expiration check: 0:28:07 ago on Tue 17 Apr 2018 08:51:36 AM CDT.
Dependencies resolved.
Nothing to do.
Complete!
3.x-to-cooker.sh: line 62: printf: `\': invalid format character
2 Likes

Working on it with @Colin and sometimes @bero and @ngompa.

1 Like

Ok the above script is sort of working. I just ran in a VM on VBox the script followed by:

# dnf --releasever=cooker upgrade --nogpgcheck --allowerasing --exclude gtksourceview

and it updated approx 855 packages on a Plasma5/LXQt system. i fully expect both Plasmaa5 and LXQt desktops to be broken in Cooker. For if it only updated 855 packages there are a lot more packages than that so there may be some conflicts or maybe that many packages from Lx 3 do carry over to Cooker. don’t know about that yet. Anyway I’ve been told to expect issues with both of those desktops for now.

Edit: Thinking some more. Ouch! Anyway it may be better to just wait until @Colin has the finalized script done. I will let Y’all know here.

Warning folks: As always do not rely on Cooker for production work. It can and will break and as far as desktops today it is kind of broken.

Regardless if you choose to use a Plasma5 ISO or a LXQt only ISO if you remember to install icewm before the conversion you can have a working all be it a simple desktop.

So I have a VBox VM installed from ISO 1915 upgraded to Cooker with dnf and a visible ICEWM desktop. So far there is more stuff not working than there is working. So Cooker isn’t desktop ready yet.

But the purpose of this test was to get a working script to upgrade from Lx3 to Lx4/Cooker and that is almost done.

Note: The warning is meant for users reading this thread not people subscribed here. You should all know not to use only Cooker for production work. If you do and it breaks you won’t be very productive.

I just tried the 3.x to 4.x update script and I got the messages (in part):

db52_dump: BDB1126 ./Packages: unsupported hash version: 10
db52_dump: BDB5115 open: ./Packages: Invalid argument
mv: cannot stat ‘/var/lib/RPMNEW/Packages.NEW’: No such file or directory
./3.x-to-cooker.sh: line 70: cd: /var/lib/RPMNEW: No such file or directory

I am running on vbox, a fresh installed and updated system.

Chris

The script does not work without intervention at this point. Was expecting @Colin to make some changes be @Colin is ill or at least “under the weather” so that has been delayed.

Hopefully the upgraded script wqorked for you Chris. Bear in mind that your original /var/lib/rpm/Packages may well ahve been damaged by the earlier incarnations of the script. The Packages file needs to be at least 10mB or more anything less and it’s probably damaged.
If you look in /var/lib/ you’ll see several backups of the db in directories that have /rpm pick out the largest Packages file and copy it to /var/lib/rpm/ Also make sure the two directories /var/lib/rpm/alternatives and /var/lib/filetriggers are present. If necessary copy from the backup. If it still doesn’t work it’s probably best to re-install.

Script does not work correctly yet. Latest error message at end of process:

mv: cannot stat 'triggers': No such file or directory
db52_dump: BDB1126 ./Packages: unsupported hash version: 10
db52_dump: BDB5115 open: ./Packages: Invalid argument
mv: cannot stat '/var/lib/RPMNEW/Packages.NEW': No such file or directory
mv: cannot stat '/var/lib/RPMNEW/triggers': No such file or directory
/home/ben79/Downloads/3.x-to-cooker.sh: line 64: cd: /var/lib/RPMNEW: No such file or directory
error: could not delete old database at /var/lib/rpmold.4159
OpenMandriva Cooker - x86_64                                                                                                                7.2 MB/s |  12 MB     00:01    
OpenMandriva Cooker - x86_64 - Updates                                                                                                      1.0 kB/s | 344  B     00:00    
OpenMandriva cooker - x86_64                                                                                                                7.0 MB/s |  12 MB     00:01    
OpenMandriva cooker - x86_64 - Updates                                                                                                      1.2 kB/s | 344  B     00:00    
Failed to synchronize cache for repo '_dnf_local', disabling.
Last metadata expiration check: 0:00:00 ago on Mon 23 Apr 2018 02:11:06 PM CDT.
Dependencies resolved.
Nothing to do.
Complete!

and now the file Packages is 20 KB so it’s ruined. Fortunately I have a backup ‘var/lib/rpm-extra’ directory so I can restore ‘/var/lib/rpm’ and test again.

This pastebin has the entire output of the script, but I didn’t use anything like -v (verbose), --debug, or set -x. Suppose I could if it would help get a perfect script.

I finally figured out what was wrong. It’s a chicken and egg problem. When the rpms get installed the db does get converted but it only contains the packages that are being a installed at the time thus the original db is lost.
The way around it is to back up the packages file and restore it after the new dnf and rpm packages have been installed and then re-install the dnf rpm packages to get it up to date. I could probably get away with using the --justdb flag on the second install but I don’t have a man page for rpm4 so I’m platying safe.
I have tested the script on a new install and it works.
At Last!!!

Colin,

Your procedure worked so far. Now dnf is failing because it cannot download a package that doesn’t exist since it has been replaced by another package:

[SKIPPED] lib64asound2-1.1.6-1-omv4000.x86_64.rpm: Already downloaded
[SKIPPED] libinput-1.10.5-1-omv4000.x86_64.rpm: Already downloaded
[SKIPPED] libksysguard-5.12.2-1-omv4000.x86_64.rpm: Already downloaded
[MIRROR] lib64ldap2.4_2-2.4.45-2-omv4000.x86_64.rpm: Status code: 404 for http://abf-downloads.openmandriva.org/cooker/repository/x86_64/main/release/lib64ldap2.4_2-2.4.45-2-omv4000.x86_64.rpm
[FAILED] lib64ldap2.4_2-2.4.45-2-omv4000.x86_64.rpm: No more mirrors to try - All mirrors were already tried without success

How do I tell dnf to update the repository package lists before upgrading.

Chris

Hi Chris, I think there’s a problem with abf-downloads I just got a similar error on a dhcp package. Just run this commad again.
dnf --releasever=cooker upgrade --nogpgcheck --allowerasing --exclude gtksourceview --exclude akonadi-contacts

Thanks. Will do.

Chris a revised command which may work better, The repos may have changed while you were downloading.
Try
dnf distro-sync --nogpgcheck --allowerasing --exclude gtksourceview --exclude akonadi-contacts

Looks like the script will work here but the repository has dependency issues. I had to manually install:

lib64xslt1-1.1.33-0.rc1.1-omv4000.x86_64.rpm  
python-six-1.11.0-2-omv4000.noarch.rpm
lib64exslt0-1.1.33-0.rc1.1-omv4000.x86_64.rpm  
openldap-2.4.46-1-omv4000.x86_64.rpm
lib64ldap2.4_2-2.4.46-1-omv4000.x86_64.rpm     
openldap-clients-2.4.46-1-omv4000.x86_64.rpm

and remove (note that it is replaced with a newer version of python2-six above):

# rpm -ehv --nodeps python2-six-1.11.0-1.noarch

and then script would finish.

Edit: It is likely that the above dependency issues will be different at different points in time as devs do the things they do.

Edit-2: And then for now when you reboot lxqt desktop is no longer working.

Edit-3: So at the moment a lot of stuff does not work and Cooker/Lx4 is not desktop ready yet.

If user installs IceWM and sets /etc/sddm.conf to auto login then you can have IceWM for a GUI desktop.

I’m thinking Plasma5 desktop isn’t working yet in Cooker either.

But the conversion script does work now. Thanks @Colin. :grin:

I recently ran the upgrade script on Lx3 for i586 it upgraded to i686 cooker fairly smoothly. You will need to exclude gtksourceview for a a full update using --allowerasing.
C

1 Like

So @Colin I’m guessing this means there will be an i686 version of Lx4? Or am I assuming facts not in evidence?

1 Like

As of today Saturday 2018-08-18. For me in a VBox VM clone of a fully update Lx 3 system the script runs through to completion but ends with errors. @bero says the errors are probably just some incorrect syntax or something like that in the script and probably don’t matter. For what I saw and with my made in Mississippi brain it looked like that too. It looks like almost everything is upgraded. But I noticed that after the script I no longer had virtualbox-guest-additions or x11-driver-video-vboxvideo packages. So who knows if some other necessary package got missed.

Anyway the system does not boot. So last I know earlier today @bero is investigating if there is a problem with the Cooker/Lx 4 and VBox as far a booting and starting X server. Or maybe something got missed in the script upgrade. We shall see. But I sense we are close on this.

When I normally with kernel 4.18.2 this is result:

If I try to open a VT it freezes. If I try to boot to mult-user.target I get same result. Only way I have found to boot resulting in a terminal is with adding 3 to boot parameters. If I do that and startx I get this error:

Any ideas or suggestions will be tried and appreciated. Dadgummit.

:monkey_face: