Overview
Request 626434 accepted
Updated request (thanks luc14n0 for the hints). It consists of two parts:
- Update to version 5.0.0:
+ Various fixes and improvements.
+ Updated translations.
- Update gramps-no-translations-check.patch.
- Drop webcal.py.diff: merged upstream.
and adding some optional dependencies:
- Add recommended packages for optional Gramps features:
+ ghostscript: used by Graphviz reports
+ python3-Pillow: crop images and image conversion
- Add suggested packages for common third-party addon dependencies:
+ typelib-1_0-GooCanvas-2_0: required by Graph View
+ python3-networkx, python3-pygraphviz: required by Network Chart
+ python3-numpy: used by PedigreeChart
Does it make sense to actually use "Suggests:"? I do not find a way to install them automatically, only query them with "zypper info --suggests gramps".
Thanks for the contribution. We follow some costumes under GNOME project to keep up the quality of the packages. Among them are .changes entries.
+- Added optional Recommends: and Suggests: according to README.md
When we add package to build/run time requirements we usually name the packages being added to better document this kind of change and track any possible future problems.
+- Updated to version 5.0.0.
This entry is standardized to '-Update to version x.y.z:'. And it always have at least one entry. I would summarize it, as the 5.0.0 NEWS entries are too extensive, to:
- Update to version 5.0.0: + Various fixes and improvements. + Updated translations.
And last but not least:
+- Remove obsolete webcal.py.diff.
We usually say something like "Remove(or 'drop') file.patch(or .diff): fixed(or 'merged') upstream." so we know it landed upstream, which is the case here.
Request History
sebschub created request
Updated request (thanks luc14n0 for the hints). It consists of two parts:
- Update to version 5.0.0:
+ Various fixes and improvements.
+ Updated translations.
- Update gramps-no-translations-check.patch.
- Drop webcal.py.diff: merged upstream.
and adding some optional dependencies:
- Add recommended packages for optional Gramps features:
+ ghostscript: used by Graphviz reports
+ python3-Pillow: crop images and image conversion
- Add suggested packages for common third-party addon dependencies:
+ typelib-1_0-GooCanvas-2_0: required by Graph View
+ python3-networkx, python3-pygraphviz: required by Network Chart
+ python3-numpy: used by PedigreeChart
Does it make sense to actually use "Suggests:"? I do not find a way to install them automatically, only query them with "zypper info --suggests gramps".
gnome-review-bot accepted review
Check script succeeded
luc14n0 accepted review
ok
luc14n0 approved review
ok
dimstar accepted request
xin+
You're welcome. If something needs to be installed or the app won't properly function, then you should use Requires tag, which is a hard dependency. You can check RPM's docs here.
Thanks, I got that. I was just wondering about the usefulness of the Suggests. During a tests on a Leap 42.3 machine, I found no messages of zypper concerning the suggested packages at all when installing gramps (maybe I did something wrong here). Now, on my Tumbleweed machine, I get "The following 3 packages are suggested, but will not be installed". This is good but I still don't see a way how to install the suggests automatically. zypper seems to miss a "zypper in --suggests gramps".
Anyway, this is rather off-topic here. Still, I think the requirements in the spec are fine. Recommends packages are used by optional features of gramps, the suggests packages are used by 3rd party add-ons that have to installed manually by the user. Still the add-ons are rather common so that the gramps author name the dependencies in their readme. Installing the suggests would generate a smoother gramps experience for the user.
Something could have changed in zypper meantime. zypper behaves like this, regarding weak dependencies:
*Recommended packages will be installed unless
--no-recommends
is passed to zypper or the user turns this behavior off passingsolver.onlyRequires = true
to /etc/zypp/zypp.conf.*Suggested packages will be hinted through a message. It'll only be installed
--suggests
is passed to zypper.Now it seems you could make use of "Supplements". If you have a package FOO and BAR is and add-on, you can make a third package be installed if FOO and BAR are/will be installed. So, if the user have gramps installed and decides to install an add-on, the python package(s) will be installed as a complement. What do you think?
Are you sure that there is a
--suggests
with the install command in zypper? I had an uneducated quick look into the master branch source code and didn't find it either. I might be wrong here.The supplements approach sounds nice. It requires, however, that the add-ons are packaged as an RPM as well, doesn't it? I am not sure that this is worth the effort.
Sorry, my bad. Suggested packages are only hinted and it's up to the user to manually install it or not indeed.
And yes, add-ons would have to be packaged in order to Supplements work.
Ok, so please decide what to do. I see three options:
1) optional Gramps features dependecies -> Recommends, common user installable add-on dependencies -> Suggests (current state of the request). If you decide that this is ok, I would probably ask for a feature request implementing
--suggests
in zypper.2) optional Gramps features dependecies -> Recommends, do not list common user installable add-on dependencies (state of current release RPM).
3) optional Gramps features dependecies -> Recommends, common user installable add-on dependencies -> Recommends. Probably a bad idea but most convenient for the user.
4) Create RPMs for add-ons and handle dependencies properly. I think it is not worth effort and possibly confusing for the user.
If the add-ons were already packaged the use of "Supplements" tag would be great here but since they aren't and we can't suppose the user have them, even though they are common.
Using "Recommends" here we would be virtually forcing every user to get those python modules installed as zypper installs recommended packages by default. Unless we can say for sure the add-ons are really common we should stay with "Suggests".
Since "Suggests" are '''very''' weak dependencies having a
--suggests
in zypper don't make much sense, if you ask me. However the choice is yours, whether to request it or not.This should not be needed to ever be listed, as we inspect code to find such dependencies; if this is not found, we have to check why this would be
It is not in the code of main Gramps but in an add-on so, obviously, it cannot be detected. This is why it's only a "Suggests". Since there are a couple of common add-ons, the gramps authors added the requirements into the main readme. In addition, on the mailing list, these requirements are a topic from time to time. By adding it as a (soft) requirement, I hoped to make it more convenient for the user. However, if you do not like it, I am happy to remove the it again. (The same is true for all "Suggests" in this request.)