On Sat, Jan 20, 2018 at 7:58 AM, Richard Shaw <hobbes1069(a)gmail.com> wrote:
On Sat, Jan 20, 2018 at 5:27 AM, Igor Gnatenko
<ignatenkobrain(a)fedoraproject.org> wrote:
>
>
> * File-triggers are not supported by el6/el7 RPM, so every package which
> has
> icons should have some number of scriptlets conditionalized by %if
> 0%{?rhel}
> && 0%{?rhel} <= 7.
Could this be easily fixed by adding macros to EL that would only run when
appropriate? Staying with your earlier example:
%post
%{?epel_update_gtk_icon_cache}
One thing I've literally never understood is why we tell people to
copy-paste scriptlet logic instead of wrapping it in a macro for
people to use... This is how it was done in Mandriva and SUSE for
years before they transitioned to triggers for things.
Heck, we actually did it for %systemd_post for the systemd package,
but that was only because we *started* with a macro. (And if I
remember correctly, the systemd macros are derived partly from the
SUSE %service_* macros from an earlier point in time).
>
> * Rich dependencies are not supported by el6/el7 RPM and YUM, so anyone
> who
> wants to use them need to have same conditionals.
This can get messy when there are a lot of them, most in my experience with
at least end user apps, you rarely need them so the occasional:
%if 0%{?fedora}
Recommends: ...
%else
Requires: ...
%endif
does not hurt readability much.
WIth large libraries that are already complicated that's more difficult, but
in that case major updates are discouraged within a release and all but
banned in EL so there's not much need or advantage to keeping the specs in
sync.
I wished weak deps had been backported to EL rpm (at least EL7) so
that we could only need conditionals for rich deps. It's not even that
hard of a backport, and the feature existed in SUSE and
Mageia/Mandriva rpm for years (even going back to rpm 4.4!).
--
真実はいつも一つ!/ Always, there's only one truth!