Commit Graph

482 Commits

Author SHA1 Message Date
David Abdurachmanov 6a21e2ac0a
Add riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-05-15 15:34:21 +03:00
Zbigniew Jędrzejewski-Szmek a2f31272a9 Change summary to say that this package is "Red Hat family"
It's confusing to see a package that says that it's for Red Hat installed
in a Fedora installation. For historical reasons, this package is named
"redhat-*", and it'd be complicated to change this [1]. By saying that this
is for the "Red Hat _family_" we also give another broader interpratation
to the package name.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1829430

The hyphenation is hard: "Red Hat" is spelled with a space, but we need
hyphens to connect the modifiers to it.
2024-05-14 04:07:04 +00:00
Zbigniew Jędrzejewski-Szmek 043a40a714 Pull in build-reproducibility-srpm-macros
That package provides the file with the macros and will pull in
add-determinism or add-determinism-nopython as appropriate.

(The name is made kept fairly generic in case we want to add
additional parts to it leter, not just a call to add-determinism.)
2024-05-10 18:19:51 +00:00
Zbigniew Jędrzejewski-Szmek 6522bbd275 Include %__os_install_post_build_reproducibility 2024-05-10 18:19:51 +00:00
Zbigniew Jędrzejewski-Szmek 3a0ac39354 Fix file listings
rpmbuild was complaining about duplicates.
2024-05-09 13:03:24 +02:00
Zbigniew Jędrzejewski-Szmek 6f22ccfb07 Restore version in Obsoletes for rpmautospec-rpm-macros
Omitting the version is against Packaging Guidelines and causes a
noisy warning to be emitted for every build.
2024-05-09 12:56:47 +02:00
Nikita Popov fed29a69be Use Fat LTO with Clang
Currently, when the clang toolchain is used, we use the
brp-llvm-compile-lto-to-elf script to post-process any shipped
object files or static libraries to convert the LLVM bitcode they
contain into ELF object code.

With LLVM 18, Clang has introduced support for fat LTO objects
(https://llvm.org/docs/FatLTO.html), which work essentially the
same way as with GCC: If `-ffat-lto-objects` is passed, then the
objects will contain both the ELF code, as well as the LLVM
bitcode in a special section.

This redhat-rpm-config change enables the use of fat LTO and
drops the brp-llvm-compile-lto-to-elf script. Instead, the
brp-strip-lto script used by GCC also strips the LLVM section
name now.

This is part of https://fedoraproject.org/wiki/Changes/LLVM-18.
2024-04-11 17:31:09 +09:00
Florian Weimer b7d1bfae1f Enable TLS descriptors on x86-64 (GCC only)
Part of: <https://fedoraproject.org/wiki/Changes/GNUToolchainF40>
2024-03-14 11:21:58 +01:00
Omair Majid c758552a10 Define %dotnet_arches with a list of .NET-compatible architectures
Contributes to https://bugzilla.redhat.com/show_bug.cgi?id=2170536
2024-03-12 14:23:45 -04:00
Miro Hrončok 65de6e6beb brp-mangle-shebangs: Strip env flags when mangling shebangs
- For example, mangle "#!/usr/bin/env -S vd" to "#!/usr/bin/vd"
- Fixes: rhbz#2265038
2024-02-20 10:16:44 +01:00
Florian Weimer 3b9bfae367 Correct advise for disabling debuginfo packages (#2264161) 2024-02-14 14:09:55 +01:00
Frédéric Bérat 7e8252c3e9 gnuconfig: sync with upstream git 2024-02-14 10:45:25 +01:00
Yaakov Selkowitz b7cdf93185 Loosen rust-srpm-macros requirement
https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/277
reverted the requirement for rust-srpm-macros to define %build_rustflags.
Since RHEL's rust package will provide that as a subpackage with its
own versioning scheme rather than rust-packaging's, the version constraint
needs to be dropped.
2024-02-06 11:56:45 -05:00
Jonathan Wright c94d80a6dd simplify microarch macros for x86_64 2024-02-05 10:38:06 -06:00
Florian Weimer 13bd1aaf1a Drop -fcf-protection for i686 because there won't be kernel support 2024-01-16 11:35:28 +01:00
Nils Philippsen c0295c50b3 Obsolete rpmautospec-rpm-macros without version
This is so redhat-rpm-config will obsolete any version of
rpmautospec-rpm-macros in Fedora <= 39.

Signed-off-by: Nils Philippsen <nils@redhat.com>
2024-01-16 10:40:26 +01:00
Nick Clifton f3416f1436 Add hardening feature to convert linker warning messages into errors.
https://fedoraproject.org/wiki/Changes/Linker_Error_On_Security_Issues
2024-01-15 12:35:44 +00:00
Florian Weimer b13edec098 Switch C type safety level to 3 (GCC 14 default), and adjust for GCC 14
No conflict because except for %global build_type_safety 0,
the package is still compatibility with GCC 13 (but does not
enforce the type safety levels anymore).
2024-01-15 12:26:03 +01:00
Jan Grulich a15ac4695e Don't pull in qt5-srpm-macros on RHEL 10 2024-01-11 08:04:50 +01:00
Yaakov Selkowitz 19a840bac0 Define RUSTFLAGS only when rust macros are installed
Now that rust-packaging absorbed rust-srpm-macros in Fedora, RHEL rust
will need to provide an srpm-macros subpackage so that no part of
rust-packaging will be pulled into RHEL 10.  This will then allow
rust-packaging (minus macros.rust-srpm) to exist in EPEL.
2024-01-04 21:31:25 -05:00
Florian Weimer 4daef93aa9 Missing packed relative relocation support on aarch64, s390x (#2256645) 2024-01-03 19:20:52 +01:00
Florian Weimer 5fca01af52 Pack relative ELF relocations by default
Leftover from the Fedora 39 toolchain changes.
2024-01-02 17:13:11 +01:00
Jan200101 363ddf0a1c
Add zig-srpm-macros 2023-12-26 21:53:47 +01:00
Neal Gompa 9446afdb0a Bump release and add changelog entry 2023-11-03 17:44:18 -04:00
Florian Weimer 75f13b0ffd Disable -fstack-clash-protection on riscv64 (#2242327) 2023-10-05 17:53:18 +02:00
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 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
Maxwell G 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
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 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 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
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
Maxwell G 16122a6127
%set_build_flags: unconditionally set RUSTFLAGS 2023-02-28 18:29:18 -06:00
Maxwell G 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