[releng-misc-guide] Initialise Releng Miscellaneous guide
Signed-off-by: Samyak Jain <samyak.jn11@gmail.com>
This commit is contained in:
parent
d5a4761208
commit
96d9c091f1
23 changed files with 318 additions and 2 deletions
|
@ -17,3 +17,4 @@ nav:
|
||||||
- modules/developer_guide/nav.adoc
|
- modules/developer_guide/nav.adoc
|
||||||
- modules/sysadmin_guide/nav.adoc
|
- modules/sysadmin_guide/nav.adoc
|
||||||
- modules/release_guide/nav.adoc
|
- modules/release_guide/nav.adoc
|
||||||
|
- modules/releng_misc_guide/nav.adoc
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
* xref:release_process.adoc[Release process]
|
|
||||||
* xref:index.adoc[Release guide]
|
* xref:index.adoc[Release guide]
|
||||||
|
* xref:release_process.adoc[Release process]
|
||||||
** xref:mass_rebuild.adoc[Mass Rebuild]
|
** xref:mass_rebuild.adoc[Mass Rebuild]
|
||||||
** xref:sop_file_ftbfs.adoc[File FTBFS bugs]
|
** xref:sop_file_ftbfs.adoc[File FTBFS bugs]
|
||||||
** xref:sop_mass_branching.adoc[Mass Branching]
|
** xref:sop_mass_branching.adoc[Mass Branching]
|
||||||
|
|
16
modules/releng_misc_guide/nav.adoc
Normal file
16
modules/releng_misc_guide/nav.adoc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
* xref:index.adoc[Releng Miscellaneous guide]
|
||||||
|
** xref:sop_generating_openh264_composes.adoc[Generate openh264 composes]
|
||||||
|
** xref:sop_find_module_info.adoc[Find Module Information]
|
||||||
|
** xref:sop_unretire.adoc[Unretire package branch]
|
||||||
|
** xref:sop_update_critpath.adoc[Update Critpath]
|
||||||
|
** xref:sop_update_releng_docs.adoc[Update RelEng Rendered Docs]
|
||||||
|
** xref:sop_remote_dist_git_branches.adoc[Remove dist-git branches]
|
||||||
|
** xref:sop_package_unblocking.adoc[Package Unblocking]
|
||||||
|
** xref:sop_retire_orphaned_packages.adoc[Retire Orphaned Packages]
|
||||||
|
** xref:sop_requesting_task_automation_users.adoc[Requesting Automation Users]
|
||||||
|
** xref:sop_process_dist_git_requests.adoc[Process fedora-scm-requests tickets]
|
||||||
|
** xref:sop_signing_builds.adoc[Sign the packages]
|
||||||
|
** xref:sop_clean_amis.adoc[Clean AMIs Process]
|
||||||
|
** xref:sop_pushing_updates.adoc[Pushing Updates]
|
||||||
|
** xref:sop_package_blocking.adoc[Package Blocking]
|
||||||
|
* xref:troubleshooting.adoc[Fedora Release Engineering Troubleshooting Guide]
|
|
@ -0,0 +1,8 @@
|
||||||
|
:year: 2023
|
||||||
|
:rawhide_next: 40
|
||||||
|
:rawhide: 39
|
||||||
|
:rawhide_name: Thirty Nine
|
||||||
|
:branched: 38
|
||||||
|
:branched_name: Thirty Eight
|
||||||
|
:current: 37
|
||||||
|
:old_release: 36
|
150
modules/releng_misc_guide/pages/index.adoc
Normal file
150
modules/releng_misc_guide/pages/index.adoc
Normal file
|
@ -0,0 +1,150 @@
|
||||||
|
== Fedora Release Engineering
|
||||||
|
|
||||||
|
Contents:
|
||||||
|
|
||||||
|
overview philosophy contributing troubleshooting architecture sop
|
||||||
|
|
||||||
|
This page contains information about the Fedora Release Engineering
|
||||||
|
team.
|
||||||
|
|
||||||
|
[[releng-contact-info]]
|
||||||
|
=== Contact Information
|
||||||
|
|
||||||
|
* IRC: `#fedora-releng` on irc.libera.chat
|
||||||
|
* Mailing List: https://admin.fedoraproject.org/mailman/listinfo/rel-eng[rel-eng@lists.fedoraproject.org]
|
||||||
|
* Issue tracker: https://pagure.io/releng/new_issue[Fedora Releng Pagure Tickets]
|
||||||
|
|
||||||
|
If you want the to get something done (e.g. moving packages to
|
||||||
|
buildroots or into frozen compositions) by the ReleaseEngineering Team,
|
||||||
|
please create a ticket in the issue tracker mentioned above. Please
|
||||||
|
enter your FAS-username or e-mail address in the respective textbox, to
|
||||||
|
make sure the team can contact you.
|
||||||
|
|
||||||
|
[[index-team-composition]]
|
||||||
|
=== Team Composition
|
||||||
|
* https://fedoraproject.org/wiki/User:kevin[Kevin Fenzi (nirik)]
|
||||||
|
* https://fedoraproject.org/wiki/User:sharkcz[Dan Horák (sharkcz)](secondary arches)
|
||||||
|
* https://fedoraproject.org/wiki/User:pbrobinson[Peter Robinson(pbrobinson)]
|
||||||
|
* https://fedoraproject.org/wiki/User:maxamillion[Adam Miller(maxamillion)]
|
||||||
|
* https://fedoraproject.org/wiki/User:humaton[Tomas Hrcka(humaton)]
|
||||||
|
|
||||||
|
Release Team members are approved by FESCo. However, FESCo has delegated
|
||||||
|
this power to the Release Team itself. If you want to join the team,
|
||||||
|
please read `join-releng`.
|
||||||
|
|
||||||
|
=== What is Fedora Release Engineering?
|
||||||
|
|
||||||
|
For a Broad Overview, see `overview <overview>`.
|
||||||
|
|
||||||
|
=== Why we do things the way we do them
|
||||||
|
|
||||||
|
For information on the Fedora Release Engineering Philosophy, see
|
||||||
|
`philosophy <philosophy>`.
|
||||||
|
|
||||||
|
=== Fedora Release Engineering Leadership
|
||||||
|
|
||||||
|
Mohan Boddu (mboddu on IRC, FAS username mohanboddu)
|
||||||
|
|
||||||
|
Leadership is currently appointed by FESCo with input from the current
|
||||||
|
release team.
|
||||||
|
|
||||||
|
=== Things we Do
|
||||||
|
|
||||||
|
* {blank}
|
||||||
|
+
|
||||||
|
Create official Fedora releases.::
|
||||||
|
** {blank}
|
||||||
|
+
|
||||||
|
Fedora Products;;
|
||||||
|
*** Cloud
|
||||||
|
*** Server
|
||||||
|
*** Workstation
|
||||||
|
** Fedora Spins
|
||||||
|
* Report progress towards release from
|
||||||
|
https://fedoraproject.org/wiki/Releases/Branched[branched] creation on.
|
||||||
|
* Give reports to FESCo on changes to processes.
|
||||||
|
* If something is known to be controversial, we let FESCo know before
|
||||||
|
implementing otherwise implementation generally happens concurrently to
|
||||||
|
reporting.
|
||||||
|
* Set policy on freeze management
|
||||||
|
* Administrate the build system(s)
|
||||||
|
* Remove unmaintained packages from Fedora
|
||||||
|
* Push updated packages
|
||||||
|
* write and maintain tools to compose and push Fedora
|
||||||
|
|
||||||
|
[[join-releng]]
|
||||||
|
=== Joining Release Engineering
|
||||||
|
|
||||||
|
Much of rel-eng's communication is via IRC. One of the best ways to
|
||||||
|
initially get involved is to attend one of the meetings and say that
|
||||||
|
you're interested in doing some work during the open floor at the end of
|
||||||
|
the meeting. If you can't make the meeting times, you can also ping one
|
||||||
|
of us on IRC or sign up for the
|
||||||
|
https://admin.fedoraproject.org/mailman/listinfo/rel-eng[mailing list].
|
||||||
|
|
||||||
|
Since release engineering needs special access to systems essential to
|
||||||
|
Fedora people new to rel-eng will usually get access a little bit at a
|
||||||
|
time. Typically people won't immediately be granted the ability to sign
|
||||||
|
packages and push updates for example. A couple of tasks you could start
|
||||||
|
out with are troubleshooting why builds are failing (and if rel-eng
|
||||||
|
could take actions to fix it) as the requests are submitted to pagure or
|
||||||
|
help with scripts for various rel-eng tasks.
|
||||||
|
|
||||||
|
There are also a number of tools that Fedora Release Engineering uses
|
||||||
|
and relies upon, working on improving these upstream to fascilitate with
|
||||||
|
new things that the Fedora Project is aiming to deliver is also a great
|
||||||
|
way to get involved with Fedora Rel-Eng.
|
||||||
|
|
||||||
|
=== How we do it
|
||||||
|
|
||||||
|
See our `Standard Operating Procedures <sop>` for details on how we do
|
||||||
|
the things we do.
|
||||||
|
|
||||||
|
Most discussions regarding release engineering will happen either in
|
||||||
|
[.title-ref]##fedora-releng# or on the releng mailing list. For
|
||||||
|
requests, please consult the `releng-contact-info`
|
||||||
|
|
||||||
|
=== Meetings
|
||||||
|
|
||||||
|
rel-eng holds regular meetings every Monday at 14:30 UTC in
|
||||||
|
[.title-ref]##fedora-meeting-3# on the Libera IRC network.
|
||||||
|
|
||||||
|
* https://pagure.io/releng/issues?status=Open&tags=meeting[Meeting
|
||||||
|
agendas] are created from open tickets in pagure that contain the
|
||||||
|
meeting keyword.
|
||||||
|
|
||||||
|
==== Meeting Minutes
|
||||||
|
|
||||||
|
Minutes are posted to the rel-eng mailing list. They are also available
|
||||||
|
at the
|
||||||
|
https://meetbot.fedoraproject.org/sresults/?group_id=releng&type=team[Meetbot
|
||||||
|
team page for releng]
|
||||||
|
|
||||||
|
There are also
|
||||||
|
https://fedoraproject.org/wiki/ReleaseEngineering/Meetings[historical
|
||||||
|
Meeting Minutes for 2007-04-16 to 2009-05-04].
|
||||||
|
|
||||||
|
=== Current activities
|
||||||
|
|
||||||
|
See our https://pagure.io/releng/issues[ticket queue] for the things we
|
||||||
|
are currently working.
|
||||||
|
|
||||||
|
See https://fedoraproject.org/wiki/Releases[Releases] for information
|
||||||
|
about Fedora releases, including schedules.
|
||||||
|
|
||||||
|
=== Freeze Policies
|
||||||
|
|
||||||
|
* https://fedoraproject.org/wiki/Milestone_freezes[Milestone (Alpha,
|
||||||
|
Beta, Final) freezes]
|
||||||
|
* https://fedoraproject.org/wiki/Software_String_Freeze_Policy[String
|
||||||
|
Freeze Policy] (Same time as Alpha Freeze)
|
||||||
|
* https://fedoraproject.org/wiki/Changes/Policy[Change freeze policy]
|
||||||
|
(that's 'Change' as in 'feature')
|
||||||
|
* https://fedoraproject.org/wiki/Updates_Policy[Updates Policy] (not
|
||||||
|
technically a freeze, but of interest)
|
||||||
|
|
||||||
|
=== Indices and tables
|
||||||
|
|
||||||
|
* `genindex`
|
||||||
|
* `modindex`
|
||||||
|
* `search`
|
141
modules/releng_misc_guide/pages/overview.adoc
Normal file
141
modules/releng_misc_guide/pages/overview.adoc
Normal file
|
@ -0,0 +1,141 @@
|
||||||
|
[[overview]]
|
||||||
|
== Fedora Release Engineering Overview
|
||||||
|
|
||||||
|
[[overview-intro]]
|
||||||
|
=== Introduction
|
||||||
|
|
||||||
|
The development of Fedora is a very open process, involving over a
|
||||||
|
thousand package maintainers (along with testers, translators,
|
||||||
|
documentation writers and so forth). These maintainers are responsible
|
||||||
|
for the bulk of Fedora distribution development. An elected
|
||||||
|
https://fedoraproject.org/wiki/Fedora_Engineering_Steering_Committee[committee
|
||||||
|
of people] provides some level of direction over the engineering aspects
|
||||||
|
of the project.
|
||||||
|
|
||||||
|
The rapid pace of Fedora development leaves little time for polishing
|
||||||
|
the development system into a quality release. To solve this dilemma,
|
||||||
|
the Fedora project makes use of regular freezes and milestone (Alpha,
|
||||||
|
Beta, Final) releases of the distribution, as well as "branching" of our
|
||||||
|
trees to maintain different strains of development.
|
||||||
|
|
||||||
|
Stable branches of the Fedora tree and associated
|
||||||
|
https://fedoraproject.org/wiki/Repositories[Repositories] are maintained
|
||||||
|
for each Fedora release. The
|
||||||
|
https://fedoraproject.org/wiki/Releases/Rawhide[Rawhide] rolling
|
||||||
|
development tree is the initial entry point for all Fedora development,
|
||||||
|
and the trunk from which all branches diverge. Releases are
|
||||||
|
https://fedoraproject.org/wiki/Releases/Branched[Branched] from Rawhide
|
||||||
|
some time before they are sent out as stable releases, and the milestone
|
||||||
|
releases (Alpha, Beta and Final) are all built from this Branched tree.
|
||||||
|
|
||||||
|
Nightly snapshot images of various kinds are built from Rawhide and
|
||||||
|
Branched (when it exists) and made available for download from within
|
||||||
|
the trees on the https://mirrors.fedoraproject.org/[mirrors] or from the
|
||||||
|
https://fedoraproject.org/wiki/Koji[Koji] build system.
|
||||||
|
|
||||||
|
The https://fedoraproject.org/wiki/Fedora_Release_Life_Cycle[Fedora
|
||||||
|
Release Life Cycle] page is a good entry point for more details on these
|
||||||
|
processes. Some other useful references regarding the Fedora release
|
||||||
|
process include:
|
||||||
|
|
||||||
|
* The https://fedoraproject.org/wiki/Changes/Policy[Release planning
|
||||||
|
process]
|
||||||
|
* The
|
||||||
|
https://fedoraproject.org/wiki/QA:Release_validation_test_plan[release
|
||||||
|
validation test plan]
|
||||||
|
* The https://fedoraproject.org/wiki/QA:Updates_Testing[updates-testing
|
||||||
|
process], via https://fedoraproject.org/wiki/Bodhi[Bodhi] and the
|
||||||
|
https://fedoraproject.org/wiki/Updates_Policy[Updates Policy]
|
||||||
|
* The https://fedoraproject.org/wiki/QA:SOP_compose_request[test compose
|
||||||
|
and release candidate system]
|
||||||
|
* The https://fedoraproject.org/wiki/QA:SOP_blocker_bug_process[blocker
|
||||||
|
bug process] and
|
||||||
|
https://fedoraproject.org/wiki/QA:SOP_freeze_exception_bug_process[freeze
|
||||||
|
exception bug process]
|
||||||
|
* The [.title-ref]#Repositories#
|
||||||
|
* The https://fedoraproject.org/wiki/Bugs_and_feature_requests[Bugzilla
|
||||||
|
system]
|
||||||
|
|
||||||
|
=== Final Release Checklist
|
||||||
|
|
||||||
|
Various tasks need to be accomplished prior to a final Fedora release.
|
||||||
|
Release Engineering is responsible for many of them, as outlined here.
|
||||||
|
|
||||||
|
==== Release Announcement
|
||||||
|
|
||||||
|
The https://fedoraproject.org/wiki/Docs_Project[Fedora Documentation
|
||||||
|
Project] prepares release announcements for the final releases. A
|
||||||
|
https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora%20Documentation&op_sys=Linux&target_milestone=---&bug_status=NEW&version=devel&component=release-notes&rep_platform=All&priority=normal&bug_severity=normal&assigned_to=relnotes%40fedoraproject.org&cc=&estimated_time_presets=0.0&estimated_time=0.0&bug_file_loc=http%3A%2F%2F&short_desc=RELNOTES%20-%20Summarize%20the%20release%20note%20suggestion%2Fcontent&comment=Provide%20details%20here.%20%20Do%20not%20change%20the%20blocking%20bug.&status_whiteboard=&keywords=&issuetrackers=&dependson=&blocked=151189&ext_bz_id=0&ext_bz_bug_id=&data=&description=&contenttypemethod=list&contenttypeselection=text%2Fplain&contenttypeentry=&maketemplate=Remember%20values%20as%20bookmarkable%20template&form_name=enter_bug[bug
|
||||||
|
needs to be filed] for this two weeks before the final release date.
|
||||||
|
|
||||||
|
==== Mirror List Files
|
||||||
|
|
||||||
|
A new set of mirror list files need to be created for the new release.
|
||||||
|
Email mailto:mirror-admin@fedoraproject.org[Fedora Mirror Admins] to
|
||||||
|
have these files created. These should be created at the Final Freeze
|
||||||
|
point but may redirect to Rawhide until final bits have been staged.
|
||||||
|
|
||||||
|
=== Release Composing
|
||||||
|
|
||||||
|
Fedora “releases” can be built by anyone with a fast machine of proper
|
||||||
|
arch and access to a package repository. All of the tools necessary to
|
||||||
|
build a release are available from the package repository. These tools
|
||||||
|
aim to provide a consistent way to build Fedora releases. A complete
|
||||||
|
release can actually be built with only a couple commands, including the
|
||||||
|
creation of network install images, offline install images ('DVDs'),
|
||||||
|
live images, disk images, install repositories, [[FedUp]] upgrade
|
||||||
|
images, and other bits. These commands are named pungi and
|
||||||
|
livecd-creator.
|
||||||
|
|
||||||
|
[NOTE]
|
||||||
|
.Note
|
||||||
|
====
|
||||||
|
There is work currently being done to replace livecd-creator with
|
||||||
|
https://github.com/rhinstaller/lorax/blob/master/src/sbin/livemedia-creator[livemedia-creator].
|
||||||
|
====
|
||||||
|
|
||||||
|
==== Pungi
|
||||||
|
|
||||||
|
https://pagure.io/pungi[Pungi] is the tool used to compose Fedora
|
||||||
|
releases. It requires being ran in a chroot of the package set that it
|
||||||
|
is composing. This ensures that the correct userland tools are used to
|
||||||
|
match up with the kernel that will be used to perform the installation.
|
||||||
|
It uses a comps file + yum repos to gather packages for the compose. The
|
||||||
|
https://fedoraproject.org/wiki/Koji[Koji] build system provides a way to
|
||||||
|
run tasks within chroots on the various arches, as well as the ability
|
||||||
|
to produce yum repos of packages from specific collections.
|
||||||
|
|
||||||
|
==== Livecd-creator
|
||||||
|
|
||||||
|
Livecd-creator is part of the
|
||||||
|
https://fedoraproject.org/wiki/FedoraLiveCD[livecd-tools] package in
|
||||||
|
Fedora and it is used to compose the live images as part of the Fedora
|
||||||
|
release. It is also used to compose many of the custom
|
||||||
|
https://spins.fedoraproject.org[Spins] or variants of Fedora.
|
||||||
|
|
||||||
|
=== Distribution
|
||||||
|
|
||||||
|
Once a compose has been completed, the composed tree of release media,
|
||||||
|
installation trees, and frozen
|
||||||
|
https://fedoraproject.org/wiki/Repositories[Repositories] needs to be
|
||||||
|
synchronized with the Fedora mirror system. [[MirrorManager]] has some
|
||||||
|
more details on the mirror system. Many of the images are also offered
|
||||||
|
via BitTorrent as an alternative method of downloading.
|
||||||
|
|
||||||
|
==== Download Mirrors
|
||||||
|
|
||||||
|
Depends on the Fedora Mirror System and infrastructure to populate them
|
||||||
|
privately.
|
||||||
|
|
||||||
|
==== BitTorrent
|
||||||
|
|
||||||
|
BitTorrent is currently served by http://torrent.fedoraproject.org.
|
||||||
|
Images are added to the system via this
|
||||||
|
https://infrastructure.fedoraproject.org/infra/docs/docs/sysadmin-guide/sops/torrentrelease.rst[Standard
|
||||||
|
Operating Procedure].
|
||||||
|
|
||||||
|
=== Acknowledgements
|
||||||
|
|
||||||
|
This document was influenced by
|
||||||
|
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/releng/article.html[release
|
||||||
|
engineering documents] from http://freebsd.org[FreeBSD].
|
|
@ -179,7 +179,7 @@ On batcave01.iad2.fedoraproject.org you can use ansible to force all the
|
||||||
proxies to sync the codec content from sundries01:
|
proxies to sync the codec content from sundries01:
|
||||||
|
|
||||||
....
|
....
|
||||||
# nsible -a '/usr/bin/rsync --delete -a --no-owner --no-group sundries01::codecs.fedoraproject.org/ /srv/web/codecs.fedoraproject.org/' proxies
|
# ansible -a '/usr/bin/rsync --delete -a --no-owner --no-group sundries01::codecs.fedoraproject.org/ /srv/web/codecs.fedoraproject.org/' proxies
|
||||||
....
|
....
|
||||||
|
|
||||||
Mirrorlist servers should update every 15min.
|
Mirrorlist servers should update every 15min.
|
Loading…
Add table
Add a link
Reference in a new issue