Commit Graph

177 Commits

Author SHA1 Message Date
Miro Hrončok
c7d6417a3b Add a possibility to opt-out form automagic Python bytecompilation
That is, outside of Python specific directories.

More at https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation
2018-05-28 14:26:20 +02:00
Peter Jones
f7e8f73ead brp-mangle-shebangs: make it possible to use generated exclusion lists
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>
2018-05-02 14:38:46 -04:00
Zbigniew Jędrzejewski-Szmek
8c5d5de24a Trim changelog entries older than two years
Inspired by http://gitweb.mageia.org/software/rpm/rpm-setup/tree/macros.in#n22
but changed to two years (3+ releases of Fedora).
2018-03-11 15:15:30 +01:00
Florian Weimer
cd7779aeac First step of moving -z now to the gcc command line (#1548397) 2018-02-24 17:38:12 +01:00
Miro Hrončok
fb05a239d2
Allow to opt-out from shebang mangling for specific paths/shebangs
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
2018-02-15 08:47:54 +01:00
Florian Weimer
fa08f0e5a1 Add RPM macros for compiler/linker flags 2018-02-04 18:00:40 +01:00
Miro Hrončok
257a3a95c7 Add brp-mangle-shebangs 2018-01-30 13:31:25 +01:00
Igor Gnatenko
12ace9bdb9 Create DSO symlinks automatically
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>
2018-01-29 16:41:52 +01:00
Florian Weimer
8d6c6d0761 Build flags: Disable -z defs again (#1535422) 2018-01-29 15:18:11 +01:00
Florian Weimer
078af19261 Link with -z defs by default (#1535422) 2018-01-22 16:01:54 +01:00
Florian Weimer
faa1ad44f7 Remove --param=ssp-buffer-size=4 from build flags
-fstack-protector-strong does not use frame size heuristics for
deciding which functions to instrument, so changing the parameter has
no effect.
2018-01-22 14:30:12 +01:00
Panu Matilainen
3bf139f646 Document how to disable hardened and annotated build (#1211296) 2018-01-19 12:21:06 +02:00
Panu Matilainen
a747e7fb51 Fix the inevitable embarrassing typo in 77, doh 2018-01-17 12:57:53 +02:00
Panu Matilainen
c4646d791d Macroize build root policies for consistent disable/override ability
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.
2018-01-17 12:29:44 +02:00
Florian Weimer
6c35c254c2 Add _GLIBCXX_ASSERTIONS to CFLAGS/CXXFLAGS (#1515858) 2018-01-17 10:14:18 +01:00
Nick Clifton
b5ea4b290b Enable binary annotations in compiler flags 2017-11-22 12:41:44 +01:00
Igor Gnatenko
00e8557ba2 Move _debuginfo_subpackages and _debugsource_packages from rpm (RHBZ #1476735)
References: https://bugzilla.redhat.com/show_bug.cgi?id=1476735
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-07-31 14:45:08 +02:00
Igor Gnatenko
f6596a4ca5 Define _include_gdx_index (RHBZ #1476722)
References: https://bugzilla.redhat.com/show_bug.cgi?id=1476722
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-07-31 14:43:55 +02:00
Adam Williamson
6dc72405b3 Revert #1393492 changes, they break far too many builds
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."
2016-12-06 14:45:53 -08:00
Panu Matilainen
beb08c6bba Error on implicit function declaration and -return type for C (#1393492)
Add -Werror=implicit-function-declaration -Werror=implicit-int to
global cflags as per https://fedoraproject.org/wiki/Changes/Fedora26CFlags
2016-11-30 13:51:10 +02:00
Panu Matilainen
3081c4e7d5 Introduce macros for language specific compiler options
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
2016-11-30 13:41:57 +02:00
Panu Matilainen
8fe5b07871 Rename __global_cflags to __global_compiler_flags
Preparing for language specific compiler flag macros, this is
simply:

    perl -pi -e "s:__global_cflags:__global_compiler_flags:g" macros rpmrc

Since this looks like a much bigger change than it actually is, doing
it in a separate step without an associated build.
2016-11-30 13:37:12 +02:00
Panu Matilainen
3234495f75 Drop unwanted + unused brp-* scripts
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?)
2016-11-07 16:14:38 +02:00
Jason Tibbitts
9a4753b3e4 Remove hardcoded limit of 16 CPUs for make -j
There was a hardcoded limit of 16 on the value passed to make -j.  This
has been removed.  See
https://bugzilla.redhat.com/show_bug.cgi?id=1384938
2016-10-17 13:47:22 -05:00
Jason Tibbitts
7359cf0b80 And add a more descriptive comment. 2016-10-03 16:06:03 -05:00
Jason Tibbitts
d3c4ff3299 Leave the macro undefined instead of defining to 0. 2016-10-03 14:30:19 -05:00
Jason Tibbitts
a0145ecd2f Add %_configure_disable_silent_rules
Adds %_configure_disable_silent_rules, defaulting to 0, to optionally
enable the passing of --disable-silent-rules to configure scripts.
2016-10-03 12:55:00 -05:00
Florian Festi
a91c848b8a - Support out of source builds for %_configure_gnuconfig_hack (#1191788)
- Fix typo in %kernel_module_package (#1159361)
2015-05-29 16:54:33 +02:00
Florian Festi
db967d3586 - Add %py_auto_byte_compile macro controlling Python bytecompilation
(#976651)
2015-05-19 13:28:55 +02:00
Till Maas
d9235d2d90 Enable hardened_build by default 2015-02-19 18:13:04 +01:00
Ville Skyttä
82a41dfa6a Drop brp-* scripts needlessly duplicated with rpm
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).
2014-04-27 17:09:14 +03:00
Ville Skyttä
20c7e01657 Drop bunch of macro definitions needlessly duplicated with rpm
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
2014-04-27 12:02:23 +03:00
Ville Skyttä
20a45694f9 Trim trailing whitespace 2014-04-27 11:58:46 +03:00
Panu Matilainen
43629272a8 - Allow opting out of config.{guess,sub} replacement hack (#991613) 2014-04-08 13:30:58 +03:00
Panu Matilainen
c8cbd244cf - Move the remaining dependency generator stuff to the kmp macro package
- 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.
2014-04-08 12:36:08 +03:00
Panu Matilainen
0e6d36bee9 Split kernel module macros to a separate file 2014-04-07 14:38:58 +03:00
Kevin Fenzi
6c38f18be2 Update libtool hardening hack and re-enable (#978949) 2014-01-25 10:10:32 +02:00
Dhiru Kholia
33b9cbdc67 Enable "-Werror=format-security" by default (#1043495) 2014-01-25 10:10:32 +02:00
Kevin Fenzi
e606f56f34 Make docdirs unversioned on Fedora 20+ (#986871) 2014-01-25 10:03:26 +02:00
Kevin Fenzi
b4b00eca04 Hack around libtool issue for hardened build for now (#978949) 2014-01-25 10:03:26 +02:00
Panu Matilainen
d4c5b38371 - switch from -fstack-protector to -fstack-protector-strong (#978763) 2014-01-25 10:03:26 +02:00
Panu Matilainen
5f7da21873 - make cpu limit for building configurable through _smp_ncpus_max macro - forward "port" from rhel-6 (#669638) 2014-01-25 10:03:26 +02:00
Panu Matilainen
0466a24ccb - Also set FCFLAGS from %%configure (#914831) 2014-01-25 10:03:26 +02:00
Panu Matilainen
2a557175eb - Switch back to manual config.guess/sub copies for reproducability - Replace config.guess/sub from %%configure again (#951442) 2014-01-25 10:03:14 +02:00
Panu Matilainen
b9eb0a184b - Add -grecord-gcc-switches to global CFLAGS (#951669) 2014-01-25 00:41:21 +02:00
Toshio Kuratomi
1891cc0aeb Patch to fix spaces in files used in filtering macros
https://bugzilla.redhat.com/show_bug.cgi?id=783932
2014-01-25 00:35:48 +02:00
Ville Skyttä
e8199cfec5 Drop (un)setting LANG and DISPLAY in various build stages.
rpm >= 4.8.0 takes care of that itself.
2014-01-25 00:35:48 +02:00
Toshio Kuratomi
f41a8a73aa Fix kernel_source macro to match the directory that kernel sources are installed in
https://bugzilla.redhat.com/show_bug.cgi?id=648996
2014-01-25 00:35:48 +02:00
Toshio Kuratomi
2f654df096 Patch _mandir, _infodir, and _defaultocdir to use _prefix
https://bugzilla.redhat.com/show_bug.cgi?id=853216
2014-01-25 00:35:48 +02:00
Panu Matilainen
98d1974f20 - enable minidebuginfo generation (#834073) 2014-01-25 00:14:16 +02:00
Panu Matilainen
3b282b08f2 - revert back to plain -g, -g3 seems to cancel dwz size improvements 2014-01-25 00:13:09 +02:00
Panu Matilainen
1cff11580f - require dwz, enable dwarf compression for debuginfo packages (#833311) 2014-01-25 00:11:43 +02:00
Dennis Gilmore
36225c3b7c Revert "macros: Globally add --disable-silent-rules to configure"
This reverts commit 8174ec3d10.

remove patch that forces --disable-silent-rules to configure it breaks anything set to not ignore unknown configure options
2014-01-24 23:55:03 +02:00
Adam Jackson
5034f24e6a Expose %_hardening_{c,ld}flags independently to make it easier for packages to apply them to selected components 2014-01-24 23:45:05 +02:00
Colin Walters
8174ec3d10 macros: Globally add --disable-silent-rules to configure
Various projects have been adding AM_SILENT_RULES from Automake to
their Makefiles for "developer convenience"; the goal being that they
see warnings more easily.

Now really the right way to do this is to have a make wrapper (or an IDE)
that knows how to filter out warnings, but let's leave that aside for now.

But for debugging builds, we really need the full log data.  Being
able to see exactly how e.g. libtool is being run helps a lot for
debugging link problems as an example.
2014-01-24 23:42:25 +02:00
Adam Jackson
0ae4b38eee redhat-hardened-{cc1,ld}: Move some of the rewrite magic to gcc specs so we don't end up with both -fPIC and -fPIE on the command line 2014-01-24 23:41:09 +02:00
Adam Jackson
51811936c4 redhat-rpm-config-9.1.0-hardened.patch: Add macro magic for %_hardened_build 2014-01-24 23:36:04 +02:00
Adam Jackson
4b29a24132 redhat-rpm-config-9.1.0-relro.patch: LDFLAGS, not CFLAGS. 2014-01-24 23:34:16 +02:00
Adam Jackson
60aea2849e Add -z relro 2014-01-24 23:24:07 +02:00
Panu Matilainen
055d0b77e1 Don't run brp-strip-comment-note when find-debuginfo.sh is run (#568924)
- brp-strip-comment-note is not only unnecessary here but is also
  now messing up things by resetting EI_OSABI to zero (#568921)
- patch from  Roland McGrath
2010-03-01 10:58:17 +02:00
Panu Matilainen
7cf1ad2dbb Enable strict python bytecompile mode (if rpm supports it)
- with %_python_bytecompile_errors_terminate_build set to non-zero,
  byte-compilation errors will abort the build, this helps catch out
  silly "improt foo" syntax errors early on
- not all .py files are valid python (they can be templates, inteded for
  jython consumption etc), and what's valid can depend on the python
  version (notably 2.x vs 3.x) so allow overriding from spec
2010-02-03 12:52:30 +02:00
Panu Matilainen
c73da1f920 Leave rpm's hkp keyserver configuration alone
- rpm < 4.6 used to try and fetch and import any missing keys from
  keyserver automatically on rpmdb iteration if hkp_keyserver was set, which
  caused hideous slowdowns and huge load on pgp keyservers AND was a
  security hazard as rpm thinks imported == trusted key. This is safe
  enable now as rpm will only ever import keys when explicitly told to do
  so with --import
- this makes pgp import directly from PGP servers work, ie
   'rpm --import 0x<keyid>'
2010-01-26 17:48:44 +02:00
Panu Matilainen
2a452bba1e Permit using different python version for brp-python-bytecompile (#521141)
- pass %{__python} macro to brp-python-bytecompile instead of using
  hardwired /usr/bin/python, as suggested by Bowe Strickland
2010-01-26 13:55:54 +02:00
Panu Matilainen
f359c096c2 Remove redundant %find_lang definition
- this was only useful back when we were using our own find-lang.sh
2010-01-22 15:59:04 +02:00
Panu Matilainen
56ed371d31 Remove redundant and deprecated %_initrddir definition (#455279)
- this has been provided by rpm since forever, no need to carry it here
2010-01-22 15:47:15 +02:00
Panu Matilainen
850eda59f8 Disable autotools dependency tracking in %configure (#496522)
- autotools dependency tracking isn't generally useful in rpm builds;
  disabling it results in cleaner build logs and possibly slight build speedups
- patch from Ville Skyttä
2010-01-22 15:43:38 +02:00
Panu Matilainen
c9d2ffe123 Don't set --target in %configure (#458648)
- --target is only ever useful for handful of compiler toolchain packages
  and cross-compiler packages are better off setting it themselves if
  necessary, rpm messing here only gets in the way
- patch originally from Stepan Kasal
2010-01-22 15:39:38 +02:00
Panu Matilainen
f2e3413ddb Enable overriding the default ./configure path of %configure (#489942)
- syncs up with rpm upstream setup
- FFLAGS has a Fedora-specific override forcing us to carry this %configure
  copy, need to fix rpm to permit more fine-grained overrides...
2010-01-22 15:37:33 +02:00
Panu Matilainen
b5b2aedbc1 Add filtering framework for external dependency generator (#516240)
- patch from Chris Weyl
2010-01-22 15:30:02 +02:00
Panu Matilainen
e56e816f47 Enable use of XZ compression for binary rpm payloads
- as per https://fedoraproject.org/wiki/Features/XZRpmPayloads
  - lowish compression preset level to keep deltarpm rebuild time tolerable
  - source rpms dont really benefit from XZ compression as the contents are
    typically tarballs which are already compressed
- patch from Bill Nottingham
2010-01-22 15:26:19 +02:00
Panu Matilainen
159a65fb61 Ensure empty buildroot for %install
- remove any existing buildroot contents and safely create a new one
- patch originally from OpenSUSE / Michael Schroeder, adopted to Fedora
  by Tom "spot" Callaway
2010-01-22 15:24:29 +02:00
Panu Matilainen
e2a80f379c Change default hashing algorithm in file digests to SHA-256 (#485826)
- as per https://fedoraproject.org/wiki/Features/StrongerHashes
- patch from  Miloslav Trmač
2010-01-22 15:22:42 +02:00
Panu Matilainen
3a2d93f311 Limit _smp_mflags to max 16
- patch from Dennis Gilmore
2010-01-22 15:20:08 +02:00
Jonathan Masters
9ed9b4e345 A variety of small cleanups 2008-05-06 19:08:20 -04:00
Jon Masters
83405d773d Update config.guess|sub, sync with RHEL-5. 2008-04-03 03:11:24 -04:00
Jesse Keating
9b11fc216b Enable buildroot check by default 2007-07-05 12:41:21 -04:00
Jeremy Katz
9ffd969654 use stock find-lang rather than the (old) copy (#213041) 2007-06-19 14:38:34 -04:00
Jeremy Katz
d82d89ec83 %{_gnu} gets defined in the platform definitions and _shouldn't_ be
-gnu on some arm arches (Lennert Buytenhek, #243523)
2007-06-19 14:36:18 -04:00
Jeremy Katz
85ff3763b6 allow disabling jar repacking (#219731) 2007-06-19 14:28:50 -04:00
Jeremy Katz
a959c1f92d hardlink identical .pyc and .pyo files to save some space. patch from
Ville Skyttä <ville DOT skytta AT iki DOT fi>
2007-06-19 14:20:53 -04:00
Jeremy Katz
feffba404a add support for kmps/kmodtool stuff (from jcm) 2007-06-19 15:21:46 +00:00
Jeremy Katz
e053cecd41 add script that does repacking of jar files to avoid multilib conflicts.
originally written by Ben Konrath <bkonrath AT redhat DOT com>
2007-06-19 15:13:23 +00:00
Elliot Lee
12233c1d7b fix #165416 2005-08-17 00:27:33 +00:00
Elliot Lee
d5e4ed68cb add wall back in 2005-08-01 17:53:18 +00:00
Elliot Lee
1986646f85 8.0.37:
On Fri, 29 Jul 2005, Ulrich Drepper wrote:

> Please find attached the hopefully final changes for the compile flags.
>  It's a patch against redhat-rpm-config-8.0.36-1.src.rpm.  The changes are:
>
> ~ enable stack protector with minimal size 4 (default is 8, too high
>   IMO).  Vlad ran some tests on SPEC.  SPEC is highly CPU intensive,
>   unlike 90%+ of the distribution.  Even in those tests the performance
>   decrease was below 1%, probably even in the noise.  Especially the
>   decrease of the minimum size to 4 made no measurable impact.
>
> ~ remove the -fsigned-char flag for ppc.  glibc has not been compiled
>   with the flag anyway, so if anything changes, we eliminate some bugs.
>   The only theoretical issue would be if a library we ship uses CHAR_MAX
>   in an interface.  I personally haven't seen this for good reasons.
>   The only interface I know is localeconv(3) in glibc and this interface
>   is now corrected.
>
> ~ minor fix for SPARC
2005-08-01 17:44:57 +00:00
Elliot Lee
f20fd09542 fix 2005-06-16 15:42:31 +00:00
Elliot Lee
b8c7c4c827 Enable python, pkgconfig provides 2005-06-15 22:18:12 +00:00
Elliot Lee
ded130c1dd new version 2005-03-23 20:05:40 +00:00
Elliot Lee
f41aa8c35f #147961 2005-03-22 03:30:56 +00:00
Elliot Lee
1518ff2d14 Fix java builds 2005-02-09 15:09:11 +00:00
Elliot Lee
d10e27e7b7 add _FORTIFY_SOURCE 2004-11-15 15:23:30 +00:00
Elliot Lee
2eb59b7156 sync 2004-03-01 17:29:43 +00:00
Elliot Lee
ecdfe2c6d3 fix 108049 2003-11-03 20:35:50 +00:00
Elliot Lee
4ccbbe76dc 8.0.27-1 2003-07-15 13:44:02 +00:00
Elliot Lee
a2894a5e9a 8.0.27-1 2003-07-15 13:38:58 +00:00
Jens Petersen
7bf42f4c8d * Mon Jul 07 2003 Jens Petersen <petersen@redhat.com> - 8.0.25-1
- update config.{guess,sub} to 2003-06-17
- define VENDOR to be redhat only when /etc/redhat-release present
  [suggested by jbj]
- put VENDOR in vendor field in our config.guess file for
  ia64, ppc, ppc64, s390, s390x, x86_64 and elf32-i386 Linux
- drop the --host, --build, --target and --program-prefix configure options
  from %%configure, since this causes far too many problems
2003-07-07 01:18:33 +00:00
Jens Petersen
2a08d46318 - add config.guess and config.sub (2003-02-22)
- make %%configure use them
2003-05-01 08:13:14 +00:00
Elliot Lee
4410abdbbb Unset $DISPLAY in macros 2003-03-03 16:16:20 +00:00
Elliot Lee
ae8ce229ab 8.0.21 2003-02-24 18:39:29 +00:00
Elliot Lee
e7eb34f089 Reorganize rpmrc/macros to set cflags in a nicer manner. 2003-02-13 16:33:31 +00:00