__Description of problem: urpmi refuse to install elder kernel drakrpm do not even show it (only the -devel- packages) This makes it unneccessarily hard for users to install elder kernels __Version-Release numbers: urpmi-8.131-1.mga9, rpmdrake-6.32-2.mga9, rpm-4.18.0-7.mga9 __Steps to Reproduce: i.e when having 6.5 kernel installed: $ LC_ALL=C sudo urpmi kernel-desktop-devel-6.4.16-3.mga9 kernel-desktop-6.4.16-3.mga9 Some requested packages cannot be installed: kernel-desktop-6.4.16-3.mga9.x86_64 (in order to keep kernel-desktop-6.5.11-5.mga9.x86_64) kernel-desktop-devel-6.4.16-3.mga9.x86_64 (in order to keep kernel-desktop-devel-6.5.11-5.mga9.x86_64) So i.e when we already have 6.5 series installed and would like to install latest 6.4 in updates, download the two packages and: rpm -i --force ./kernel-desktop-devel-6.4.16-3.mga9.x86_64.rpm ./kernel-desktop-6.4.16-3.mga9.x86_64.rpm (rpm need the --force option or else it refuse and complain like urpmi) Giuseppe in https://bugs.mageia.org/show_bug.cgi?id=32565#c8 : > From what I could see that's probably a side-effect of the newer > multi-versioned scheme on the same RPM, probably because it founds another > package already installed of the same name, but newer version, and works > only forward, not backward.
If we understand the normal package naming rule that the pkg name goes up to the first '-' which is followed by a number [version], all 'kernel-desktop' are the same package. Given the basic package name 'kernel-desktop', this looks legitimate: "Some requested packages cannot be installed: kernel-desktop-6.4.16-3.mga9.x86_64 (in order to keep kernel-desktop-6.5.11-5.mga9.x86_64)" "rpm need the --force option" Did you try either of the urpmi options?: --downgrade Force installing the packages even though they are already installed. --replacepkgs Force installing the packages even though they are already installed. Would you not need also 'kernel-userspace-headers'. And where does the virtual pkg 'kernel-desktop-latest' fit in? "download the two packages" From and to where? Do we take it that doing it by rpm worked, and left you with [with the older versionID]: kernel-desktop-6.5.11-5.mga9 kernel-desktop-latest-6.5.11-5.mga9 kernel-userspace-headers-6.5.11-5.mga9 and brings with it or creates in /boot: config-6.5.11-desktop-5.mga9 initrd-6.5.11-desktop-5.mga9.img symvers-6.5.11-desktop-5.mga9.xz System.map-6.5.11-desktop-5.mga9 vmlinuz-6.5.11-desktop-5.mga9 and the adjusted corresponding symlinks: initrd-desktop.img initrd.img vmlinuz vmlinuz-desktop What 'remove-old-kernels' would make of this... better to disable it. This does not look right: "drakrpm do not even show [the older version] (only the -devel- packages)" Not having the -devel kernel package, rpmdrake does not show any kernels at all, however phrased from just 'kernel' up to a full package/version name. OTOH '$ urpmq -i kernel-desktop' did show previous ones as well as current: kernel-6.4.9-4.mga9.src.rpm kernel-6.4.16-3.mga9.src.rpm kernel-6.5.11-5.mga9.src.rpm
CC: (none) => lewyssmith
(In reply to Lewis Smith from comment #1) > If we understand the normal package naming rule that the pkg name goes up to > the first '-' which is followed by a number [version], all 'kernel-desktop' > are the same package. > Given the basic package name 'kernel-desktop', this looks legitimate: > "Some requested packages cannot be installed: > kernel-desktop-6.4.16-3.mga9.x86_64 (in order to keep > kernel-desktop-6.5.11-5.mga9.x86_64)" > > "rpm need the --force option" > Did you try either of the urpmi options?: > --downgrade > --replacepkgs Did not try. I only want to *add* the elder kernel so the options sounded wrong. It is easy to experiment, use --test option. > Would you not need also 'kernel-userspace-headers'. I learnt in Bug 32541 that it is not needed. > And where does the virtual pkg 'kernel-desktop-latest' fit in? Not needed with the new naming scheme. The tools finds the update because of higher version, like any other package update. In the old scheme i think it should be its latest version to get next update of itself and kernel. > "download the two packages" i.e kernel-desktop And kernel-desktop-devel only if you need it for dkms to buid nvidia, virtualbox, ... kmods. > From and to where? From your favourite mirror to any folder, where you issue that rpm command. > > Do we take it that doing it by rpm worked, and left you with [with the older > versionID]: I skip checking, sorry. It seem to work cleanly. Also kmods for nvidia and virtualbox got built and works after running # rpm -i --force kernel-something kernel-sometning-devel > What 'remove-old-kernels' would make of this... better to disable it. It seem to work here. I run it now and then to display what is installed (and also see what it would intend to uninstall and it get it right), but I use urpme just to be uninstall... > This does not look right: > "drakrpm do not even show [the older version] (only the -devel- packages)" > Not having the -devel kernel package, rpmdrake does not show any kernels at > all, however phrased from just 'kernel' up to a full package/version name. Yes it is confuses users.
(In reply to Morgan Leijström from comment #2) > > "rpm need the --force option" > > Did you try either of the urpmi options?: > > --downgrade > > --replacepkgs > Did not try. I only want to *add* the elder kernel so the options sounded > wrong. I see the essential, I think: it is having multiple versions of the same package. However, that seems OK with normal use for kernels at least. For 'rpm': --force Same as using --replacepkgs, --replacefiles, and --oldpackage --oldpackage Allow an upgrade to replace a newer package with an older one --replacefiles Install the packages even if they replace files from other, already installed, packages. --replacepkgs Install the packages even if some of them are already installed on this system. > It is easy to experiment, use --test option. I declined to suggest that - to you! Assigning to the tools people.
CC: lewyssmith => (none)Assignee: bugsquad => mageiatoolsSummary: urpmi refuse to install elder kernel, drakrpm do not even show it (only -devel-) => urpmi refuse to install older kernel, drakrpm do not even show them (only -devel-)