Skip to content

Commit

Permalink
Additional RN fixes for 4.20 alpha2
Browse files Browse the repository at this point in the history
  • Loading branch information
dmnks committed May 20, 2024
1 parent 956e3dd commit 6d146e3
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions wiki/Releases/4.20.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Last update: 2024-05-20
* Group membership lines are now supported in `sysusers.d(5)` files
* Distributions can now override build conditionals (`%bcond`) system-wide with the new `%{bcond_override_default NAME VALUE}` macro
* A new [multi-file protocol](https://rpm-software-management.github.io/rpm/manual/dependency_generators.html#writing-dependency-generators) allowing for much faster dependency generation
* Better support for reproducible builds. It's now possible to set a [timestamp handling policy](https://rpm-software-management.github.io/rpm/manual/buildprocess.html#reproducability) via the new macro `%build_mtime_policy`. Two policies are currently available; one for clamping the timestamps to `$SOURCE_DATE_EPOCH` (which obsoletes and replaces the `%clamp_mtime_to_source_date_epoch` macro) and one for clamping them to the build time (this is a new feature). Set the macro to `clamp_to_source_date_epoch` or `clamp_to_buildtime` to use the respective policy. Additionally, build time is now exposed to build scriptlets via the new `$RPM_BUILD_TIME` environment variable and can also be overridden manually via the new `%_buildtime` macro.
* Better support for reproducible builds. It's now possible to set a [timestamp handling policy](https://rpm-software-management.github.io/rpm/manual/buildprocess.html#reproducability) via the new macro `%build_mtime_policy`. Two policies are currently available; one for clamping the timestamps to `$SOURCE_DATE_EPOCH` (which deprecates and replaces the `%clamp_mtime_to_source_date_epoch` macro) and one for clamping them to the build time (this is a new feature). Set the macro to `clamp_to_source_date_epoch` or `clamp_to_buildtime` to use the respective policy. Additionally, build time is now exposed to build scriptlets via the new `$RPM_BUILD_TIME` environment variable and can also be overridden manually via the new `%_buildtime` macro.
* Proper distribution-agnostic debuginfo enablement logic ([#2204](https://github.com/rpm-software-management/rpm/issues/2204)). Distributions no longer need to override the `%install` section with a macro in order to inject the `%debug_package` boilerplate themselves. Debuginfo generation is now handled automatically and properly using [Dynamic Specs](https://rpm-software-management.github.io/rpm/manual/dynamic_specs.html), and is enabled on Linux by default.

## Bug & Regression Fixes
Expand All @@ -60,7 +60,7 @@ Last update: 2024-05-20

## Compatibility Notes
* The `%patchN` macro syntax (where `N` is a patch number) is now obsolete and will produce a build error. Use `%patch N` (or `%patch -P N`) instead.
* In order to enable debuginfo generation during package builds, distributions have historically been using a hack that overrides the `%install` section with a macro that injects the `%debug_package` boilerplate into it. With RPM now gaining native support for debuginfo enablement, this hack is no longer supported (see [#2204](https://github.com/rpm-software-management/rpm/issues/2204) for details). Distributions carrying such a macro are now kindly asked to remove it. As an example of what the macro might look like, here's a definition shipped by the redhat-rpm-config package in Fedora 40:
* In order to enable debuginfo generation during package builds, distributions have historically been using a hack that overrides the `%install` section with a macro that injects the `%debug_package` boilerplate into it. With RPM now gaining native support for debuginfo enablement, this hack is no longer supported (see [#2204](https://github.com/rpm-software-management/rpm/issues/2204) for details). Distributions carrying such a macro are now kindly asked to remove it. As an example of what the (now obsoleted) macro might look like, here's a definition shipped by the redhat-rpm-config package in Fedora 40:

```
%install %{?_enable_debug_packages:%{?buildsubdir:%{debug_package}}}\
Expand All @@ -70,5 +70,6 @@ Last update: 2024-05-20

Note that the `%__debug_package` macro continues to be automatically set to `1` when debuginfo generation is enabled and thus can be relied upon without any changes.

* The `%clamp_mtime_to_source_date_epoch` macro is now deprecated in favor of `%build_mtime_policy` set to `clamp_to_source_date_epoch`.
* Non-comment text (i.e. not starting with a `#`) after SPEC conditionals is now a build error.
* Python 3.7 (when enabled) is now the minimum build requirement.

0 comments on commit 6d146e3

Please sign in to comment.