Hallo,
Does anybody knows if zypper ignores priorities?
I have setup the KDE 4.11 repositories with priority 98 (instead of 99 for the rest of them), but the zypper up is not updating the KDE.
Am I missing something here?
1 | Java | Java | No | No | 99 | http://download.opensuse.org/repositories/Java:/packages/openSUSE_12.1
2 | KDE 4.11 - Extra | KDE 4.11 - Extra | Yes | No | **98** | http://download.opensuse.org/repositories/KDE:/Extra/KDE_Release_411_openSUSE_12.3/
3 | KDE 4.11 - Telepathy | KDE 4.11 - Telepathy | No | No | **98** | http://download.opensuse.org/repositories/KDE:/Unstable:/Playground:/Telepathy/KDE_Release_411_openSUSE_12.3/
4 | KDE 4.11 Core | KDE 4.11 Core | Yes | No | **98** | http://download.opensuse.org/repositories/KDE:/Release:/411/openSUSE_12.3/
5 | KDE3 | KDE3 | Yes | Yes | 99 | http://download.opensuse.org/repositories/KDE%3a/KDE3/openSUSE_12.3
6 | LibreOffice | LibreOffice | Yes | No | 99 | http://download.opensuse.org/repositories/LibreOffice:/Stable/openSUSE_12.3/
7 | Main_Repository_(NON-OSS) | Main Repository (NON-OSS) | Yes | No | 99 | http://download.opensuse.org/distribution/12.3/repo/non-oss/
8 | Main_Repository_(OSS) | Main Repository (OSS) | Yes | No | 99 | http://download.opensuse.org/distribution/12.3/repo/oss/
9 | Main_Update_Repository | Main Update Repository | Yes | Yes | 99 | http://download.opensuse.org/update/12.3
ypper up
Loading repository data...
Reading installed packages...
The following package updates will NOT be installed:
MozillaFirefox MozillaFirefox-translations-common akonadi akonadi-runtime akregator amarok ark arts bluedevil branding-openSUSE cairo-dock cairo-tools
calligra-l10n-el create-resources digikam digikam-doc digikam-lang dolphin dynamic-wallpaper-branding-openSUSE fileshareset gfxboot-branding-openSUSE
gimp-branding-openSUSE grub2-branding-openSUSE gstreamer gstreamer-0_10 gstreamer-0_10-lang gstreamer-0_10-plugin-esd gstreamer-0_10-plugin-gnomevfs
gstreamer-0_10-plugins-bad gstreamer-0_10-plugins-bad-lang gstreamer-0_10-plugins-base gstreamer-0_10-plugins-base-lang gstreamer-0_10-plugins-good
gstreamer-0_10-plugins-good-lang gstreamer-lang gstreamer-plugins-base gstreamer-plugins-base-lang gtk2-engine-oxygen gtk2-theme-oxygen gwenview
kactivities4 kaddressbook kate kcalc kcharselect .....
[Offtopic]
I never used dup for that in the past. For the moment, I have used the “Switch” from YaST, but I would prefer the CLI option.
[/Offtopic]
I insist. Since the KDE 4 repos have a “higher” priority, zypper have proceed to the update. Why it did not do that? Is the dup the “official” way to proceed with KDE updates?
On 08/30/2013 07:26 AM, tpe pecked at the keyboard and wrote:
> Hallo,
> Does anybody knows if zypper ignores priorities?
> I have setup the KDE 4.11 repositories with priority 98 (instead of 99
> for the rest of them), but the zypper up is not updating the KDE.
> Am I missing something here?
>
>
>
The reason the packages are not being installed is because they require
a vendor change (different repo). You need to manually force the repo
change either by using zypper dup (not recommended), zypper in <package
name w/ the version number> (use zypper in <package name> to get it) or
use YaST to install the package. Once the package is using the different
repo it will continue using it.
On 2013-08-30 15:26, tpe wrote:
>
> I never used dup for that in the past. For the moment, I have used the
> “Switch” from YaST, but I would prefer the CLI option.
>
>
> I insist. Since the KDE 4 repos have a “higher” priority, zypper have
> proceed to the update. Why it did not do that? Is the dup the “official”
> way to proceed with KDE updates?
Priorities matter, but vendor change (or no change) takes precedence. A
dup is one way of switching vendor, but it is rather drastic and may
cause other problems. I prefer going to yast and switching the packages
I want.
–
Cheers / Saludos,
Carlos E. R.
(from 12.3 x86_64 “Dartmouth” at Telcontar)
The switch to KDE 4.11 needs a lot of packages to change vendor. A “zypper in <package name>” does nothing than indicate that there is an update candidate available:
zypper in dolphin
Loading repository data...
Reading installed packages...
'dolphin' is already installed.
There is an update candidate for 'dolphin', but it is from different vendor. Use 'zypper install dolphin-4.11.0-348.3.x86_64' to install this candidate.
Resolving package dependencies...
Nothing to do.
You need to force the install of the package with --force. But this will cause lot of messages that there are many packages that can not be installed because of vendor lock:
zypper in -f dolphin
Loading repository data...
Reading installed packages...
Forcing installation of 'dolphin-4.11.0-348.3.x86_64' from repository 'KDE-411'.
Resolving package dependencies...
Problem: dolphin-4.11.0-348.3.x86_64 requires kdebase4-libkonq = 4.11.0, but this requirement cannot be provided
uninstallable providers: kdebase4-libkonq-4.11.0-348.3.i586[KDE-411]
kdebase4-libkonq-4.11.0-348.3.x86_64[KDE-411]
Solution 1: Following actions will be done:
install kdebase4-libkonq-4.11.0-348.3.x86_64 (with vendor change)
openSUSE --> obs://build.opensuse.org/KDE
install konqueror-plugins-4.11.0-348.3.x86_64 (with vendor change)
openSUSE --> obs://build.opensuse.org/KDE
install konqueror-4.11.0-348.3.x86_64 (with vendor change)
openSUSE --> obs://build.opensuse.org/KDE
install qt4-qtscript-0.2.0-20.2.x86_64 (with vendor change)
openSUSE --> obs://build.opensuse.org/KDE
install libqt4-qt3support-4.8.5-322.1.x86_64 (with vendor change)
openSUSE --> obs://build.opensuse.org/KDE
install libqt4-sql-4.8.5-322.1.x86_64 (with vendor change)
openSUSE --> obs://build.opensuse.org/KDE
install libqt4-sql-mysql-4.8.5-324.1.x86_64 (with vendor change)
openSUSE --> obs://build.opensuse.org/KDE
install soprano-backend-redland-2.9.3-123.3.x86_64 (with vendor change)
openSUSE --> obs://build.opensuse.org/KDE
install soprano-backend-virtuoso-2.9.3-124.2.x86_64 (with vendor change)
openSUSE --> obs://build.opensuse.org/KDE
Solution 2: do not install dolphin-4.11.0-348.3.x86_64
Solution 3: do not install dolphin-4.11.0-348.3.x86_64
Solution 4: break dolphin-4.11.0-348.3.x86_64 by ignoring some of its dependencies
Choose from above solutions by number or cancel [1/2/3/4/c] (c): c
So for this case when many packages need vendor change the best command is " zypper dup --from $REPOSITORY" (and it is made for such cases). Sure, dup is dangerous. So you will have be careful.
On 2013-08-30 16:36, zerum wrote:
> So for this case when many packages need vendor change the best command
> is " zypper dup --from $REPOSITORY" (and it is made for such cases).
No, “zypper dup” was designed for full distribution upgrade, aimed at
the upgrade of factory from one week to the next. I know, I was there.
After we tested it (in factory), during several cycles, with many
reports, they “released” it.
You can read about it in the factory mail list archive.
The usage you describe came later.
–
Cheers / Saludos,
Carlos E. R.
(from 12.3 x86_64 “Dartmouth” at Telcontar)
update (up) [options] [packagename] ...
Update installed packages with newer versions, where possible.
** This command will not update packages which would require change of package vendor unless the vendor is specified in /etc/zypp/vendors.d**, or which would require manual resolution of problems with dependencies. Such non-installable updates will then be listed in separate section of the summary as “The following package updates will NOT be installed:”.
And that’s it. No matter what priorities you use, zypper up “will not update packages which would require change of package vendor”.
You can make zypper treat different vendors as the same one with a file at /etc/zypp/vendors.d
You can totally disable the vendor check with the option solver.allowVendorChange from /etc/zypp/zypp.conf
“zypper dup” doesn’t do any vendor check, is only “zypper up”
The “don’t change vendor” rule obviously only applies to updates, not to new installs, since new installs don’t have an “vendor of the installed package” to compare to.
If you want to use the packages from the KDE 4.11 repositories, somehow make zypper install them once (use one of the update options that ignore the vendor or manually select the packages). Once you already have the packages from the KDE 4.11 repositories, a normal “zypper up” will continue updating from the KDE 4.11 repositories since that will be the vendor of the installed packages.