Commit Graph

810 Commits

Author SHA1 Message Date
Nikita Popov
1c5e204554 Use correct format specifier in brp-llvm-compile-lto-elf
Related: RHEL-11165
2023-10-05 17:51:39 +02:00
Nikita Popov
820c23a121 Also test brp-llvm-compile-lto-elf on object file
This serves the dual purpose on making sure that plain object
files can also be converted to ELF, and that the script handles
more than a single file.
2023-09-29 09:33:12 +02:00
Nikita Popov
88a50692ec Fix brp-llvm-compile-lto-elf parallelism with hardlinks (#2234024)
Deduplicate the files by inode, so each hardlink is only processed
once, thus avoiding race conditions.
2023-09-29 09:27:19 +02:00
Florian Weimer
a2798ac4c1 Switch %build_type_safety_c to 1 (#2142177) 2023-09-26 18:42:49 +02:00
df12b70625
Split out forge macros to forge-srpm-macros package 2023-09-07 16:08:23 +00:00
Florian Weimer
0c097001d1 Add support for x86_64_v2, x86_64_v3, x86_64_v4 (#2233093) 2023-08-29 10:58:30 +02:00
Yaakov Selkowitz
1359905724 Add macros.rpmautospec
While these macros were previously shipped as a subpackage of
python-rpmautospec, they do not depend on the Python module, and the
rest of that package includes dependencies not wanted in RHEL/ELN (such
as koji).
2023-08-22 11:10:34 -04:00
Florian Weimer
80967bfcc6 Add Boehm-GC SPDX identifier for the gpgverify script 2023-08-22 11:44:29 +02:00
Björn Persson
4580afce7c Adjusted the license of gpgverify to match the SPDX "Boehm-GC" wording. 2023-08-22 11:27:55 +02:00
Florian Weimer
d8b10a47f6 Remove outdated spec file comment 2023-08-21 17:58:56 +02:00
Miroslav Suchý
d53174c224 Migrate to SPDX license 2023-08-21 10:47:26 +02:00
Charalampos Stratakis
7331757cf1 Strip all extension builder flags except -fexceptions and -fcf-protection
This preserves binary compatibility with the main interpreters
the extensions are built against while removing Fedora's flags
that are not required to be inherited on user built extensions.

This implements https://fedoraproject.org/wiki/Changes/Python_Extension_Flags_Reduction
2023-08-04 12:58:12 +02:00
Florian Weimer
f447520e2d Fix warnings that appear during the build of the llvm package
The package redefines %optflags on i686 and s390x, so the
%__build_for_lang_* macros are no longer expanded, triggering
a warning from RPM (“%__build_for_lang_any defined but not
used within scope”).  Clang warns about -Wno-complain-wrong-lang
with -Wall, so the warning option is suppressed for
"%toolchain" != "gcc".

Reported-by: Tulio Magno Quites Machado Filho <tuliom@ascii.art.br>
2023-07-07 13:58:33 +02:00
Florian Weimer
d9c3154737 Drop armv7hl from frame pointer tests
Fixes commit 24244c4ac2 ("Remove armv7hl from optflags").
2023-07-05 17:26:54 +02:00
Florian Weimer
246107d5f6 Implement the %build_type_safety_c macro (#2218019)
The default remains at 0 (no change) until the corresponding Fedora
change proposal is accepted:

  <https://fedoraproject.org/wiki/Changes/GNUToolchainF39>
2023-07-05 14:28:21 +02:00
Florian Weimer
7692bbaf45 Filter out C, C++ build flags from Fortran build flags (#2177253)
And pave the way for future front-end-specific compiler flags.
2023-07-05 13:04:12 +02:00
Florian Weimer
24244c4ac2 Remove armv7hl from optflags
Fedora 36 is gone.
2023-07-05 13:03:34 +02:00
Florian Weimer
77c5fc5b62 Fix typo in comment 2023-07-05 13:03:34 +02:00
Florian Weimer
0f50409ae6 Enable PIC mode for assembler files (#2167430) 2023-07-05 13:03:33 +02:00
Frédéric Bérat
c4c1f3b8d4 gnuconfig: sync with upstream git 2023-07-05 10:08:56 +02:00
Tom Stellard
76bd9dd983 Remove -fno-openmp-implicit-rpath from clang ldflags
This option was dropped from upstream.
2023-06-30 23:43:40 +00:00
Tom Stellard
dff3d6a440 Update tests to work with dnf5 2023-06-30 23:06:10 +00:00
Lumir Balhar
2f741f9841 Add qt6-srpm-macros 2023-06-16 13:17:04 +02:00
Florian Weimer
ee3d1273d6 Switch ELN to x86-64-v3
Fixes: https://github.com/fedora-eln/eln/issues/83
Co-Authored-By: Stephen Gallagher <sgallagh@redhat.com>
2023-03-09 14:19:20 +01:00
16122a6127
%set_build_flags: unconditionally set RUSTFLAGS 2023-02-28 18:29:18 -06:00
4d945d4291
Test RUSTFLAGS addition 2023-02-28 18:29:18 -06:00
9fb7ec9c17 Include RUSTFLAGS in %set_build_flags
Resolves: https://bugzilla.redhat.com/2167183
2023-02-28 17:31:25 -06:00
Tom Stellard
e0e0971163 Rename _pkg_extra_* macros to _distro_extra_* macros
The two intended uses cases for the _pkg_extra_* macros were to
make it easier for packagers to add new compile flags for use
with their package and also to make it easier to do distro wide
experiments with new flags.

However, it was pointed out on the mailing list[1] that you
can't satisfy both of these uses cases at the same time with
just one set of macros.  For example, if a packager uses
_pkg_extra_* macros to add flags specific to their own
package, then someone using _pkg_extra_* macros to
apply a new flag distro wide would override the package
specific flag.

I feel like the distro-wide use case is much more important,
so rather than create two sets of new flags, one for each use
case, I think it's best to rename the _pkg_extra_* macros
to _distro_extra_* and document that they are only meant
to be used for adding distro-wide flags and packagers should
not use this macro.

[1] https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/TOG5RHWPS3VYMM52HFGZOUJVRCGZ7VXB/
2023-02-28 15:26:26 +00:00
Miro Hrončok
e64c3b8273 Drop the requirement of orphaned nim-srpm-macros
No Fedora package uses the %nim_arches macro.

This reverts commit ebb7ec32a4.
2023-02-23 01:31:27 +01:00
Frédéric Bérat
99fec12998 gnuconfig: sync with upstream git 2023-02-14 13:23:48 +01:00
Jerry James
d9236d19eb Add macros.gap-srpm with supported GAP arches 2023-02-10 11:47:17 +01:00
Miro Hrončok
c82a365885 Fix a typo in %changelog 2023-02-10 11:45:22 +01:00
Tom Stellard
1988722cbb Add %pkg_extra_* macros
https://fedoraproject.org/wiki/Changes/RPMMacrosForBuildFlags
2023-02-07 14:31:38 +00:00
Nick Clifton
ab1e005d6a Fix triggers for the installation and removal of gcc-plugin-annobin.
Fixes: rhbz#2124562
2023-02-06 12:27:22 +00:00
Miro Hrončok
29a0bd8be0 Add pyproject-srpm-macros to the default buildroot 2023-01-18 14:56:38 +01:00
Davide Cavalca
26c1ceaece Do not include frame pointers on ppc64le for now 2023-01-17 13:40:35 -08:00
Tom Stellard
60ee618083 Make -flto=thin the default lto flag for clang
https://fedoraproject.org/wiki/Changes/LLVM-16
2023-01-17 00:58:07 +00:00
Siddhesh Poyarekar
1b98c06642 Consolidate the _FORTIFY_SOURCE switches
The double undefine was unnecessary and exposed a bug in ccache. Club
the undefine and define into a single -Wp instead, which works for all
redefinitions of _FORTIFY_SOURCE.
2023-01-16 11:04:09 -05:00
Miro Hrončok
6ef1a40e16 Don't use %[ ] expressions with %{undefined rhel}, it breaks macro opt evaluation
Fixes https://bugzilla.redhat.com/2160716
2023-01-13 16:51:21 +01:00
Miro Hrončok
771fcecf48 CI: Don't use % in --define (it might have side effects) 2023-01-13 11:05:31 +01:00
Stephen Gallagher
20858812cc
Update spec for RHEL frame pointer exclusion
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2023-01-12 14:48:03 -05:00
Stephen Gallagher
7f02b5c439
Add tests for difference in RHEL and Fedora frame pointers
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2023-01-12 10:36:48 -05:00
Stephen Gallagher
9e10bb665e
Disable frame pointers on ELN and RHEL
RHEL does not intend to enable frame pointers at this time, and any
change will be done so based on a variety of inputs including the data
from Fedora.  Disable them for ELN to set proper expectations.

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2023-01-12 10:36:47 -05:00
Davide Cavalca
990cc89b1b Do not include frame pointers on i686 and s390x for now 2023-01-10 12:53:06 -08:00
Davide Cavalca
f789437d98 tests: add test harness for %_include_frame_pointers 2023-01-06 10:57:49 -08:00
Davide Cavalca
9ce7719338 Set arch specific flags for frame pointers support 2023-01-05 08:00:20 -08:00
Davide Cavalca
f080fb9562 Enable frame pointers by default 2023-01-05 07:59:43 -08:00
Miro Hrončok
f1687dbc47 Set %source_date_epoch_from_changelog to 1
https://fedoraproject.org/wiki/Changes/ReproducibleBuildsClampMtimes
2023-01-04 12:33:55 +01:00
Siddhesh Poyarekar
4c05f3cfa2 Enable _FORTIFY_SOURCE=3 by default
Make the _FORTIFY_SOURCE flags configurable so that the command line is
not cluttered with _FORTIFY_SOURCE definitions and undefines.  Introduce
a %_fortify_level variable that a package may override by either
undefining or defining to a specific value.

Also bump the default value to 3, to implement the systemwide proposal
for Fedora 38:

https://fedoraproject.org/wiki/Changes/Add_FORTIFY_SOURCE%3D3_to_distribution_build_flags
2023-01-03 10:33:35 -05:00
Davide Cavalca
04a4350d3e Add conditional support for always including frame pointers
If `%_include_frame_pointers` is defined, add `-fno-omit-frame-pointer`
and `-mno-omit-leaf-frame-pointer` to the compiler flags to ensure frame
pointers are always included.

This is in preparation for
https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer
2022-12-28 13:12:39 -08:00