import redhat-rpm-config-131-1.el8

This commit is contained in:
CentOS Sources 2023-05-16 06:19:32 +00:00 committed by Stepan Oksanichenko
parent 0b25d52138
commit c35d3d42af
1 changed files with 41 additions and 5 deletions

View File

@ -6,7 +6,7 @@
Summary: Red Hat specific rpm configuration files
Name: redhat-rpm-config
Version: 130
Version: 131
Release: 1%{?dist}
# No version specified.
License: GPL+
@ -176,16 +176,49 @@ install -p -m 755 %{SOURCE21} %{buildroot}%{_rpmconfigdir}/kabi.sh
# This trigger is used to decide which version of the annobin plugin for gcc
# should be used. See comments in the script for full details.
#
# Note: for RHEL the rpm containing the annobin built plugin is called
# "annobin", whereas in Fedora it is called "annobin-plugin-gcc". This is
# for historical reasons and will change with the introduction of RHEL-10.
#
# Note - whilst "gcc-plugin-annobin" requires "gcc" and hence in theory we
# do not need to trigger on "gcc", the redhat-annobin-plugin-select.sh
# script invokes gcc to determine the version of the gcc plugin, and this
# can be significant.
#
# For example, suppose that version N of gcc is installed and that annobin
# version A (built by gcc version N) is also installed. Then a new version
# of gcc is released. If the rpms are updated in this order:
# gcc-plugin-annobin
# gcc
# then when the trigger for gcc-plugin-annobin is run, the script will see
# (the not yet updated) gcc is currently version N, which matches the current
# annobin plugin A, so no changes are necessary. Then gcc is updated and,
# if the trigger below did not include "gcc", the script would not run again
# and so now you would have an out of date version of the annobin plugin.
#
# Alternatively imagine installing gcc and annobin for the first time.
# If the installation order is:
# gcc
# annobin-plugin-gcc
# gcc-plugin-annobin
# then the installation of gcc will not cause the gcc-plugin-annobin to be
# selected, since it does not exist yet. Then annobin-plugin-gcc is installed
# and since it is the only plugin, it will be selected. Then
# gcc-plugin-annobin is installed, and if the trigger below was not set to
# run on gcc-plugin-annobin, it would pass unnoticed.
#
# Hence it is necessary to trigger on both gcc and gcc-plugin-annobin.
%triggerin -- annobin gcc-plugin-annobin
%triggerin -- annobin gcc-plugin-annobin gcc
%{rrcdir}/redhat-annobin-plugin-select.sh
%end
# We also trigger when annobin is uninstalled. This allows us to switch
# over to the gcc generated version of the plugin. It does not matter if
# We also trigger when an annobin plugin is uninstalled. This allows us to switch
# over to the other version of the plugin. It does not matter if
# gcc is uninstalled, since if that happens the plugin cannot be used.
%triggerpostun -- annobin
%triggerpostun -- annobin gcc-plugin-annobin
%{rrcdir}/redhat-annobin-plugin-select.sh
%end
@ -235,6 +268,9 @@ install -p -m 755 %{SOURCE21} %{buildroot}%{_rpmconfigdir}/kabi.sh
%{_rpmconfigdir}/macros.d/macros.kmp
%changelog
* Wed Feb 08 2023 Nick Clifton <nickc@redhat.com> - 131-1
- Fix triggers for the installation and removal of gcc-plugin-annobin. (#2168233)
* Tue Apr 05 2022 Nick Clifton <nickc@redhat.com> = 130-1
- Select between gcc-built and annobin-built versions of the annobin plugin.
(#2067153)