Commit Graph

783 Commits

Author SHA1 Message Date
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
Florian Weimer f857d65cdd Add %_configure_use_runstatedir to disable --runstatedir 2022-12-10 13:39:25 +01:00
Siddhesh Poyarekar ac9b7aed66 Fix last changelog entry 2022-12-08 14:32:46 -05:00
Tom Stellard 4c63cb687e Remove unsupported arches from rpmrc
I would like to try to move the optflags definition into the macro file
to make it cleaner and easier to maintain, so to make that easier, I
wanted to start by removing unsupported arches, so there is less code
to move.
2022-11-10 06:08:08 +00:00
Florian Weimer 937cfbaa8e Update spec file for: Set -g when building Vala applications 2022-11-04 09:56:11 +01:00
Florian Weimer 3e8695eaed Merge #217 `Set -g when building Vala applications` 2022-11-04 08:52:49 +00:00
Timm Bäder 25ea080503 Fix brp-llvm-compile-lto to not rely on a backtracking regex
Instead, grep the llvm-strings output for "-flto" and "-fno-lto" and
recognize the input as LTO input if -flto has a byte index greater than
-fno-lto.
2022-09-23 13:14:00 +02:00
Michael Catanzaro d0970582ad Set -g when building Vala applications
This requires the build system support VALAFLAGS. At least Meson and
Automake do.

Using -g is desired because it allows us to see Vala source files and
line numbers in backtraces when possible, falling back to generated C
code otherwise. Line numbers for generated C are almost always less
useful when debugging crashes.
2022-09-13 12:44:51 -05:00
Jason Tibbitts b2a58c86fb Fix up odd date specification in changelog. 2022-09-08 13:11:57 -05:00
Maxwell G b16517ce77
forge macros: Support Sourcehut. Fixes rhbz#2035935. 2022-09-08 12:39:25 -05:00
Frederic Berat c0d29236fe macros: Add runstatedir option to configure
The %configure macro now uses the runstatedir option if available.
2022-08-30 15:40:38 +02:00
Dan Horák bddb41760d move the baseline arch to z13 for s390x in F-38+
https://fedoraproject.org/wiki/Changes/z13BaselineForIBMZ
2022-08-26 16:07:02 +02:00
Maxwell G 7b8ce09ce7
Actually bump %release 2022-08-22 16:39:32 -05:00
Maxwell G 483a3b89d7
Add macros.shell-completions 2022-08-08 15:04:56 -05:00
Nikita Popov 7bb71e872d brp-llvm-compile-lto-elf: Pass -r to xargs
If there are no .o/.a files to be distributed, this prevents
check_convert_bitcode from being called without a file argument,
in which case the first flag is going to be treated like the file
name, resulting in something like:

    realpath: invalid option -- 'O'
    Try 'realpath --help' for more information.
    Usage: file [-bcCdEhikLlNnprsSvzZ0] [--apple] [--extension] [--mime-encoding]
                [--mime-type] [-e <testname>] [-F <separator>]  [-f <namefile>]
                [-m <magicfiles>] [-P <parameter=value>] [--exclude-quiet]
                <file> ...
           file -C [-m <magicfiles>]
           file [--help]
2022-08-05 12:26:22 +02:00
Timm Bäder 6024b1e611 Move llvm_compile_lto_to_elf before __debug_install_post
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2082081
2022-06-22 12:56:17 +02:00
Nick Clifton e7f471687c Add definition of _find_debuginfo_extra_opts which will move annobin data into a separate debuginfo file. 2022-06-17 11:33:00 +01:00
Tom Stellard f77dcdec18 Fix passing of CFLAGS to brp-llvm-compile-lto-elf
This was accidentally broken by d9c7e4eef8.
2022-06-14 07:21:24 -07:00
Tom Stellard 9a1b602bdb Move -fno-openmp-implicit-rpath option from CFLAGS to LDFLAGS
This option needs to be passed to the linker not the compiler.
2022-05-27 16:09:09 +00:00
Tom Stellard 4f02aa74c5 Add test case for rhbz#2083296 2022-05-27 15:39:20 +00:00
Tom Stellard 1f3e0863cc Convert tests to tmt
Also pull the gcc-fedora-flags test from rpms/gcc and pull the
clang-fedora-flags from rpms/clang.
2022-05-27 15:38:54 +00:00
Florian Weimer b95ec8412d Use %baserelease to store the version number
After this change, rpmdev-bumpspec does the right thing.
2022-05-27 16:49:46 +02:00
Frederic Berat ad341c8d46 gnuconfig: sync with upstream git 2022-05-27 16:39:40 +02:00
Maxwell G 663af770a8
Add `Requires: ansible-srpm-macros` 2022-05-17 18:04:43 -05:00
Miro Hrončok 6cce360fd2 Remove a tab character from the definition of %__global_compiler_flags
From https://bugzilla.redhat.com/2083296:

> The issue is that some packages break up the flags at spaces,
> in order to look for specific flags or to add flags of their own.
>  The z3 package, for example, has some python code that does this:
>
>     def exec_cmd(cmd):
>         if isinstance(cmd, str):
>             cmd = cmd.split(' ')
>         ...
>
> The result is one of the commands in the list consists of a single tab character.
>  When that is passed to the compiler, the compiler does not like it at all.
2022-05-17 10:53:35 +02:00
Mikolaj Izdebski f8b207df3b Add java_arches macro
See https://fedoraproject.org/wiki/Changes/Drop_i686_JDKs
2022-05-10 21:19:46 +02:00
Timm Bäder c5a97aad73 brp-compile-lto-elf: Avoid a tmpdir
The mkdir -p was unused as far as I can see. The tmpdir was unnecessary,
since we can just pass -x to clang.
2022-04-23 00:17:32 +00:00
Timm Bäder d9c7e4eef8 Parallelize llvm-compile-lto-elf 2022-04-23 00:17:32 +00:00