update question

I’m trying tumbleweed again and it’s telling me that certain files won’t be upgraded…

linux-j16l:/home/davek # zypper up
Retrieving repository ‘Packman Repository’ metadata …[done]
Building repository ‘Packman Repository’ cache …[done]
Loading repository data…
Reading installed packages…

The following 18 package updates will NOT be installed:
k3b libgstadaptivedemux-1_0-0 libgstbadaudio-1_0-0 libgstbadbase-1_0-0
libgstbadvideo-1_0-0 libgstbasecamerabinsrc-1_0-0
libgstcodecparsers-1_0-0 libgstgl-1_0-0 libgstmpegts-1_0-0
libgstphotography-1_0-0 libgsturidownloader-1_0-0 libgstwayland-1_0-0
libmjpegutils-2_0-0 libquicktime0 libsox3 mjpegtools sox
vlc-codec-gstreamer

The following 2 applications are going to be REMOVED:
Desktop “System Tray”

No additional space will be used or freed after the operation.
Nothing to do.
linux-j16l:/home/davek #

why is this?

Why is you use zypper up in TW use zypper dup

Please in the future use CODE tags around copied/pasted computer text in a post. It is the # button in the tool bar of the post editor. When applicable copy/paste complete, that is including the prompt, the command, the output and the next prompt.

One does not use zypper up for Tumblweed. But

zypper dup --no-allow-vendor-change

OK,

What do you use at the terminal instead of zypper? What is zypper dup?

One uses at the terminal:

zypper dup --no-allow-vendor-change

And read

man zypper

I don’t understand but is zypper dup the command for updating in tumbleweed? Is there a cheat sheet for Tumbleweed command line that is different from opensuse.?

I did get updates from the command, zypper dup --no-allow-vendor-change but what does this mean?

OK, but it looks like opensuse and tumbleweed use the same commands since they are basically the same. What is the difference?

sorry for my ignorance but what does “no allow vendor change” mean?

I will try to explain as good as I can, but as Tunmbleweed user, you once made the descission to use TW and not the stable release (like 13.1, 13.2, 42.1, 42.2). So you should in fact know.

During the life time of an openSUSE version there will not (normally) be offered new versions of software that is packaged in the official OSS and non-OSS repos. Security patches and recommended updates are offered in the Update repos (one for OSS, and one for non-OSS). You install them with

zypper patch

.

Other repositories you add (e.g. Packman) offer updates by having newer versions in their repository. You can intall them using

zypper up

Take care, this will also imply zypper patch! Thus when you do zypper up, you will get all patches from the official Update repos and all newer version from other repos.
BUT there is “vendor stickiness”. That means that even if a newer version of a package is available on another repo then the one you installed the package from originally, it will not be installed. This to avoid e.g. that your Packman multimedia (that works) will be overwritten by the OSS packages (that do not work) once you have switched to Packman. Regardless of the version.

As you jave now read in the zypper man page, the dup in zypper dup means “distribution update”. It is designed to update from one version of the distribution to another (e.g. 13.2 > 42.1). It will ignore vendor stickiness (else it would not update to the new version, which is a new vendor in this aspect).

Now Tumbleweed.
New Tumbleweed versions are always new versions of the distribution.
Thus doing zypper up will not install from the new “vendor”.
On the other hand: zypper dup would possible break your multimedia. Thus a new option was implemented the --no-allow-vendor-change, which will just do what you would expect that an update of your TW should do.

Thank you.

On 04/01/2017 08:56 AM, vinoman2 wrote:
>
> I don’t understand but is zypper dup the command for updating in
> tumbleweed? Is there a cheat sheet for Tumbleweed command line that is
> different from opensuse.?
>

Think of openSUSE as the organization, Leap and Tumbleweed is their product.


Ken
linux since 1994
S.u.S.E./openSUSE since 1996

Hello,

I got tired of fixing everything after running ‘zypper dup’ and read man pages to see if there are any options that will help me.

Here is the command I would like to try:

‘zypper dup --from packman --no-recommends --no-allow-arch-change --no-allow-vendor-change’

What I got tired of is:

  • packages from packman repo get downgraded to their versions from opensuse repos
  • removed packages e.g. akonadi, kmail, etc. come back
  • some packages e.g. vlc and codecs get broken
  • baloo file search index gets activated again

Is the command going to help me? I know I can always try it but I really want to hear somebody’s opinion first.

No, see below for the details why.

Here is the command I would like to try:

‘zypper dup --from packman --no-recommends --no-allow-arch-change --no-allow-vendor-change’

This doesn’t make sense because:

  1. it won’t update your system, the “–from packman” tells zypper to only consider packages from packman, not from the standard repos
  2. “–no-allow-vendor-change” is the default on Tumbleweed since some time
  3. “–no-allow-arch-vendor-change” is normally superfluous, as zypper doesn’t do arch changes unless it cannot resolve dependencies otherwise

What I got tired of is:

  • packages from packman repo get downgraded to their versions from opensuse repos

This likely happened because some packages got removed from packman and are available in the standard repos (only) now.
Examples include libmad, lame, mpg123 (basically all the mp3 stuff) and k3b.

  • removed packages e.g. akonadi, kmail, etc. come back

Ok, --no-recommends should prevent that (but that’s default now), or uninstall the corresponding patterns.

  • some packages e.g. vlc and codecs get broken

Shouldn’t happen, unless some (ffmpeg/libav*) libs get switched to the crippled openSUSE versions.
But that isn’t done with --no-allow-vendor-change, which is the default.

  • baloo file search index gets activated again

That shouldn’t happen either.
Updates don’t change the settings anyway.

Unless you “deactivated” indexing by uninstalling baloo. In that case it will of course be activated again if baloo gets reinstalled.
–no-recommends should prevent that, but I’d just recommend to disable baloo in the settings instead.

In short, nowadays, “zypper dup --no-recommends” should do what you want.
Or disable installing recommended packages in /etc/zypp/zypp.conf (solver.onlyRequires = true) and just run “zypper dup”.

Thank you very much for your detailed answer.

I also have some packages I compiled myself from sources e.g. latest ffmpeg.
Do I need to add --no-downgrades (or something like that) or you think zypper isn’t going to touch that?

openSUSE tries hard to improve on their documentation: https://en.opensuse.org/Portal:Tumbleweed

From there:

Once you are running Tumbleweed to get updates every time a new snapshot has been released enter the following command as root (ideally inside a screen session):

zypper dup --no-allow-vendor-change

For getting notified in the background I turned off display of Software Updates in the system tray and changed settings:

erlangen:~ # grep -v '#'  /etc/sysconfig/packagekit-background
ENABLED="yes"
CHECK_ONLY="yes"
MAILTO="karl"
SYSTEM_NAME=""
SLEEP_MAX="3600"
erlangen:~ # 

I am running the command through clicking on an icon on the desktop:

karl@erlangen:~> cat Desktop/Zypper.desktop 
[Desktop Entry]
Categories=Settings;System;X-SuSE-Core-System;X-SuSE-ControlCenter-System;X-GNOME-SystemSettings;
Comment[de_DE]=Manage system-wide settings
Comment=Manage system-wide settings
Encoding=UTF-8
Exec=sudo /usr/bin/zypper dup
GenericName[de_DE]=Administrator Settings
GenericName=Administrator Settings
Icon=system-software-update
MimeType=
Name=Zypper dup
Path=
StartupNotify=true
Terminal=true
TerminalOptions=\s--noclose
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=
karl@erlangen:~> 

Using sudo warrants verbose logging in the journal.

Depends.

You mean you built rpm packages and installed them?
Then zypper will touch them, although --no-allow-vendor-change should help here too.
Though it might be “safer” to build them on OBS and add your project as repo, I’m not sure what exactly will happen with locally built rpms (though I think they shouldn’t get replaced either).

If you just compile sources, they are not tracked by package management anyway.
(though if you install them to the standard locations, overwriting files from installed packages, your files will get overwritten by updates again of course)

Btw, a self-compiled ffmpeg might just cause the problems with broken vlc(-codecs) you mentioned.
Why exactly are you doing that?

I use ffmpeg quite often and submit bug reports sometimes. The developers won’t even look at the bug report unless the latest version from Git was used. Keeping the most recent version allows me submit bugs right away without doing much extra work (recompiling the package and reproducing the bug)

Ok, but that doesn’t answer how you build/install it.
And knowing that is necessary to answer your question… :wink:

Anyway, this has nothing to do with your original question (mainly) about packages being switched to the standard repos, as packman does provide ffmpeg too.

Btw, I want to correct myself, a mistake slipped into my answer:

[FONT=Tahoma]- removed packages e.g. akonadi, kmail, etc. come back

[/FONT]
Ok, --no-recommends should prevent that (but that’s default now), or uninstall the corresponding patterns.

–no-recommends is not on by default (as the rest of the reply should have made clear though I hope).

I removed the same error in another place (too much copy/paste…) before clicking the send button, but missed it here.