Hi there !
I am confused about the behaviour of “–allow-vendor-change”.
I thought it is used to resolve conflicts during update between packages from official repo and from packman, when the same package is available on both.
But it affect the overall behaviour on dist-upgrade, what was unexpected and I appreciate some clarification on this.
Follow me, please…
I was in 20210114 release and today morning I decided to move to 20210121 release using tumbleweed cli, followed by a dist-upgrade with --allow-vendor-change flag
kimera:~ # tumbleweed switch 20210121
switching from 20210114 to 20210121? [y/n] (y): y
kimera:~ # zypper dist-upgrade --from packman --allow-vendor-change
...
21 packages to upgrade.
Overall download size: 7.1 MiB. Already cached: 0 B. After the operation, additional 6.8 KiB will be used.
Continue? [y/n/v/...? shows all options] (y): y
For my surprise was there is only 21 packages to upgrade since 20210114. This can’t be right…
I repeat “zypper dist-upgrade --from packman --allow-vendor-change” and the message was “Nothing to do.”
Then, I decided to run dist-upgrade without the “–allow-vendor-change” flag and this time I got the expected number of packages to be update.
kimera:~ # zypper dist-upgrade
Loading repository data...
Reading installed packages...
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Computing distribution upgrade...
...
The following product is going to be upgraded:
openSUSE Tumbleweed 20210114-0 -> 20210121-0
371 packages to upgrade, 155 new, 122 to remove.
Overall download size: 874.6 MiB. Already cached: 0 B. After the operation, additional 80.2 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): y
Then, this time, I notice that I got the message about the opensuse version change that I didn’t get before: “openSUSE Tumbleweed 20210114-0 -> 20210121-0”
Why there was so few packages to be updated when using “–allow-vendor-change” ?
Why opensuse was not update from “20210114-0” to “20210121-0” when using “–allow-vendor-change” ?
I guess the last question explain the first. With “–allow-vendor-change” opensuse was not updated to a new release (20210121) and staying on “20210114-0” there was just a few packages on that release to be updated anyway.
So, looks like the main question is: Why “zypper dist-upgrade --allow-vendor-change” doesn’t update the system to “20210121-0” ?
This looks a bug for me…anyone ?
you restrict the action to the packages that can be found on the packman repository (assuming that the word “packman” here points to an URL of the (or a mirror of the) Packman repository, you did not show your list of repos).
And I can imgine that 21 packages to update from the Packman repository is quite normal.
And of course, doing that a second time will result in “nothing to do” because you just did it.
The standard way of updating your Tumbleweed installation (probably triggered by the fact that here on the forums in the New and Announcements sub-section a new snapshot is announced) is
zypper dup
Adding --allow-vendor-change is not needed anymore since a long time, because that is the default on Tumbleweed installations (though NOT on LEAP). But it does not hurt either.
Edit: read the below posts for better information.
Sorry, I think I am very confused with the OP’s description. He seems to find things strange that IMHO are quite normal
To go to a new Tumbleweed snapshot one needs:
zypper dup --no-allow-vendor-change
But since already some time --no-allow-vendor-change is the default in Tumbleweed installation, it can be left out.
Another subject.
To switch packages you may have from the standard OSS/non-OSS repos to the packages with the same name (and improved functionality) that reside on the Packman repo:
zyper dup --from <packman>
(where <packman> is to be replaced by the #, alias or name of the Packman repo)
No --allow-vendor-change needed, because that is implicit when you use the --from (else it would be useless).
At this point, you should provide your list of repos.
zypper lr -d
There is probably something that is inhibiting update.
For example, if you still have the install DVD enabled as a repo, that can inhibit updating of packages from the version that is in the DVD repo.
Just as a note: I normally use --allow-vendor-change (with a line in “/etc/zypp/zypp.conf”), but I am not seeing what you see.
I’ll add that I do not recommend others allow vendor change. It works for me, because I have carefully set the priorities of the repos to what I need, and I am very careful about which repos I enable.
That us not true, You will do it from all enabled repos (in the normal case that includes e.g. Packman and that is what you want: OSS, non-OSS and Packman and maybe others). “Standard repos” is an expression for human consumption, zypper does understand any difference between “standard” and “non-standard” repos.
That explains also why a
zypper dup
is enough. It will update from all repos without switching vendors. Thus packages you have from Packman will again be from Packman. No need to do a new switch to Packman afterwards.
Oh…This is new for me, I mean “To go to a new Tumbleweed snapshot one needs zypper dup --no-allow-vendor-change”.
So, this explain why I didn’t get a new snapshot. I was using “–allow-vendor-change” and, according to you, I need to use “–no-allow-vendor-change” or don’t use it at all, as I did later !
Ok, good to know. Explained. Thanks !
It mostly looks okay, so I’m not sure why you are seeing this difference.
When it next happens, do:
zypper dup --allow-vendor-change -D
zypper dup -D
and compare the changes between the two. Then check which repos those packages come from. If the packages that show differently are from “packman” then it probably means that there is a change in the main repo but the packman version has not yet been updated. Or maybe it is a package in that Education repo.
If I were checking, I would probably use Yast and the “Versions” tab to see what version comes from which repo.
You did --allow-vendor-change COMBINED with --from packman.
That is for doing the Vendor Switch. Basically only needed once when you want to use the packages from Packman to get your multi-media going.
@hcvv, you are right but only 75%.
If you have packman repo enabled you need to switch vendor to packman to update from it.
So, with OSS, no OSS and packman repo enabled, with
zypper dup
you will update from OSS and no OSS. Not from packman.
You need to switch vendor with
zypper dup --from packman
to update from packman repo.
By default zypper will update only from openSUSE repo. For zypper, repos like packman and obs are from different vendor. After you change vendor to packman you will be able to upgrade from it.
From a new install:
**zypper lr -d**
# | Alias | Name | Enabled | GPG Check | Refresh | Priority | Type | URI | Service
--+--------------------------------------+----------------------------+---------+-----------+---------+----------+--------+----------------------------------------------------------+--------
1 | download.opensuse.org-non-oss | Main Repository (NON-OSS) | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/tumbleweed/repo/non-oss/ |
2 | download.opensuse.org-oss | Main Repository (OSS) | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/tumbleweed/repo/oss/ |
3 | download.opensuse.org-tumbleweed | Main Update Repository | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/update/tumbleweed/ |
4 | openSUSE-20210128-0 | openSUSE-20210128-0 | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/tumbleweed/repo/oss/ |
5 | packman.inode.at-openSUSE_Tumbleweed | Packman Repository | **Yes** | (r ) Yes | Yes | 99 | rpm-md | http://packman.inode.at/suse/openSUSE_Tumbleweed/ |
6 | repo-debug | openSUSE-Tumbleweed-Debug | No | ---- | ---- | 99 | NONE | http://download.opensuse.org/debug/tumbleweed/repo/oss/ |
7 | repo-source | openSUSE-Tumbleweed-Source | No | ---- | ---- | 99 | NONE | http://download.opensuse.org/source/tumbleweed/repo/oss/ |
**zypper -vvv dup**
Verbosity: 3
Initializing Target
Checking whether to refresh metadata for Main Repository (NON-OSS)
Checking whether to refresh metadata for Main Repository (OSS)
Checking whether to refresh metadata for Main Update Repository
Checking whether to refresh metadata for openSUSE-20210128-0
Checking whether to refresh metadata for Packman Repository
Loading repository data...
Reading installed packages...
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Computing distribution upgrade...
Force resolution: No
Computing upgrade...
The following item is locked and will not be changed by any action:
Available:
pattern:games
The following 26 package updates will NOT be installed:
gstreamer-plugins-bad 1.18.3-4.1 x86_64 Packman Repository http://packman.links2linux.de
gstreamer-plugins-libav 1.18.3-58.1 x86_64 Packman Repository http://packman.links2linux.de
..............................................................................................................................................
libswscale5_7 4.3.1-9.7 x86_64 Packman Repository http://packman.links2linux.de
Nothing to do.
**zypper -vvv dup --from 5 **
Verbosity: 3
Initializing Target
Checking whether to refresh metadata for Main Repository (NON-OSS)
Checking whether to refresh metadata for Main Repository (OSS)
Checking whether to refresh metadata for Main Update Repository
Checking whether to refresh metadata for openSUSE-20210128-0
Checking whether to refresh metadata for Packman Repository
Loading repository data...
Reading installed packages...
Computing distribution upgrade...
Force resolution: No
26 Problems:
Problem: problem with installed package gstreamer-plugins-bad-1.18.3-1.1.x86_64
Problem: problem with installed package gstreamer-plugins-libav-1.18.3-1.1.x86_64
Problem: problem with installed package gstreamer-plugins-ugly-1.18.3-1.1.x86_64
.................................................................................................................................
Problem: problem with installed package libquicktime0-1.2.4+git20180804.fff99cd-2.4.x86_64
Problem: problem with installed package libswresample3_7-4.3.1-6.2.x86_64
Problem: problem with installed package libswscale5_7-4.3.1-6.2.x86_64
Problem: problem with installed package gstreamer-plugins-bad-1.18.3-1.1.x86_64
Solution 1: install gstreamer-plugins-bad-1.18.3-4.1.x86_64 (with vendor change)
openSUSE --> http://packman.links2linux.de
Solution 2: keep obsolete gstreamer-plugins-bad-1.18.3-1.1.x86_64
............................................................................................................
Applying solution 1
Resolving dependencies...
Computing distribution upgrade...
Force resolution: No
The following item is locked and will not be changed by any action:
Available:
pattern:games
The following 6 NEW packages are going to be installed:
libde265-0 1.0.8-1.2 x86_64 Packman Repository http://packman.links2linux.de
librtmp1 2.4.20151223.fa8646d-1.55 x86_64 Packman Repository http://packman.links2linux.de
libvo-amrwbenc0 0.1.3-1.40 x86_64 Packman Repository http://packman.links2linux.de
libx264-161 0.161+git20200912.d198931a-2.2 x86_64 Packman Repository http://packman.links2linux.de
libx265-192 3.4-1.12 x86_64 Packman Repository http://packman.links2linux.de
libxvidcore4 1.3.7-1.12 x86_64 Packman Repository http://packman.links2linux.de
The following 26 packages are going to be upgraded:
gstreamer-plugins-bad 1.18.3-1.1 -> 1.18.3-4.1 x86_64 Packman Repository openSUSE -> http://packman.links2linux.de
gstreamer-plugins-libav 1.18.3-1.1 -> 1.18.3-58.1 x86_64 Packman Repository openSUSE -> http://packman.links2linux.de
gstreamer-plugins-ugly 1.18.3-1.1 -> 1.18.3-4.1 x86_64 Packman Repository openSUSE -> http://packman.links2linux.de
libavcodec58_91 4.3.1-6.2 -> 4.3.1-9.7 x86_64 Packman Repository openSUSE -> http://packman.links2linux.de
libavfilter7_85 4.3.1-6.2 -> 4.3.1-9.7 x86_64 Packman Repository openSUSE -> http://packman.links2linux.de
...........................................................................................................................................................................................................................................
libpostproc55_7 4.3.1-6.2 -> 4.3.1-9.7 x86_64 Packman Repository openSUSE -> http://packman.links2linux.de
libquicktime0 1.2.4+git20180804.fff99cd-2.4 -> 1.2.4+git20180804.fff99cd-4.23 x86_64 Packman Repository openSUSE -> http://packman.links2linux.de
libswresample3_7 4.3.1-6.2 -> 4.3.1-9.7 x86_64 Packman Repository openSUSE -> http://packman.links2linux.de
libswscale5_7 4.3.1-6.2 -> 4.3.1-9.7 x86_64 Packman Repository openSUSE -> http://packman.links2linux.de
The following 26 packages are going to change vendor:
gstreamer-plugins-bad 1.18.3-1.1 -> 1.18.3-4.1 x86_64 Packman Repository openSUSE -> http://packman.links2linux.de
gstreamer-plugins-libav 1.18.3-1.1 -> 1.18.3-58.1 x86_64 Packman Repository openSUSE -> http://packman.links2linux.de
gstreamer-plugins-ugly 1.18.3-1.1 -> 1.18.3-4.1 x86_64 Packman Repository openSUSE -> http://packman.links2linux.de
libavcodec58_91 4.3.1-6.2 -> 4.3.1-9.7 x86_64 Packman Repository openSUSE -> http://packman.links2linux.de
libavfilter7_85 4.3.1-6.2 -> 4.3.1-9.7 x86_64 Packman Repository openSUSE -> http://packman.links2linux.de
.........................................................................................................................................................................................................................................
libquicktime0 1.2.4+git20180804.fff99cd-2.4 -> 1.2.4+git20180804.fff99cd-4.23 x86_64 Packman Repository openSUSE -> http://packman.links2linux.de
libswresample3_7 4.3.1-6.2 -> 4.3.1-9.7 x86_64 Packman Repository openSUSE -> http://packman.links2linux.de
libswscale5_7 4.3.1-6.2 -> 4.3.1-9.7 x86_64 Packman Repository openSUSE -> http://packman.links2linux.de
26 packages to upgrade, 6 new, 26 to change vendor.
Overall download size: 14.8 MiB. Already cached: 0 B. After the operation, additional 25.2 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): y
committing
Retrieving package libgstwayland-1_0-0-1.18.3-4.1.x86_64 (1/32), 121.9 KiB ( 14.2 KiB unpacked)
Retrieving: http://packman.inode.at/suse/openSUSE_Tumbleweed/Essentials/x86_64/libgstwayland-1_0-0-1.18.3-4.1.x86_64.rpm .......................................................................................[done]
Retrieving package libgstmpegts-1_0-0-1.18.3-4.1.x86_64 (2/32), 179.5 KiB (198.5 KiB unpacked)
Retrieving: http://packman.inode.at/suse/openSUSE_Tumbleweed/Essentials/x86_64/libgstmpegts-1_0-0-1.18.3-4.1.x86_64.rpm ........................................................................................[done]
.................................................................................................................................
BTW, after years of use oS, I cannot say that I know about zypper as much as I would like.