Recovery and prevention of Repetitive Strain Injury program

Edit Package workrave
http://www.workrave.org

Workrave is a program that assists in the recovery and prevention of Repetitive Strain Injury (RSI). The program frequently alerts you to take micro-pauses, rest breaks and restricts you to your daily limit.

Refresh
Refresh
Source Files (show merged sources derived from linked package)
Filename Size Changed
v1_10_53.tar.gz 0010557058 10.1 MB
workrave-rpmlintrc 0000000058 58 Bytes
workrave.changes 0000018679 18.2 KB
workrave.spec 0000003984 3.89 KB
Comments 10

Timo Jyrinki's avatar

(I can delete this comment later once it's obsolete, but...)

It's still not working, as I guess it might be expecting "typelib-1_0-Workrave-2_0", not the current "typelib-2_0-Workrave-1_0". At least on my current TW it's all about the first type:

typelib-1_0-Gio-2_0-2.82.5-1.1.x86_64 typelib-1_0-GLib-2_0-2.82.5-1.1.x86_64 ...etc.


timo@duuni:/etc/zypp/repos.d> LANG=C zyp info typelib-2_0-Workrave-1_0 Loading repository data... Reading installed packages...

Information for package typelib-2_0-Workrave-1_0:

Repository : X11 Utilities (openSUSE_Tumbleweed) Name : typelib-2_0-Workrave-1_0 Version : 1.10.53-44.2 Arch : x86_64 Vendor : obs://build.opensuse.org/X11 Installed Size : 3.4 KiB Installed : Yes Status : up-to-date Source package : workrave-1.10.53-44.2.src Upstream URL : http://www.workrave.org Summary : Introspection bindings for Workrave Description : This package contains typelib files needed for developing plugins for Workrave.

timo@duuni:/etc/zypp/repos.d> LANG=C zyp in --allow-downgrade --allow-vendor-change --oldpackage workrave-1.10.53-44.2.x86_64 Loading repository data... Reading installed packages... Resolving package dependencies...

Problem: 1: nothing provides 'typelib(Workrave) = 2.0' needed by the to be installed workrave-1.10.53-44.2.x86_64 Solution 1: do not install workrave-1.10.53-44.2.x86_64 Solution 2: break workrave-1.10.53-44.2.x86_64 by ignoring some of its dependencies


Sebastian Wagner's avatar

I just switched the numbers in the spec file


Timo Jyrinki's avatar

I believe it's not the name only, it still complains like the following:

LANG=C sudo rpm -Uhv typelib-1_0-Workrave-2_0-1.10.53-lp156.46.1.x86_64.rpm workrave-1.10.53-lp156.46.1.x86_64.rpm warning: typelib-1_0-Workrave-2_0-1.10.53-lp156.46.1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 780504e9: NOKEY error: Failed dependencies: typelib(Workrave) = 2.0 is needed by workrave-1.10.53-lp156.46.1.x86_64

So probably somewhere it needs to be defined that the Workrave's typelib version is 2.0, not just in the name. We'll probably need to dig up some example from another package's spec file.


Timo Jyrinki's avatar

This can be compared with: https://build.opensuse.org/projects/openSUSE:Factory/packages/fwupd/files/fwupd.spec?expand=1

I don't really see anything typelib specific, although the devel package has a specific requirement added, of Requires: typelib-1_0-Fwupd-2_0 = %{version}


usessuse's avatar

One interesting thing I've noticed with 'rpm -qpR' is that openSUSE:Factory's workrave-1.10.50-3.6.x86_64.rpm has a dependency on 'typelib(Workrave)'.

workrave-1.10.53-46.8.x86_64.rpm (as built above) has a dependency on 'typelib(Workrave) = 1.0' and 'typelib(Workrave) = 2.0'. I've diffed the RPM specs and I can't tell where this dependency is defined, nor why two different versions are now specified.


usessuse's avatar

I think I figured it out: https://build.opensuse.org/projects/home:usessuse:branches:openSUSE/packages/workrave/files/workrave.spec?expand=1

There's a way to exclude erroneously autodetected dependencies from being added as a 'Requires', so I did that. I also got rid of the separate typelib package and merged the contents into the main package, since it served no purpose outside of Workrave. As a nice bonus, Workrave is now capable of playing audio notifications because I added 'gstreamer-devel' as a development dependency.


Sebastian Wagner's avatar

Nice work, thanks! Could you create a submit request?


usessuse's avatar

Is https://build.opensuse.org/request/show/1267269 what you need? I'm still familiarizing myself with the Build Service and its workflows.

(edit: need to make a few more changes to fix GNOME 45+ support)


usessuse's avatar

I had to close the previous request because of some new information that emerged and replaced it with https://build.opensuse.org/request/show/1267272. Is that what you need?


Timo Jyrinki's avatar

A big thank you from my side as well! It's merged now.

openSUSE Build Service is sponsored by