sozi-projects/Sozi

Fix libuuid dependency problem for openSUSE Tumbleweed RPM

Opened this issue · 2 comments

The installation documentation instructs openSUSE Tumbleweed users to install the official Sozi RPM but to ignore messages about the missing libuuid dependency. It would be better if the RPM didn't have this dependency problem to begin with.

Presumably your .spec file has a line such as

Requires: libuuid

This works on Fedora, but the corresponding package on openSUSE is actually called libuuid1, so it should be as follows:

Requires: libuuid1

You could maintain two separate .spec files, one for Fedora and one for openSUSE. Or you could use a build service such as the openSUSE Build Service (OBS), which can automatically build RPMs for different systems from the same .spec file. In that case you'd just need to wrap the Requires: line above with some tests to check whether a Fedora or openSUSE RPM is being built:

%if 0%{?suse_version} > 1500
Requires: libuuid1
%else
Requires: libuuid
%endif

Incidentally, using OBS will also fix the problem about the missing package signature.

Thanks for the suggestion.

I wish I could apply your solution but I am not the author of the .spec file.
Sozi uses electron-builder to create packages, and I think that electron-builder uses FPM for the RPM target.
I don't know how these tools build the list of dependencies.

This seems to be the same issue as that reported at electron-userland/electron-builder#502 and back-linked from issues on many other projects that use electron-builder. Although the issue is closed, it doesn't seem to be resolved.