nothing provides appdata(vmware-workstation.appdata.xml)

After installing VMware Workstation 11.1 on SLED 12 zypper complains about unmet dependencies:

:~ # zypper ve
Loading repository data...
Reading installed packages...
2 Problems:
Problem: nothing provides appdata(vmware-player.appdata.xml) needed by application:VMware Player-.noarch
Problem: nothing provides appdata(vmware-workstation.appdata.xml) needed by application:VMware Workstation-.noarch

Problem: nothing provides appdata(vmware-player.appdata.xml) needed by application:VMware Player-.noarch
 Solution 1: deinstallation of application:VMware Player-.noarch
 Solution 2: break application:VMware Player-.noarch by ignoring some of its dependencies

Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c] (c): ^C

The files zypper’s complaining nothing provides exist but don’t belong to a package:

# file /usr/share/appdata/vmware-*
/usr/share/appdata/vmware-player.appdata.xml:      XML document text
/usr/share/appdata/vmware-workstation.appdata.xml: XML document text
# rpm -qf /usr/share/appdata/vmware-*
file /usr/share/appdata/vmware-player.appdata.xml is not owned by any package
file /usr/share/appdata/vmware-workstation.appdata.xml is not owned by any package
# 

That they don’t belong to a package isn’t surprising, given that I didn’t install VMware workstation as an rpm, I used the installer VMware provide which is a big binary blob thing you set executable bit on and then run. The VMware Workstation installer doesn’t appear to have installed any rpms:

# rpm -qa | grep -i vmware
xf86-video-vmware-13.0.2-1.12.x86_64
# rpm -qa | grep -i workst
#

What is zypper looking at that tells it VMware Workstation-.noarch and VMware Player-.noarch are installed and that there’s a dependency problem?

Hi
Similar to this; https://bugzilla.mozilla.org/show_bug.cgi?id=1071061

I see the same thing on openSUSE 13.2 with firefox…


Cheers Malcolm °¿° LFCS, SUSE Knowledge Partner (Linux Counter #276890)
SUSE Linux Enterprise Desktop 12 GNOME 3.10.1 Kernel 3.12.39-47-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

[QUOTE=malcolmlewis;27788]Hi
Similar to this; https://bugzilla.mozilla.org/show_bug.cgi?id=1071061

I see the same thing on openSUSE 13.2 with firefox…
[/QUOTE]

Just looked at an openSUSE 13.2 install and I see the issue with Firefox too. But why is that issue there? I’ve acquired the relevant .src.rpm and looked at the spec file, I don’t see any Requires: entries that would make zypper think there’s a requirement for the firefox.appdata.xml file. The firefox-appdata.xml is included in the package. So what’s zypper looking at that makes it think there’s a problem?

In the case of VMware Workstation there’s not even an rpm file, as far as I can tell. How is zypper even aware of VMware Workstation being installed?

[QUOTE=mikewillis;27789]Just looked at an openSUSE 13.2 install and I see the issue with Firefox too. But why is that issue there? I’ve acquired the relevant .src.rpm and looked at the spec file, I don’t see any Requires: entries that would make zypper think there’s a requirement for the firefox.appdata.xml file. The firefox-appdata.xml is included in the package. So what’s zypper looking at that makes it think there’s a problem?

In the case of VMware Workstation there’s not even an rpm file, as far as I can tell. How is zypper even aware of VMware Workstation being installed?[/QUOTE]
Hi
I would guess it’s libsolv and the fact that appdata is present. If you move the vmware files out of the appdata directory and try running zypper ve again, does it disappear?

[QUOTE=malcolmlewis;27791]Hi
I would guess it’s libsolv and the fact that appdata is present. If you move the vmware files out of the appdata directory and try running zypper ve again, does it disappear?[/QUOTE]

Getting rid of the files on it’s own isn’t sufficient, but that plus ‘zypper clean -a’ is.

:/usr/share/appdata # mv vmware-* ~/ 
:/usr/share/appdata # ls vmw*
ls: cannot access vmw*: No such file or directory
:/usr/share/appdata # zypper ve
Loading repository data...
Reading installed packages...
2 Problems:
Problem: nothing provides appdata(vmware-player.appdata.xml) needed by application:VMware Player-.noarch
Problem: nothing provides appdata(vmware-workstation.appdata.xml) needed by application:VMware Workstation-.noarch

Problem: nothing provides appdata(vmware-player.appdata.xml) needed by application:VMware Player-.noarch
 Solution 1: deinstallation of application:VMware Player-.noarch
 Solution 2: break application:VMware Player-.noarch by ignoring some of its dependencies

Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c] (c): ^C
:/usr/share/appdata # zypper clean -a
All repositories have been cleaned up.
:/usr/share/appdata # zypper ve
Retrieving repository 'SLE-12-GA-Desktop-NVIDIA-Driver' metadata .........[done]
Building repository 'SLE-12-GA-Desktop-NVIDIA-Driver' cache ..............[done]
Building repository 'SLE-SDK12-Pool' cache ...............................[done]
Building repository 'SLE-SDK12-Updates' cache ............................[done]
Building repository 'SLE-SDK12-Updates_testing' cache ....................[done]
Building repository 'SLED12-Pool' cache ..................................[done]
Building repository 'SLED12-Updates' cache ...............................[done]
Building repository 'SLED12-Updates_testing' cache .......................[done]
Loading repository data...
Reading installed packages...

Dependencies of all installed packages are satisfied.
:/usr/share/appdata # 

zypper’s complaining about a file existing but not belonging to a package seems unhelpful. The way it reports the problem also seems unhelpful. The wording ‘nothing provides…needed by’ usually indicates that something is missing. But in this case somehow the existence of the thing that is supposed needed is the problem.

Out of curiosity, I put the files back again.

:/usr/share/appdata # cp ~/vmware-* .
:/usr/share/appdata # ls vmwar*
vmware-player.appdata.xml  vmware-workstation.appdata.xml
:/usr/share/appdata # zypper ve
Loading repository data...
Reading installed packages...

Dependencies of all installed packages are satisfied.
:/usr/share/appdata #

So there’s something more than just the files existing that causes the problem. Removing a package with rpm brings the problem back again:

:/usr/share/appdata # rpm -e --nodeps gnome-calculator
:/usr/share/appdata # zypper ve
Loading repository data...
Reading installed packages...
2 Problems:
Problem: nothing provides appdata(vmware-player.appdata.xml) needed by application:VMware Player-.noarch
Problem: nothing provides appdata(vmware-workstation.appdata.xml) needed by application:VMware Workstation-.noarch

Problem: nothing provides appdata(vmware-player.appdata.xml) needed by application:VMware Player-.noarch
 Solution 1: deinstallation of application:VMware Player-.noarch
 Solution 2: break application:VMware Player-.noarch by ignoring some of its dependencies

Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c] (c): ^C

So it seems something happens when a package is added/removed that causes the contents of /usr/share/appdata to be recorded somewhere that zypper looks at, and for some reason zypper objects to the existence of files in /usr/share/appdata that don’t belong to a package.

[QUOTE=mikewillis;27798]
So it seems something happens when a package is added/removed that causes the contents of /usr/share/appdata to be recorded somewhere that zypper looks at, and for some reason zypper objects to the existence of files in /usr/share/appdata that don’t belong to a package.[/QUOTE]

Except on openSUSE 13.2 the file /usr/share/appdata/firefox.appdata.xml belongs to the MozillaFirefox package and the .desktop file is called firefox.desktop so the root of the names match.