(Created page with "== Goal == The goal is to rebuild every single Fedora package, regardless of content, before the Fedora 36 Change Deadline. == Driving Features == * Changes/GNUToolchainF36...") |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 7: | Line 7: | ||
* [[Changes/FsVerityRPM | FsVerityRPM ]] | * [[Changes/FsVerityRPM | FsVerityRPM ]] | ||
* [[Changes/LIBFFI34 | LIBFFI34 ]] | * [[Changes/LIBFFI34 | LIBFFI34 ]] | ||
* [[Changes/Java17 | Java17 ]] | |||
== Before the rebuild == | == Before the rebuild == | ||
Line 13: | Line 14: | ||
Given the changes required for the above features and the given | Given the changes required for the above features and the given | ||
schedules, Release Engineering will be ready to start scripted rebuilds | schedules, Release Engineering will be ready to start scripted rebuilds | ||
on Wednesday, | on Wednesday, January 19th. All automated rebuilds should be finished prior to the Feature Freeze. | ||
Any clean-up manual rebuilds should be finished prior to the Beta Change Deadline. | Any clean-up manual rebuilds should be finished prior to the Beta Change Deadline. | ||
Line 26: | Line 27: | ||
Loop through each package: | Loop through each package: | ||
Query if a build has already been attempted/completed since koji changes went live. | Query if a build has already been attempted/completed since koji changes went live. | ||
If so, move to next package | If so, move to the next package | ||
If not, check out git | If not, check out git | ||
rpmdev-bumpspec | rpmdev-bumpspec | ||
fedpkg commit -cp | fedpkg commit -cp | ||
fedpkg (background) build | fedpkg (background) build | ||
Move on to next package | Move on to the next package | ||
Each step will have some error catching and logging so that people | Each step will have some error catching and logging so that people | ||
Line 52: | Line 53: | ||
== Maintainer Actions == | == Maintainer Actions == | ||
* Maintainers can help this effort by ensuring '''rpmdev-bumpspec''' correctly bumps your package's spec files. | * Maintainers can help this effort by ensuring '''rpmdev-bumpspec''' correctly bumps your package's spec files. | ||
* Maintainers should ensure that their packages currently | * Maintainers should ensure that their packages are currently built from the source. | ||
* Maintainers should ensure that there are no unwanted changes committed to git but not built yet. | * Maintainers should ensure that there are no unwanted changes committed to git but not built yet. | ||
== Frequently Asked Questions == | == Frequently Asked Questions == | ||
=== When will my own build "count" for the rebuild? === | === When will my own build "count" for the rebuild? === | ||
After the last piece needed for the mass rebuild a golang build was put into place, a build done by a maintainer will "count" toward the rebuild. 2020- | After the last piece needed for the mass rebuild a golang build was put into place, a build done by a maintainer will "count" toward the rebuild. 2020-01-19 15:00:00 is the UTC time that builds count from | ||
=== Will the rebuilds be ordered? === | === Will the rebuilds be ordered? === |
Latest revision as of 16:12, 19 January 2022
Goal
The goal is to rebuild every single Fedora package, regardless of content, before the Fedora 36 Change Deadline.
Driving Features
Before the rebuild
Schedule
Given the changes required for the above features and the given schedules, Release Engineering will be ready to start scripted rebuilds on Wednesday, January 19th. All automated rebuilds should be finished prior to the Feature Freeze. Any clean-up manual rebuilds should be finished prior to the Beta Change Deadline.
Scripts
Release Engineering has created two scripts. One is to initiate the builds, and the other is to query for items still needing to be built.
Build Initiation
The rebuild script works in the following way:
Generate a list of all packages in f36 Loop through each package: Query if a build has already been attempted/completed since koji changes went live. If so, move to the next package If not, check out git rpmdev-bumpspec fedpkg commit -cp fedpkg (background) build Move on to the next package
Each step will have some error catching and logging so that people can clean up the various failures for whatever reasons. The builds will be background builds, which will allow other builds done to take higher priority when a builder has a free slot. However, maintainers should take care when doing this so that the background build won't take 'latest' precedent when it finishes. Asking rel-eng to kill the scripted build will typically be enough.
Build Tagging
Once the rebuild script has finished, another script will run to tag the builds into f36. This script will check that a newer build hasn't been done or started in f36 since the scripted rebuild was submitted. This will protect against the scripted rebuild overriding an even newer build done while the scripted rebuild was waiting in the background.
Status Query
Release Engineering has developed a script to query f36 and report on packages that have yet to be rebuilt. Results of these queries will be delivered to various places, yet to be determined, broken down by maintainer for easier discovery of work needed.
Maintainer Actions
- Maintainers can help this effort by ensuring rpmdev-bumpspec correctly bumps your package's spec files.
- Maintainers should ensure that their packages are currently built from the source.
- Maintainers should ensure that there are no unwanted changes committed to git but not built yet.
Frequently Asked Questions
When will my own build "count" for the rebuild?
After the last piece needed for the mass rebuild a golang build was put into place, a build done by a maintainer will "count" toward the rebuild. 2020-01-19 15:00:00 is the UTC time that builds count from
Will the rebuilds be ordered?
Feedback
Questions/comments/concerns should be directed to [1], or #fedora-releng on freenode IRC.