Commit Graph

743 Commits

Author SHA1 Message Date
Miro Hrončok e3a0edac0b Add pyproject-srpm-macros to the default buildroot 2023-01-25 15:24:42 +01:00
Maxwell G 8cbe245c01
Fix error: %changelog not in descending chronological order 2022-09-03 17:26:27 -05:00
Maxwell G 7663a47b1a
Add macros.shell-completions 2022-08-08 15:07:15 -05:00
Frederic Berat 4a55ceb93e gnuconfig: sync with upstream git 2022-06-01 14:30:30 +02:00
Tom Stellard 47edc1561a 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 17:30:21 +00:00
Tom Stellard f26601bfc9 Add test case for rhbz#2083296 2022-05-27 17:29:32 +00:00
Tom Stellard 81ddce57d9 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 17:29:32 +00:00
Miro Hrončok a26aee055e 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-27 17:29:30 +00:00
Tom Stellard 1d03844d4a tests/no-new-dependencies: Add /bin/sh to requires.txt
There appears to be new rpm behavior which adds

Requires(interp): /bin/sh

to this package, so we need to account for this in requires.txt.
We already have /usr/bin/sh in requires.txt, so this is not a
new dependency.
2022-05-19 20:00:49 +02:00
Jason Tibbitts 42b3f9289a Add java_arches macro
Backport the java_arches macro from rawhide.
2022-05-19 19:59:35 +02:00
Maxwell G 846f376b64
Add `Requires: ansible-srpm-macros` 2022-05-17 18:05:35 -05: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 ce70218eed Move package note generation to build preamble
We would try to regenerate the file whenever set_build_flags was used.
For packages which call %configure multiple times this would mean a
few times during build, and also in the build and check
preambles. Let's just simplify this and call it only in the build preamble.

https://src.fedoraproject.org/rpms/package-notes/pull-request/1
changes %_generate_package_note_file to be unconditional. This means we'll
always rewrite the file and will not use a stale version. (But the two
fixes are independent, even though they make the most sense together.)
2022-01-20 22:04:59 +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
Zbigniew Jędrzejewski-Szmek 68d400e374 docs: add more quoting
Also some minor grammar fixups and "s/link editor/linker/" when
talking about ld.
2022-01-20 22:04:59 +01:00
Zbigniew Jędrzejewski-Szmek 38fc865990 ELF notes: rework the description of disabling
I changed the definitions in package-notes to not do anything if
%_package_note_file is undefined. The other macros won't work if it is
not defined anyway, so this is quite natural. With this, undefining
%_package_note_file becomes the most comprehensive mechanism to disable
the feature. (Undefining %_package_note_flags still works so backwards
compat is preserved.)

The new mechanism will work once
https://src.fedoraproject.org/rpms/package-notes/pull-request/1 is merged.
But I don't think it is necessary to add a version requirement here, since
we're only providing the docs here.
2022-01-20 22:03:18 +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
Zbigniew Jędrzejewski-Szmek bc87a0d123 test/gcc-fedora-flags: modernize quoting 2022-01-13 14:05:59 +01:00
Zbigniew Jędrzejewski-Szmek 0732587e7b Change %define to %global
The packaging guidelines say that %global should is preferred.
2022-01-13 14:05:59 +01:00
Zbigniew Jędrzejewski-Szmek 1aa0c42cd3 buildflags: use consistent indentation and other minor fixes 2022-01-13 14:05:59 +01: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
Florian Weimer d1702bd08e buildflags.md: Fix formatting issue in %build_fflags documentation 2021-12-07 21:25:40 +01:00
Miro Hrončok e682ecf67c Revert "Temporary rpmlint config to ignore problems in soon to be removed kernel-rpm-macros"
This reverts commit 410499b1e006feaaf39fbc0c8ef040f8d2c7267f.
2021-11-18 20:04:18 +01: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
Miro Hrončok f895eeaa56 Fedora CI: Test that no unexpected dependency was added 2021-11-16 19:37:24 +01:00
Miro Hrončok 09b13a3ec4 Temporary rpmlint config to ignore problems in soon to be removed kernel-rpm-macros 2021-11-16 18:02:02 +00:00
Florian Weimer aee37a70c1 buildflags.md: Document source tree patching during %configure 2021-11-16 17:43:36 +01:00
Florian Weimer 69360e1d57 buildflags.md: Fix typo introduced in commit 65028a4d 2021-11-16 17:12:32 +01:00
Florian Weimer f33780a5e7 buildflags.md: Fix typos introduce in commit a3cf0d66 2021-11-16 17:05:39 +01:00
Florian Weimer ff647eda53 buildflags.md: Document the post-processing on ELF files 2021-11-16 14:51:13 +01:00
Florian Weimer 65028a4d00 buildflags.md: Document -fasynchronous-unwind-tables as generic option
And mention it is disabled on armhfp.
2021-11-15 15:59:36 +01:00
Florian Weimer 23e5f0dbd6 buildflags.md: Mentioned that annobin is only on for gcc, !armhpf 2021-11-15 15:58:09 +01:00
Florian Weimer a3cf0d66a7 buildflags.md: Treat -fstack-clash-protection as a generic flag
And mention the two exceptions (armhfp, and for clang, aarch64).
2021-11-15 15:51:29 +01:00
Florian Weimer f824dc72a1 buildflags.md: Document LTO and how to disable it 2021-11-15 15:44:56 +01:00
Florian Weimer 4a0c38832e buildflags.md: Document build_cc, build_cxx, build_cpp 2021-11-15 15:34:32 +01:00
Florian Weimer a9123ea1ac buildflags.md: Move toolchain selection documentation from macros file 2021-11-15 15:34:15 +01:00
Florian Weimer ac57cc99aa buildflags.md: Mention optional -fcommon under compiler flags 2021-11-15 15:26:05 +01:00
Florian Weimer 92959df563 buildflags.md: Document _ld_as_needed, --as-needed 2021-11-15 15:25:49 +01:00