-
Notifications
You must be signed in to change notification settings - Fork 236
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update releng/release-notes-next/generate_buildrequires.bug
with suggestion from Miro Hroncok Co-authored-by: Miro Hrončok <[email protected]>
- Loading branch information
Showing
1 changed file
with
17 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,17 @@ | ||
Previously Mock skipped %prep section when doing the next round of build of `%generate_buildrequries` to save time. | ||
But we found that when the package deletes `setupmeta.egg-info` in `%prep`, then the next loop can work with incorrect data | ||
and generate incorrect build requires that may not be satisfied. | ||
Mock now calls `%prep` section in every loop. This may result in a few seconds of delay when spec file uses | ||
`%generate_buildrequries`, but generated build dependency is correct now. | ||
To save time, Mock previously skipped the `%prep` section when building | ||
an RPM package after completing the installation of all the requirements | ||
generated by `%generate_buildrequries`. | ||
|
||
However, when the `%generate_buildrequries` section has side effects altering | ||
the results of a subsequent run of self, | ||
then the final build may work with different data and generate incorrect | ||
build requirements that may not be actually installed during the build. | ||
In extreme case, it is possible to successfully build a package with | ||
unsatisfiable BuildRequires in the built SRPM metadata. | ||
|
||
Mock now calls `%prep` section even during the final build after completing | ||
the installation of all the generated build requirements. | ||
This may result in a few seconds of delay when spec file uses | ||
`%generate_buildrequries` but the source used to generate the build requirements | ||
is more likely to stay consistent during the build, | ||
making it harder to accidentally generate unsatisfied BuildRequires. |