Sadly, ldc ppc64 support has detoriated so much that it no longer works
with any current llvm version. I'll keep an eye on things and re-enable
it once it's fixed, but right now it's just broken and upstream is
suggesting to disable the support for now.
https://github.com/ldc-developers/ldc/issues/2356
This patch adds two additional rpm macros, __brp_mangle_shebangs_exclude_file
and __brp_mangle_shebangs_exclude_from_file, to specify files from which
to read the extended regexps used for excluding shebangs and target
files.
Additionally, this adds documentation in the macros file and
--help/--usage/-?/-h to brp-mangle-shebangs, so that it's possible to
actually discover what the intended behavior is without reading the
script itself.
Signed-off-by: Peter Jones <pjones@redhat.com>
If %ldconfig is not defined, then "%ldconfig_post/%ldconfig_postun foo"
will expand to " foo" which is breaking packages.
Also now it is possible to move %end into post/postun.
Reported-by: Terje Røsten <terjeros@phys.ntnu.no>
References: https://bugzilla.redhat.com/show_bug.cgi?id=1548331
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
If people choose to use %ldconfig_post/%ldconfig_postun, let them to
deal with %end.
Reported-by: Harald Reindl <h.reindl@thelounge.net>
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1547838
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
Some people tend to use comments in spec files which adds them into the
scriptlet and we don't want this.
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
Introduces __brp_mangle_shebangs_exclude_from and __brp_mangle_shebangs_exclude
* the first allows to explude specific paths from the mangling
* the second allows to exlude specific shebangs
Both are used with `grep -E`. Similar escaping rules as in [1] apply.
[1] https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering
With https://fedoraproject.org/wiki/Changes/Removing_ldconfig_scriptlets
we try to remove ldconfig scriptlets, but it would make every package
look horrible with all those conditionals. So let's just wrap ldconfig
scriptlets into macro so it doesn't look that horrible and error-prone.
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
If there are unpackaged symlinks, build will fail with unpackaged files.
People can %undefine __brp_ldconfig if they need to and they should make
sure that they call ldconfig themselves.
Right now, script doesn't guide packagers what to do, but it's not
prerequisite.
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
Add a separate macro for each brp we have, using standard naming
convention and conditionalize the usage in %__os_install_post.
Voilà, we have a standard way to disable (and also override) any brp
scripts from specs that need it and a common scheme for new brps
to follow.
Note that this is not supposed to change the existing behavior and
default build root policy invocations at all, any change in those
would be a thinko/typo/copy-paste error in this commit.
It doesn't belong to redhat-rpm-config which is about *srpm* buildtime..
This reverts commit ea5600c887.
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
Since b5ea4b290b we started to require gcc
(because annobin requires gcc). Since annobin does work only with gcc,
we don't have to install it if user doesn't have it.
Reported-by: Dominick Grift <dac.override@gmail.com>
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
Per fweimer: "Sorry, we need to revert the -Werror=implicit-*
bits. There is no chance we can get this working in any
reasonable time frame, there is simply too much breakage."
Introduce new language specific __global_fooflags for C, C++ and Fortran
This looks mildly strange and suspicious since because the global flags
get pulled in indirectly via %optflags (that doesn't change here but becomes
more obvious).
Depends on previous commit (8fe5b07871)
which was done separately to make the actual change (or lack of thereof)
stand out here.
This is not supposed to change any actual values for current usages,
so if it does it's a bug.
However there's a minor bonus involved for Fortran users who can now get
the correct FFLAGS/FCFLAGS for non-autoconf projects too by using
__global_fflags/fcflags
The hardened gcc specs do not handle static linkage, so building
with -static has been broken since commit
d9235d2d90. Adjust the -ld spec
file to avoid -pie when static linkage is used, as suggested
by Florian Weimer.
If java people say brp-java-repack-jars is not needed then it
probably isn't (#1235770). brp-implant-ident-static hasn't been enabled
in 13+ years, I THINK it's safe to say its not critically needed.
Leaving the actual scripts in the repo for now (amusement for
archeologists of future generations, eh?)
One possible incompatibility, hopefully non-issue: our brp-strip*
allowed setting strip and objdump to use via args and STRIP and
OBJDUMP env vars whereas the rpm ones allow it through args only
(i.e. %{__strip} and %{__objdump} as far as specfiles are concerned).
Specifically, the following are gone from here now: %_prefix,
%_sysconfdir, %_infodir, %_mandir, %_defaultdocdir, %_configure,
%makeinstall, %debug_package, %_use_internal_dependency_generator,
%_missing_doc_files_terminate_build, %_unpackaged_files_terminate_build
- Packages that refer to /usr/lib/rpm/redhat/find-requires|provides
do exist afterall, bring the scripts (but NOT macro overrides for them)
back until the packages (python3 at least) are fixed.
- Use rpmdeps to generate any "normal" dependencies even for the
kernel module stuff, drop all other unnecessary duplication
like elf, libtool and pkgconfig deps.
- Stop overriding rpm external dependency generator settings by default
- No normal package should ever end up using the old unmaintained
dependency generator scripts from here, but the kmp system depends
for now on the way this was previously set up here so letting
that old cruft live in the non-default package for now.
- These are not very relevant for Fedora, more so for RHEL and derivates
where it would be far preferrable to maintain the scripts as separately
from Fedoras redhat-rpm-config package as they are unmaintained and
only get out of sync here. Splitting these to a separate package
is the first step towards that.
- This isn't supposed to affect Fedora packages in any way.
all patches dropped as they're no longer relevant
- Add maintainer comments to spec wrt versioning and changes
- Except for Changelog documentation, the resulting binary package
is identical to previous version (9.1.0-58), ie only maintenance
practise is changed here, not contents.