[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/sysadmin_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:release_process.adoc[Release process]
|
||||
** xref:mass_rebuild.adoc[Mass Rebuild]
|
||||
** xref:sop_file_ftbfs.adoc[File FTBFS bugs]
|
||||
** 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:
|
||||
|
||||
....
|
||||
# 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.
|
Loading…
Add table
Add a link
Reference in a new issue