Commit Graph

421 Commits

Author SHA1 Message Date
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
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
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
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
d9c7e4eef8 Parallelize llvm-compile-lto-elf 2022-04-23 00:17:32 +00:00
Tom Stellard
0e07c90567 Add -fno-openmp-implicit-rpath when building with clang
This prevents clang from adding RUNPATH for libomp.so to binaries built
with -fopenmp.

https://fedoraproject.org/wiki/Changes/Broken_RPATH_will_fail_rpmbuild
2022-04-19 16:30:13 +00:00
Nick Clifton
0478199b74 Add support for comparing gcc-built and annobin-built plugins. 2022-04-13 11:20:04 +01:00
Timm Bäder
ccc728db6d Add %__brp_remove_la_files to __os_install_post 2022-02-21 09:19:27 +01:00
Florian Weimer
00cb14aeb4 ppc64le: Switch baseline to POWER9 on ELN (ELN issue 78) 2022-02-10 16:35:07 +01:00
Florian Weimer
04be20e64b s390x: Switch baseline to z14 on ELN (ELN issue 79) 2022-02-10 12:08:15 +01:00
Robert-André Mauchin
31ad743a45 Add package note generation to check preamble Fix: rhbz#2043977
Packages which do not have %%build section but do also
compile and link test programs in %%check would fail because
no package note would have been generated.
2022-01-23 11:11:02 +01:00
Zbigniew Jędrzejewski-Szmek
3a30baf034 Bump version and add changelog
With some packages using rpmautospec, it is just so easy to forget…
2022-01-21 18:21:04 +01:00
Zbigniew Jędrzejewski-Szmek
30e7d26cb4 Do ELF package notes also on ELN
I assume that this is the right conditional, and RHEL has a different
version of this package.

For https://bugzilla.redhat.com/show_bug.cgi?id=2043166.
2022-01-20 22:04:59 +01:00
Miro Hrončok
a87ba4ab1c Fix %set_build_flags when %_generate_package_note_file is not defined 2022-01-20 19:24:09 +01:00
Miro Hrončok
357f950c28 Remove package ELF note from the extension LDFLAGS
Related: https://bugzilla.redhat.com/2043092
2022-01-20 19:18:33 +01:00
Zbigniew Jędrzejewski-Szmek
57edf0cad7 Inject linker script to generate package notes
https://fedoraproject.org/wiki/Changes/Package_information_on_ELF_objects
Macros are used only if defined. Definitions are provided in the
package-notes-srpm-macros, which is now Required (on Fedora).
2022-01-17 09:20:00 +01:00
Tom Stellard
9183c1c8d4 Call %set_build_flags before %build, %check, and %install stages
https://fedoraproject.org/wiki/Changes/SetBuildFlagsBuildCheck
2022-01-14 20:57:22 +00:00
Tom Stellard
95f28bd10b Add -Wl,--build-id=sha1 to the default LDFLAGS
This is already the default for ld.bfd, so this is effectively a no-op
for most packages.  However, lld defaults different build-id algorithm
that the RPM build process does not support, so it needs this flag.

This flag can be overriden by setting the %_build_id_flags macro,
which packages could do if they wanted to use a more secure build-id
algorithm.
2021-12-15 01:24:25 +00:00
Miro Hrončok
faf5c36887 brp-mangle-shebangs: also mangle shebangs of JavaScript executables
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1998924

Unfortunately, the MIME type of JavaScript executables is not text/... but
application/javascript. See RFC 4329.

After considering various approaches to fix this problem, including:

 1) limiting the number of characters `file` reads
 2) using `eu-elfclassify` instead of `file`

This seems like the most sensible approach to fix this one particular problem.
If more instances are found problematic in the future, we'll keep adding the
MIME types.

See the linked bugzilla, the eu-elfclassify pull request [1],
and the devel mailing list thread [2] for details about this problem and
the considered solutions.

[1]: https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/145
[2]: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/K3QCBUXYR6ZA34I777X6F2RYJKKECJLM/
2021-12-08 15:19:35 +00:00
Michal Domonkos
0003cc2879 Drop kmod.attr
Also move this file to kernel-srpm-macros.  Note that we need to require
a new kernel-srpm-macros release now, since that's where kmod.attr is
going to end up.
2021-11-18 20:04:18 +01:00
Michal Domonkos
f2493e3700 Drop kernel-rpm-macros subpackage (new home: kernel-srpm-macros)
This has been done in CentOS Stream already:
https://gitlab.com/redhat/centos-stream/rpms/redhat-rpm-config/-/merge_requests/3
2021-11-18 19:57:55 +01:00
Miro Hrončok
2f1ae3aa01 Revert "Add llvm-lto-elf-check script" to avoid a dependency on Python
This reverts commit ac2ca1dbba.
2021-11-16 22:28:14 +01:00
Michal Domonkos
cf47bde9b6 Drop {fpc,gnat,nim}-srpm-macros deps on RHEL
We did this in RHEL-8 [1] so let's not re-introduce the packages in RHEL-9.

Previously, we did that by keeping a downstream-only patch - let's just
have a conditional here, to make the maintenance simpler.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1588575
2021-11-09 15:27:54 -06:00
David Benoit
ac2ca1dbba
Add llvm-lto-elf-check script
The brp-llvm-compile-lto-elf script uses PCRE in grep to match
for the -flto flag in bitcode object dumps, using negative
lookahead to exclude the case where -fno-lto is specified after.
When lines in the bitcode dump exceed the length that PCRE can
match against, grep will error out causing brp-llvm-compile-lto-elf
to fail.

This script implements an equivalent regex match in python to avoid
the limit in PCRE grep.

Resolves: rhbz#2017193
2021-11-08 11:52:34 -05:00
Jason Tibbitts
804722591a Release and changelog. 2021-11-01 16:49:51 -05:00
Jason Tibbitts
4a171cb3bf Release and changelog entry 2021-10-19 20:11:39 -05:00
Tom Stellard
17a3cd024b Drop annobin-plugin-clang dependency
The annobin clang plugin is not actually used anywhere, so we don't
need to have a dependency on it.

This was also creating a circular dependency that was blocking the
latest clang update.
2021-09-21 18:23:33 +00:00
Florian Weimer
2dd8d4cbdf ELN: Enable -march=x86-64-v2 for Clang as well 2021-08-30 14:45:07 +02:00
Tom Stellard
3ec329b234 Add build_ prefix to cc, cxx, and cpp macros
RPM requires macros to be at least 3 characters, so we need to
rename the cc macro anyway and using the build_ prefix is consistent
with other macros like build_cflags.
2021-08-17 21:15:06 +00:00
Tom Stellard
73aefaaac7 Add cc, cxx, and cpp macros
These macros are being added as part of this Fedora change:
https://fedoraproject.org/wiki/Changes/CompilerPolicy
2021-08-16 16:41:58 +00:00