#14 First pass at converting Anaconda docs to asciidoc
Merged 6 years ago by bex. Opened 6 years ago by jsmith.
fedora-docs/ jsmith/quick-docs master  into  master

file modified
+7 -3
@@ -44,13 +44,15 @@ 

      File: understanding-and-administering-systemd

    - Name: Creating RPM packages

      File: creating-rpm-packages

+   - Name: Repositories  

+     File: repositories

    - Name: Configuring X Window System using the xorg.conf file

      File: configuring-x-window-system-using-the-xorg-conf-file

    - Name: (CHECK) GRUB 2

      File: grub2

    - Name: (CHECK) Spotify

      File: spotify

-   - Name: (IN PROGRESS) Anaconda

+   - Name: Anaconda

      Dir: anaconda

      Topics:

        - Name: Anaconda
@@ -61,6 +63,10 @@ 

          File: anaconda_updates

        - Name: Anaconda Logging

          File: anaconda_logging

+       - Name: Anaconda Product Image

+         File: anaconda_product_image

+       - Name: Contribute to Anaconda

+         File: anaconda_contribute

    - Name: (FIX ME!) AutoUpdates

      File: autoupdates

    - Name: (FIX ME!) Building a custom kernel
@@ -107,8 +113,6 @@ 

      File: qemu

    - Name: (FIX ME!) Raspberry Pi

      File: raspberry-pi

-   - Name: (FIX ME!) Repositories

-     File: repositories

    - Name: (FIX ME!) How to reset a root password

      File: reset-root-password

    - Name: (FIX ME!) Using UEFI with QEMU

@@ -0,0 +1,17 @@ 

+ ////

+ 

+ This message needs to be included on any document referencing third party software

+ repositories. Add the following line verbatim to the top of any such document:

+ 

+ include::en-US/3rdparty-message.adoc[]

+ 

+ Please do not change this message without consultation. Thanks!

+ 

+ ////

+ 

+ [CAUTION]

+ ====

+ This page discusses third-party software sources not officially affiliated with or endorsed by the Fedora Project.

+ Use them at your own discretion.

+ Fedora recommends the use of free and open source software and avoidance of software encumbered by patents.

+ ====

file modified
+26 -20
@@ -3,16 +3,16 @@ 

  [caption="Entering Anaconda, Montana. A city probably named after this installation program. David Cantrell took this picture in 2011. His grey VW Jetta is parked in the background."]

  image::DSC_3217.JPG[Anaconda,400]

  

- Anaconda is the installation program used by Fedora, Red Hat Enterprise Linux and link:anaconda_distros.html[ some other distributions].

+ Anaconda is the installation program used by Fedora, Red Hat Enterprise Linux and link:anaconda_distros.html[some other distributions].

  

  During installation, a target computer's hardware is identified and configured, and the appropriate file systems for the system's architecture are created.

  Finally, Anaconda allows the user to install the operating system software on the target computer.

- Anaconda can also upgrade existing installations of earlier versions of the same distribution. 

+ Anaconda can also upgrade existing installations of earlier versions of the same distribution.

  After the installation is complete, you can reboot into your installed system and continue doing customization using https://fedoraproject.org/wiki/InitialSetup[initial setup].

  

  Anaconda is a fairly sophisticated installer.

  It supports installation from local and remote sources such as CDs and DVDs, images stored on a hard drive, NFS, HTTP, and FTP.

- Installation can be scripted with link:http://pykickstart.readthedocs.io/en/latest/[kickstart] to provide a fully unattended installation that can be duplicated on scores of machines.

+ Installation can be scripted with http://pykickstart.readthedocs.io/en/latest/[kickstart] to provide a fully unattended installation that can be duplicated on scores of machines.

  It can also be run over VNC on headless machines.

  A variety of advanced storage devices including LVM, RAID, iSCSI, and multipath are supported from the partitioning program.

  Anaconda provides advanced debugging features such as remote logging, access to the python interactive debugger, and remote saving of exception dumps.
@@ -25,9 +25,6 @@ 

  From time to time, we may distribute updates for Anaconda to fix problems in Fedora releases.

  The link:anaconda_updates.html[updates] page explains how to use these updates images.

  

- Need to see what's changed from release to release?

- See our link:Anaconda/Changes[migration guide] which summarizes changes for users, rebuilders, and contributors.

- 

  [id="advanced-users"]

  == Advanced Users

  
@@ -40,13 +37,14 @@ 

  [id="distribution-builders"]

  == Distribution Builders

  

- For information on how to customize Anaconda and trees created with it, please see link:Anaconda/ProductImage[product.img], link:Anaconda/BuildDocProject[BuildDocProject] and link:Anaconda/Customization[Customization].

+ For information on how to customize Anaconda and trees created with it, please see link:anaconda_product_image.html[product.img].

  

  [id="mailing-lists"]

  == Mailing Lists

  

  There are two mailing lists for Anaconda.

- The first is the development mailing list. This list is used to discuss development issues, submit patches, and other activities related to extending Anaconda.

+ The first is the development mailing list.

+ This list is used to discuss development issues, submit patches, and other activities related to extending Anaconda.

  The sign up for the development list is located at https://listman.redhat.com/mailman/listinfo/anaconda-devel-list[anaconda development list site].

  Past discussions can be found in the https://www.redhat.com/archives/anaconda-devel-list[anaconda development archives].

  
@@ -62,13 +60,13 @@ 

  [id="irc"]

  == IRC

  

- There is also an IRC channel on http://freenode.net.

+ There is also an IRC channel on link:http://freenode.net[FreeNode].

  This resource is for discussion of Anaconda development, not for distribution customization questions.

  

  [id="how-to-contribute"]

  == How to Contribute

  

- For how to contribute to Anaconda and related projects, see the https://fedoraproject.org/wiki/Anaconda/Contribute[Contributing to Anaconda and related projects] documentation.

+ For how to contribute to Anaconda and related projects, see the https://anaconda-installer.readthedocs.io/en/latest/contributing.html[Contributing to Anaconda and related projects] documentation.

  

  Please note that useful contributions are not limited to submitting patches for source code.

  You can also help with https://anaconda-installer.readthedocs.io/en/latest/testing.html[testing], reporting bugs, improving translations or extending the Anaconda documentation.
@@ -84,15 +82,16 @@ 

  More are in the works:

  

  * Anaconda/Devel/Translation

- * If you want to work on Anaconda, you should start with the link:Anaconda/SourceOverview[Source Overview], which contains a high level discussion of the source files and what they do. 

+ * If you want to work on Anaconda, you should start with the Anaconda/SourceOverview[Source Overview], which contains a high level discussion of the source files and what they do.

+ 

  Then look at the https://anaconda-installer.readthedocs.io/en/latest/[online documentation] for information on how to test, debug, and develop anaconda.

   

  Familiarize yourself with the tools that Anaconda uses.

  Check out the following external reference documents:

  

  * https://developer.gnome.org/gtk3/stable/[GTK+ reference]

- * https://docs.python.org/2/tutorial/[Python tutorial]

- * https://docs.python.org/2/py-modindex.html[Python module reference]

+ * https://docs.python.org/3/tutorial/[Python tutorial]

+ * https://docs.python.org/3/py-modindex.html[Python module reference]

  

  [id="getting-the-source"]

  == Getting the Source
@@ -100,6 +99,7 @@ 

  The primary methods of distributing the Anaconda source are source RPMs in the http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/source/SRPMS/[Fedora development tree] and git.

  To access the current source code in in non-rpm format, you'll need to install git.

  

+ [source,bash]

  ----

  $ dnf install git

  ----
@@ -107,6 +107,9 @@ 

  Note that several related packages will be installed as well.

  After the git source code management tool has been installed, then you use anonymous git access to the Anaconda repository.

  

+ If you would just like to browse the Anaconda git repository via the web, then please use the following https://github.com/rhinstaller/anaconda.git[Anaconda git URL].

+ 

+ [source,bash]

  ----

  $ git clone https://github.com/rhinstaller/anaconda.git

  ----
@@ -130,19 +133,20 @@ 

  ----

  

  If you have committer access to Anaconda, then you will want to use the git+ssh access url.

+ (GitHub also supports pushing changes via HTTPS, but may require you to re-authenticate every time you push your changes.)

  

+ [source,bash]

  ----

  $ git clone git+ssh://git@github.com/rhinstaller/anaconda.git

  ----

  

  Once you've committed changes locally, you can push them with

  

+ [source,bash]

  ----

  $ git push

  ----

  

- If you would just like to browse the Anaconda git repository via the web, then please use the following https://github.com/rhinstaller/anaconda.git[Anaconda git URLs].

- 

  Anaconda has an https://github.com/rhinstaller/kickstart-tests[extensive suite of tests] that is still growing.

  If you contribute new functionality, it's good practice to include some tests along with that.

  We have a https://anaconda-installer.readthedocs.io/en/latest/testing.html[document that outlines the test suite infratructure and describes how to run tests].
@@ -154,14 +158,16 @@ 

  

  If you are having difficulty installing, please file the problem report with your distribution vendor.

  

- Before filing a bug, please read up on link:How_to_debug_installation_problems[How to debug installation problems], which will tell you how to fill out useful bug reports that will help us quickly solve your problem.

+ Before filing a bug, please read up on link:https://fedoraproject.org/wiki/How_to_debug_installation_problems[debugging installation problems], which will tell you how to fill out useful bug reports that will help us quickly solve your problem.

  Also try searching bugzilla for other reports about your problem, as some bugs are often filed by several people.

  

- link:Anaconda/AnacondaBugWorkflow[AnacondaBugWorkflow] is a guideline to how Fedora Anaconda bugs pass through bugzilla, and what all the various statuses really mean. This is *only* for Fedora.

+ The https://fedoraproject.org/wiki/Anaconda/AnacondaBugWorkflow[Anaconda Bug Workflow] explains how Fedora Anaconda bugs pass through bugzilla, and what all the various statuses really mean.

+ This is *only* for Fedora.

+ 

+ Additionally, you can use this link:https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&classification=Fedora&component=anaconda&list_id=8454223&product=Fedora&query_format=advanced[Bugzilla query] to find all open Anaconda bugs.

  

- [[design]]

+ [id="design"]

  Design

  ~~~~~~

  

- * link:Anaconda/UX_Redesign[ Anaconda UX Redesign]

- * link:How_to_Create_an_Anaconda_Banner[ How to Create an Anaconda Banner]

+ link:https://fedoraproject.org/wiki/How_to_Create_an_Anaconda_Banner[How to Create an Anaconda Banner]

@@ -15,26 +15,32 @@ 

  == Logging on the installed system

  During the installation the logs are stored in the `/tmp` directory:

  

- * `/tmp/anaconda.log`, the general installation information, particularly the step changes.

- * `/tmp/storage.log`, storage devices scan and manipulation (hard drives, partitions, LVM, RAID), partitioning

- * `/tmp/program.log`, calls to external programs, their output

- * `/tmp/syslog`, messages from kernel and external programs (Network Manager)

- * `/tmp/yum.log`, yum's internal log

- * `/tmp/dnf.log`, link:http://www.fedoraproject.org/wiki/Dnf[DNF]'s internal log

- * `/tmp/dnf.hawkey.log`, link:http://www.fedoraproject.org/wiki/Dnf[DNF]'s Hawkey internal log

- * `/tmp/dnf.rpm.log`, link:http://www.fedoraproject.org/wiki/Dnf[DNF]'s RPM internal log

+ === Log files

+ 

+ `/tmp/anaconda.log`:: the general installation information, particularly the step changes.

+ `/tmp/storage.log`:: storage devices scan and manipulation (hard drives, partitions, LVM, RAID), partitioning

+ `/tmp/program.log`:: calls to external programs, their output

+ `/tmp/syslog`:: messages from kernel and external programs (Network Manager)

+ `/tmp/yum.log`:: yum's internal log

+ `/tmp/dnf.log`:: link:https://www.fedoraproject.org/wiki/Dnf[DNF]'s internal log

+ `/tmp/dnf.hawkey.log`:: link:https://www.fedoraproject.org/wiki/Dnf[DNF]'s Hawkey internal log

+ `/tmp/dnf.rpm.log`:: link:https://www.fedoraproject.org/wiki/Dnf[DNF]'s RPM internal log

  

  Certain log messages are also written to the terminals:

  

- * `/dev/tty3`, messages from `anaconda.log`, `storage.log` and `yum.log`.

- * `/dev/tty4`, same as `syslog`

- * `/dev/tty5`, stdout and stderr from external programs +

+ === TTY devices

+ 

+ `/dev/tty3`:: messages from `anaconda.log`, `storage.log` and `yum.log`.

+ `/dev/tty4`:: same as `syslog`

+ `/dev/tty5`:: stdout and stderr from external programs +

+ 

  `tty3` and `tty4` reflect certain log files.

  Log files always contain messages from all the loglevels, including debug, but the minimal loglevel on the terminals can be controlled with the `loglevel` link:https://anaconda-installer.readthedocs.io/en/latest/boot-options.html#inst-loglevel[command line option].

  

  There are two other log files created on the target filesystem, in the `/root` directory, also accessible at `/mnt/sysimage/root` during the installation:

- * `/mnt/sysimage/root/install.log`, log of the package installation process.

- * `/mnt/sysimage/root/install.log.syslog`, messages from installation chroot logged through the system's syslog.

+ 

+ `/mnt/sysimage/root/install.log`:: log of the package installation process.

+ `/mnt/sysimage/root/install.log.syslog`:: messages from installation chroot logged through the system's syslog.

  

  Mostly information about users and groups created during dnf|yum's package installation.

  
@@ -109,16 +115,16 @@ 

  Also notice that it uses the same message format for remote logging as anaconda does, but you can of course modify this to specify any format you want.

  

  === See also

- * [http://www.rsyslog.com/doc Rsyslog documentation]

+ * link:http://www.rsyslog.com/doc[Rsyslog documentation]

  * `man tailf`

  

  == Remote logging via virtio

- QEMU/KVM in Fedora 13 and onwards allows one to create virtual machines with [[Features/VirtioSerial|multiple virtio char devices]] exposed to the guest machine.

+ QEMU/KVM in Fedora 13 and onwards allows one to create virtual machines with link:http://fedoraprojet.org/wiki/Features/VirtioSerial[multiple virtio char devices] exposed to the guest machine.

  One such device can be used to forward anaconda logs to the host machine.

  In that way we can get logs forwarded in real time, as soon the anaconda logging subsystem is initialized (early) and not need to wait for the network to come up.

  Also, it's the only way to forward the logs in a no-network setup.

  

- === Configuration

+ === Remote Logging Configuration

  Anaconda will be forwarding logs over virtio automatically if it is able to find the port `/dev/virtio-ports/org.fedoraproject.anaconda.log.0"`.

  This is port is created using a libvirt XML directive that wires it to a TCP socket on the host's side.

  It's then possible to read the logs from there directly, or make an rsyslog instance to parse them and file them into respective files.
@@ -126,11 +132,10 @@ 

  

  

  ----

-   Anaconda--->rsyslog(guest)--->virtio(guest char device)--->kvm hypervisor--->virtio(TCP socket)

-                                                                                   |

-                                                                                   v

-                                                         forwarded log files<---rsyslog(host)

- 

+ Anaconda--->rsyslog(guest)--->virtio(guest char device)--->kvm hypervisor--->virtio(TCP socket)

+                                                                                 |

+                                                                                 v

+                                                       forwarded log files<---rsyslog(host)

  ----

  

  Step by step instructions to set everything up follow:
@@ -139,6 +144,7 @@ 

  . Add the virtio-serial port to your virtual machine, direct it to the TCP port 6080 on the host.

  Start by editing the guest configuration:`virsh edit <machine name>`

  . In the guest editor, add following information into the `<devices>` section:

+ [source,xml]

  ----

  <channel type='tcp'>

    <source mode='connect' host='127.0.0.1' service='6080'/>
@@ -171,54 +177,59 @@ 

  * if both remote TCP logging via `syslog=` and remote virtio logging via `virtiolog=` are specified on the command line, one has to setup two rsyslogd instances on the server/host to listen to both the connections otherwise the sending rsyslog's queues get full and the forwarding stops.

  

  === See also

- * link:http://fedoraproject.org/wiki/Features/VirtioSerial[VirtioSerial]

- * [http://wiki.libvirt.org/page/Virtio Virtio at the libvirt wiki]

+ * link:https://fedoraproject.org/wiki/Features/VirtioSerial[VirtioSerial]

+ * link:http://wiki.libvirt.org/page/Virtio[Virtio at the libvirt wiki]

  * link:http://libvirt.org/formatdomain.html#elementsConsole[libvirt domain XML format]

  

  == Anaconda logs on the running system

  After every successful installation, anaconda logs are copied into `/var/log` on the system you just installed.

  To avoid name clashes with other log files there, the anaconda logs are renamed:

  

- {| 

- ! Name during installation !! Name on the target system

- |-

- | `/tmp/anaconda.log` || `/var/log/anaconda.log`

- |- 

- | `/tmp/syslog` || `/var/log/anaconda.syslog`

- |- 

- | `/tmp/X.log` || `/var/log/anaconda.xlog`

- |- 

- | `/tmp/program.log` || `/var/log/anaconda.program.log`

- |- 

- | `/tmp/storage.log` || `/var/log/anaconda.storage.log`

- |-

- | `/tmp/yum.log` || `/var/log/anaconda.yum.log`

- |-

- | `/tmp/ifcfg.log` (new in F14) || not copied

- |}

+ [%header,cols=2*]

+ |====

+ | Name during installation | Name on the target system 

+ | `/tmp/anaconda.log` | `/var/log/anaconda.log` 

+ | `/tmp/syslog` | `/var/log/anaconda.syslog` 

+ | `/tmp/X.log` | `/var/log/anaconda.xlog` 

+ | `/tmp/program.log` | `/var/log/anaconda.program.log` 

+ | `/tmp/storage.log` | `/var/log/anaconda.storage.log` 

+ | `/tmp/yum.log` | `/var/log/anaconda.yum.log` 

+ | `/tmp/ifcfg.log` (new in F14) | not copied 

+ |====

  

  Starting with Fedora 15 (or post F14 Rawhide), the logs go to `/var/log/anaconda` directory on the target system, including ifcfg.log inroduced in F14.

  

  == Logging tips

  

  If you are asked to provide logs for a bugzilla, your best option is switching from the anaconda GUI to tty2 and then use scp to copy the files to your computer, e.g.:

-  cd /tmp

-  scp anaconda.log aklap:/home/akozumpl/

+ 

+ [source,bash]

+ ----

+ $ cd /tmp

+ $ scp anaconda.log aklap:/home/akozumpl/

+ ----

  

  It is also possible to make a complete dump of a state of running anaconda process (the same dump that is compiled automatically if an unhandled exception occurs).

  To do this send the main anaconda process SIGUSR2:

-  kill -USR2 `cat /var/run/anaconda.pid``

+ 

+ [source,bash]

+ ----

+ $ kill -USR2 `cat /var/run/anaconda.pid``

+ ----

  

  This builds a file `/tmp/anaconda-tb-?????` that also contains `anaconda.log`, `storage.log` and `syslog`.

  

  If you are on a KVM virtual machine and there's no scp available (stage1), you can (after setting up the network if not up already) redirect to a special tcp file, on host:

-  nc -l 4444 > syslog.log

  

- on guest:

-  ifconfig eth0 10.0.2.10/24 up

-  grep "" /tmp/syslog > /dev/tcp/10.0.2.2/4444

+ [source,bash]

+ ----

+ $ nc -l 4444 > syslog.log

+ ----

  

- == To do

- * The current list of logging requirements and tasks is maintained in bugzilla [https://bugzilla.redhat.com/show_bug.cgi?id=524980 524980].

- * A support for KVM's virtio logging is coming later [https://bugzilla.redhat.com/show_bug.cgi?id=576439 576439].

+ on guest:

  

+ [source,bash]

+ ----

+ $ ifconfig eth0 10.0.2.10/24 up

+ $ grep "" /tmp/syslog > /dev/tcp/10.0.2.2/4444

+ ----

@@ -0,0 +1,29 @@ 

+ = Creating a Product image

+ 

+ Anaconda supports several ways to load new code at runtime.

+ Passing `inst.updates=<url>` is one way to do this and is documented on the link:anaconda_updates.html[updates] page.

+ Another is to include a product.img in the install tree, inside the `/images/` directory.

+ It will be applied at runtime and can overwrite any file on the system, just like the updates.img.

+ 

+ One use for a product.img is to add a new installclass to Anaconda.

+ A product image for a new installclass can be created from a directory of files like this:

+ 

+ [source,bash]

+ ----

+ $ mkdir -p product/run/install/product/pyanaconda/installclasses/

+ $ vim product/run/install/product/pyanaconda/installclasses/custom.py

+ ----

+ 

+ Create new installclass, see link:https://github.com/rhinstaller/anaconda/tree/master/pyanaconda/installclasses[Anaconda code] for examples.

+ Now you can create the product.img:

+ 

+ [source,bash]

+ ----

+ $ cd product/

+ $ find . | cpio -c -o | pigz -9cv > ../product.img

+ ----

+ 

+ Now you can include product.img in the tree, inside `/images/`.

+ 

+ Alternatively you can now use lorax to create product.img as part of the boot.iso creation process.

+ This is supported by lorax-21.27-1 and is documented link:http://rhinstaller.github.io/lorax/product-images.html[here] in the Lorax source tree.

@@ -39,6 +39,7 @@ 

  This can be done only with an ext2 filesystem type of updates.img.

  For a floppy drive, insert your floppy and then run

  

+ [source,bash]

  ----

  $ dd if=updates.img of=/dev/fd0 bs=72k count=20

  ----
@@ -75,6 +76,7 @@ 

  

  The easiest way to create an image is to run

  

+ [source,bash]

  ----

  $ ./configure

  $ make updates
@@ -85,6 +87,7 @@ 

  Remember to use the correct git branch for the Fedora release you are working on or testing.

  If you need finer control over this process (like creating an image from an even older release), or you don't want to run ./configure first (the make command will fail unless ./configure has been run), run

  

+ [source,bash]

  ----

  $ scripts/makeupdates

  ----
@@ -96,6 +99,7 @@ 

  It can also include shared libraries, graphics, other python modules, and certain data files used by anaconda.

  To add files to an existing image (or create an entirely new one), just do the following:

  

+ [source,bash]

  ----

  $ scripts/upd-updates updates.img file1 file2 ...

  ----
@@ -106,6 +110,7 @@ 

  Another way to create an image containing files outside of Anaconda is to create the required filesystem structure and compress it manually.

  For example, let's say you want to overwrite some configuration file in `/etc`:

  

+ [source,bash]

  ----

  $ mkdir -p updates/etc/

  $ cp my.cfg updates/etc/
@@ -119,12 +124,14 @@ 

  `updates.img` files provided by the Fedora project and generated by the makeupdates script are compressed cpio archives.

  To examine one of these files, use `lsinitrd`:

  

+ [source,bash]

  ----

  $ lsinitrd updates.img

  ----

  

  To explode one, do the following:

  

+ [source,bash]

  ----

  $ mkdir dest

  $ cd dest
@@ -135,25 +142,25 @@ 

  === Available Options

  

  ----

-     usage: makeupdates [-h] [-k] [-c] [-t TAG] [-o OFFSET] [-p]

-                        [-a PATH_TO_RPM [PATH_TO_RPM ...]] [-f ARCH] [-b BUILDDIR]

-     

-     Make Anaconda updates image

-     

-     optional arguments:

-       -h, --help            show this help message and exit

-       -k, --keep            do not delete updates subdirectory

-       -c, --compile         compile code if there are isys changes

-       -t TAG, --tag TAG     make updates image from TAG to HEAD

-       -o OFFSET, --offset OFFSET

-                             make image from (latest_tag - OFFSET) to HEAD

-       -p, --po              update translations

-       -a PATH_TO_RPM [PATH_TO_RPM ...], --add PATH_TO_RPM [PATH_TO_RPM ...]

-                             add contents of RPMs to the updates image

-       -f ARCH, --fetch ARCH

-                             autofetch new dependencies from Koji for ARCH

-       -b BUILDDIR, --builddir BUILDDIR

-                             build directory for shared objects

+ usage: makeupdates [-h] [-k] [-c] [-t TAG] [-o OFFSET] [-p]

+                    [-a PATH_TO_RPM [PATH_TO_RPM ...]] [-f ARCH] [-b BUILDDIR]

+ 

+ Make Anaconda updates image

+ 

+ optional arguments:

+   -h, --help            show this help message and exit

+   -k, --keep            do not delete updates subdirectory

+   -c, --compile         compile code if there are isys changes

+   -t TAG, --tag TAG     make updates image from TAG to HEAD

+   -o OFFSET, --offset OFFSET

+                         make image from (latest_tag - OFFSET) to HEAD

+   -p, --po              update translations

+   -a PATH_TO_RPM [PATH_TO_RPM ...], --add PATH_TO_RPM [PATH_TO_RPM ...]

+                         add contents of RPMs to the updates image

+   -f ARCH, --fetch ARCH

+                         autofetch new dependencies from Koji for ARCH

+   -b BUILDDIR, --builddir BUILDDIR

+                         build directory for shared objects

  ----

  

  === Including Updates for an Older Installation Image

file modified
+1 -1
@@ -528,7 +528,7 @@ 

  bumblebee-nvidia --force

  ....

  

- via su as root or via sudo. And the primus bridge should work after

+ via `su` as root or via `sudo`. And the primus bridge should work after

  that. You can track this issue upstream

  https://github.com/amonakov/primus/issues/193[here].

  

@@ -1,11 +1,11 @@ 

- = How to debug Systemd problems

+ = How to debug systemd problems

  

  '''

  

  [IMPORTANT]

  ======

  

- This page was automatically converted from https://fedoraproject.org/wiki/How_to_debug_Systemd_problems

+ This page was automatically converted from https://fedoraproject.org/wiki/How_to_debug_systemd_problems

  

  It is probably

  
@@ -33,7 +33,7 @@ 

  

  *Foreword*

  

- If you are experiencing a problem with system boot up due to Systemd,

+ If you are experiencing a problem with system boot up due to systemd,

  please see the link:Bugs/Common[common bugs] document before filing a

  bug. Some easy configuration tweaks that fix a wide range of issues may

  be listed there. If the problem you are seeing is not listed there or
@@ -88,7 +88,7 @@ 

  In the above example the multi-user.target )

  

  [[systemd-boot-parameters]]

- Systemd boot parameters

+ systemd boot parameters

  -----------------------

  

  The following boot parameters are also available to further assist with

file modified
+2
@@ -1,5 +1,7 @@ 

  = Flash

  

+ include::en-US/3rdparty-message.adoc[]

+ 

  '''

  

  [IMPORTANT]

file modified
+14 -1
@@ -9,6 +9,19 @@ 

  

  So, this is kind of a seed project. *Your help wanted!*

  

+ == Other Source Material

+ 

+ There is a https://fedoraproject.org/wiki/Category:How_to[How To category]

+ on the wiki. Many of those documents are ripe for conversion.

+ https://ask.fedoraproject.org/en/questions/scope:all/sort:votes-desc/page:1/[Popular

+ questions on Ask Fedora] are also likely to be useful starting points — or,

+ also, frequent

+ https://unix.stackexchange.com/questions/tagged/fedora?sort=frequent&pageSize=50[Fedora

+ questions on Stack Exchange].

+ 

+ Or, of course, if there's something you care about which you can help

+ explain, you can create a new document from scratch.

+ 

  == Steps

  

  1. Pick a document to update.
@@ -16,7 +29,7 @@ 

  3. Make your changes to the `.adoc` file you want to improve.

  4. Update `_topic_map.yml` to remove "`(FIX ME!)`"

  5. Submit a pull request with your improvements.

- 6. Create a redirect on the old wiki page — see below.

+ 6. If migrating a wiki page, create a redirect on the old page — see below.

  

  == Wiki Redirects

  

@@ -1,6 +1,8 @@ 

  [i='installing-chromium-or-google-chrome-browsers']

  = Installing Chromium or Google Chrome browsers

  

+ include::en-US/3rdparty-message.adoc[]

+ 

  include::en-US/modules/concept_chromium-web-browser.adoc[leveloffset=+1]

  

  include::en-US/modules/proc_installing-chromium-web-browser.adoc[leveloffset=+1]

@@ -1,7 +1,7 @@ 

  [[installing-software-from-source]]

  = Installing Software from Source

  

- The following section contains guidelines and best practices for installing software form source on Fedora.

+ The following section contains guidelines and best practices for installing software from source code on Fedora.

  The instructions below are not prescriptive, but following them minimizes the risk of errors occurring during installation.

  

  include::en-US/modules/con_package-management-in-fedora.adoc[leveloffset=+1]

@@ -2,4 +2,6 @@ 

  

  Installing the Spotify music service client on Fedora.

  

+ include::en-US/3rdparty-message.adoc[]

+ 

  include::en-US/modules/proc_installing-spotify-on-fedora.adoc[leveloffset=+1]

@@ -1,7 +1,7 @@ 

  [id='understanding-systemd']

- = Understanding Systemd

+ = Understanding systemd

  

- Systemd is a system and service manager for Linux, compatible with SysV and LSB init scripts. Systemd provides:

+ systemd is a system and service manager for Linux, compatible with SysV and LSB init scripts. systemd provides:

  

  * Aggressive parallelization capabilities

  * Uses socket and D-Bus activation for starting services
@@ -10,9 +10,9 @@ 

  * Maintains mount and automount points

  * Implements an elaborate transactional dependency-based service control logic.

  

- The `systemctl` command is the primary tool to manage Systemd. It combines the functionality of SysVinit's `service` and `chkconfig` commands into a single tool you can use to enable and disable services permanently or only for the current session.

+ The `systemctl` command is the primary tool to manage systemd. It combines the functionality of SysVinit's `service` and `chkconfig` commands into a single tool you can use to enable and disable services permanently or only for the current session.

  

- Systemd manages _units_, which are representations of system resources and services. This following list shows the unit types that Systemd can manage:

+ systemd manages _units_, which are representations of system resources and services. This following list shows the unit types that systemd can manage:

  

  service::

    A service on the system, including instructions for starting, restarting, and stopping the service.
@@ -21,10 +21,10 @@ 

    A network socket associated with a service.

  

  device::

-   A device specifically managed with Systemd.

+   A device specifically managed with systemd.

  

  mount::

-   A mountpoint managed with Systemd.

+   A mountpoint managed with systemd.

  

  automount::

    A mountpoint automatically mounted on boot.
@@ -42,10 +42,10 @@ 

    A timer to schedule activation of another unit.

  

  snapshot::

-   A snapshot of the current Systemd state. Usually used to rollback after making temporary changes to Systemd.

+   A snapshot of the current systemd state. Usually used to rollback after making temporary changes to systemd.

  

  slice::

    Restrivtion of resources through Linux Control Group nodes (cgroups).

  

  scope::

-   Information from Systemd bus interfaces. Usually used to manage external system processes.

+   Information from systemd bus interfaces. Usually used to manage external system processes.

@@ -1,5 +1,5 @@ 

  [id='con_what-is-sudo']

- = What is sudo

+ = What is sudo?

  

  The [command]`sudo` command allows users to gain administrative or root access. When trusted users precede an administrative command with [command]`sudo`, they are prompted for their own password. Then, when they have been authenticated and assuming that the command is permitted, the administrative command is executed as if they were the root user.

  

@@ -1,13 +1,13 @@ 

  [#converting-sysvinit-services]

  = Converting SysVinit services

  

- Older versions of Fedora use SysVinit scripts to manage services. This section provides some guidelines on how to convert a SysVinit script to a Systemd equivalent.

+ Older versions of Fedora use SysVinit scripts to manage services. This section provides some guidelines on how to convert a SysVinit script to a systemd equivalent.

  

  .Prerequisites

  

  * You are logged in as a user with administrator-level permissions.

  

- * You have a custom SysVinit script to convert to a Systemd configuration.

+ * You have a custom SysVinit script to convert to a systemd configuration.

  

  .Procedure

  
@@ -17,14 +17,14 @@ 

  # chkconfig: 235 20 80

  ----

  +

- Systemd uses targets instead of runlevels. Use the table in <<#converting-sysvinit-services>> to map the runlevels to targets. In this example, runlevels 2, 3, and 5 are all multi-user runlevels, so the Systemd service can use the following:

+ systemd uses targets instead of runlevels. Use the table in <<#converting-sysvinit-services>> to map the runlevels to targets. In this example, runlevels 2, 3, and 5 are all multi-user runlevels, so the systemd service can use the following:

  +

  ----

  [Install]

  WantedBy=multi-user.target

  ----

  +

- If you enable the custom Systemd service to start at boot (`systemctl enable foo.service`), Systemd loads the service when loading the `multi-user.target` at boot time.

+ If you enable the custom systemd service to start at boot (`systemctl enable foo.service`), systemd loads the service when loading the `multi-user.target` at boot time.

  

  . Identify the dependent services and targets. For example, if the custom service requires network connectivity, specify the `network.target` as a dependency:

  +
@@ -34,7 +34,7 @@ 

  Requires=network.target

  ----

  

- . Identify the command used to start the service in the SysVinit script and convert this to the Systemd equivalent. For example, the script might contain a `start` function in the following format:

+ . Identify the command used to start the service in the SysVinit script and convert this to the systemd equivalent. For example, the script might contain a `start` function in the following format:

  +

  [source,bash]

  ----
@@ -89,7 +89,7 @@ 

  +

  Alternatively, you can omit `ExecStop` and use the default behavior, which kills the service.

  

- . Review the SysVinit script and identify any additional parameters or functions. Use Systemd parameters to replicate any identified SysVinit functions that might be relevant to your service.

+ . Review the SysVinit script and identify any additional parameters or functions. Use systemd parameters to replicate any identified SysVinit functions that might be relevant to your service.

  

  .Related Information

  

@@ -1,5 +1,5 @@ 

  [#creating-new-systemd-services]

- = Creating new Systemd services

+ = Creating new systemd services

  

  This example shows how to create a unit file for a custom service. Custom unit files are located in `/etc/systemd/system/` and have a `.service` extension. For example, a custom `foo` service uses `/etc/systemd/system/foo.service` unit file.

  
@@ -22,9 +22,9 @@ 

  .. The `[Unit]` section provides basic information about the service. The `foo` service uses the following parameters:

  +

  `Description`::

-   A string describing the unit. Systemd displays this description next to the unit name in the user interface. 

+   A string describing the unit. systemd displays this description next to the unit name in the user interface. 

  `Requires`::

-   Defines unit to use as a dependency for the service. If you activate the unit, Systemd activates the units listed in `Requires` as well. For example, the `foo` service might require network connectivity, which means the `foo` services requires `network.target` as a dependency. 

+   Defines unit to use as a dependency for the service. If you activate the unit, systemd activates the units listed in `Requires` as well. For example, the `foo` service might require network connectivity, which means the `foo` services requires `network.target` as a dependency. 

  +

  The resulting `[Unit]` section looks like this:

  +
@@ -37,7 +37,7 @@ 

  .. The `[Service]` section provides instructions on how to control the service. The `foo` service uses the following parameters:

  +

  `Type`::

-   Defines the type of Systemd service. In this example, the `foo` service is a `simple` service, which starts the service without any special consideration.

+   Defines the type of systemd service. In this example, the `foo` service is a `simple` service, which starts the service without any special consideration.

  `ExecStart`::

    The command to run to start the service. This includes the full path to the command and arguments to modify the service.

  +
@@ -49,10 +49,10 @@ 

  ExecStart=/usr/bin/sleep infinity

  ----

  

- .. The `[Install]` section provides instructions on how Systemd installs the service. The `foo` service uses the following parameters:

+ .. The `[Install]` section provides instructions on how systemd installs the service. The `foo` service uses the following parameters:

  +

  `WantedBy`::

-   Defines which service triggers the custom service if enabled with `systemctl enable`. This is mostly used for starting the custom service on boot. In this example, `foo.service` uses `multi-user.target`, which starts `foo.service` when Systemd loads `multi-user.target` on boot.

+   Defines which service triggers the custom service if enabled with `systemctl enable`. This is mostly used for starting the custom service on boot. In this example, `foo.service` uses `multi-user.target`, which starts `foo.service` when systemd loads `multi-user.target` on boot.

  

  . The full `foo.service` file contains the following contents:

  +

@@ -1,5 +1,5 @@ 

  [#modifying-existing-systemd-services]

- = Modifying existing Systemd services

+ = Modifying existing systemd services

  

  This example shows how to modify an existing service. The files for service modification are stored in a directory within `/etc/systemd/system`. This directory is named after the service. For example, this procedure modifies the `httpd` service.

  
@@ -7,7 +7,7 @@ 

  

  * You are logged in as a user with administrator-level permissions.

  

- * You have a configured `httpd` server running through Systemd.

+ * You have a configured `httpd` server running through systemd.

  

  .Procedure

  

@@ -1,7 +1,7 @@ 

  [#starting-stopping-and-querying-systemd-services]

- = Starting, stopping, and querying Systemd services

+ = Starting, stopping, and querying systemd services

  

- You can perform various management tasks to control Systemd services using the `systemctl` command. The following is a set of example commands to demonstrate how to use `systemctl` to manage Systemd services.

+ You can perform various management tasks to control systemd services using the `systemctl` command. The following is a set of example commands to demonstrate how to use `systemctl` to manage systemd services.

  

  .Prerequisites

  

@@ -3,7 +3,7 @@ 

  

  .Unit Parameters

  

- This section contains parameters you can use in the `[Unit]` section of a service. These parameters are common to other Systemd units.

+ This section contains parameters you can use in the `[Unit]` section of a service. These parameters are common to other systemd units.

  

  This list is a summarized version. For a full list of these parameters and their descriptions, run `man systemd.unit`.

  
@@ -14,7 +14,7 @@ 

    A space-separated list of URIs referencing documentation for this service or its configuration. Accepted are only URIs of the following types: `http://`, `https://`, `file:`, `info:`, `man:`. 

  

  Requires::

-   Configures requirement dependencies on other services. If this service gets activated, the units listed here are activated too. If one of the dependent services fails to activate, Systemd does not start this service. This option may be specified more than once or you can specify multiple space-separated units.

+   Configures requirement dependencies on other services. If this service gets activated, the units listed here are activated too. If one of the dependent services fails to activate, systemd does not start this service. This option may be specified more than once or you can specify multiple space-separated units.

  

  Wants::

    Similar to `Requires`, except failed units do not have any effect on the service.
@@ -36,7 +36,7 @@ 

  

  .Install Parameters

  

- This section contains parameters you can use in the `[Install]` section of a service. These parameters are common to other Systemd units.

+ This section contains parameters you can use in the `[Install]` section of a service. These parameters are common to other systemd units.

  

  This list is a summarized version. For a full list of these parameters and their descriptions, run `man systemd.unit`.

  
@@ -51,7 +51,7 @@ 

  

  .Service Parameters

  

- This section contains parameters you can use in the `[Service]` section of a service unit. These parameters are specific only to Systemd service units.

+ This section contains parameters you can use in the `[Service]` section of a service unit. These parameters are specific only to systemd service units.

  

  This list is a summarized version. For a full list of these parameters and their descriptions, run `man systemd.unit`.

  
@@ -60,7 +60,7 @@ 

  +

  * `simple` - The service starts as the main process. This is the default.

  * `forking` - The service calls forked processes and run as part of the main daemon.

- * `oneshot` - Similar to `simple`, except the process must exits before Systemd starts follow-up services.

+ * `oneshot` - Similar to `simple`, except the process must exits before systemd starts follow-up services.

  * `dbus` - Similar to `simple`, except the daemon acquires a name of the D-Bus bus.

  * `notify` - Similar to `simple`, except the daemon sends a motification message using `sd_notify` or an equivalent call after starting up.

  * `idle` - Similar to `simple`, except the execution of the service is delayed until all active jobs are dispatched.
@@ -69,10 +69,10 @@ 

    A boolean value that specifies whether the service shall be considered active even if all its processes exited. Defaults to no.

  

  GuessMainPID::

-   A boolean value that specifies whether Systemd should guess the main PID of a service if it cannot be determined reliably. This option is ignored unless `Type=forking` is set and `PIDFile` is not set. Defaults to yes.

+   A boolean value that specifies whether systemd should guess the main PID of a service if it cannot be determined reliably. This option is ignored unless `Type=forking` is set and `PIDFile` is not set. Defaults to yes.

  

  PIDFile::

-   An absolute filename pointing to the PID file of this daemon. Use of this option is recommended for services where `Type=forking`. Systemd reads the PID of the main process of the daemon after start-up of the service. Systemd does not write to the file configured here, although it removes the file after the service has shut down. 

+   An absolute filename pointing to the PID file of this daemon. Use of this option is recommended for services where `Type=forking`. systemd reads the PID of the main process of the daemon after start-up of the service. systemd does not write to the file configured here, although it removes the file after the service has shut down. 

  

  BusName::

    A D-Bus bus name to reach this service. This option is mandatory for services where `Type=dbus`.

@@ -1,16 +1,16 @@ 

  [#mapping-runlevels-to-targets]

  = Mapping runlevels to targets

  

- Systemd targets serve a similar purpose to SysVinit runlevels but act a little different. Each target has a name instead of a number and each serves a specific purpose. Systemd implements some targets by inheriting all of the services of another target and adding additional services to it. Some Systemd targets mimic the common sysvinit runlevels, which means you can switch targets with the familiar `telinit RUNLEVEL` command. The runlevels assigned a specific purpose on vanilla Fedora installs (0, 1, 3, 5, and 6) have a 1:1 mapping with a specific systemd target.

+ systemd targets serve a similar purpose to SysVinit runlevels but act a little different. Each target has a name instead of a number and each serves a specific purpose. systemd implements some targets by inheriting all of the services of another target and adding additional services to it. Some systemd targets mimic the common sysvinit runlevels, which means you can switch targets with the familiar `telinit RUNLEVEL` command. The runlevels assigned a specific purpose on vanilla Fedora installs (0, 1, 3, 5, and 6) have a 1:1 mapping with a specific systemd target.

  

  However, this is not the case for user-defined runlevels 2 and 4. To make use of those runlevels, create a new named systemd target such as `/etc/systemd/system/$YOURTARGET` that takes one of the existing runlevels as a base, make a directory `/etc/systemd/system/$YOURTARGET.wants`, and then symlink the additional services to enable into that directory.

  

- The following is a mapping of SysVinit runlevels to Systemd targets.

+ The following is a mapping of SysVinit runlevels to systemd targets.

  

  [cols="2,5,5",options="header"]

  .Runlevel to target mapping

  |===

- |Sysvinit Runlevel |Systemd Target |Notes

+ |Sysvinit Runlevel |systemd Target |Notes

  

  |0 |runlevel0.target, poweroff.target |Halt the system.

  

@@ -1,13 +1,13 @@ 

  [#mapping-service-commands]

  = Mapping service commands

  

- The following table demonstrates the Systemd equivalent of SysVinit commands.

+ The following table demonstrates the systemd equivalent of SysVinit commands.

  

  NOTE: All recent versions of systemctl assume the `.service` suffix if left off the service name. For example, `systemctl start frobozz.service` is the same as `systemctl start frobozz`.

  

  [cols=",,",options="header",]

  |===

- |Sysvinit Command |Systemd Command |Notes

+ |Sysvinit Command |systemd Command |Notes

  |`service frobozz start`|`systemctl start frobozz`|Used to start a service (not reboot persistent)

  

  |`service frobozz stop`|`systemctl stop frobozz`|Used to stop a service (not reboot persistent)
@@ -39,4 +39,4 @@ 

  |`chkconfig frobozz --add`|`systemctl daemon-reload`|Used when you create a new service file or modify any configuration

  |===

  

- NOTE: All `/sbin/service` and `/sbin/chkconfig` commands listed in the table continue to work on Systemd-based systems and are translated to native equivalents as necessary. The only exception is `chkconfig --list`.

+ NOTE: All `/sbin/service` and `/sbin/chkconfig` commands listed in the table continue to work on systemd-based systems and are translated to native equivalents as necessary. The only exception is `chkconfig --list`.

file modified
+1 -1
@@ -251,7 +251,7 @@ 

  configuration as well; see section selinux.

  

  Please follow the systemd documentation

- http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F[2]

+ http://fedoraproject.org/wiki/systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F[2]

  for more details.

  

  [[postgresql.conf]]

file modified
+89 -347
@@ -1,386 +1,128 @@ 

  = Repositories

+ :FedoraVersionNumberNext: 28

+ :FedoraVersionNumber: 27

  

- '''

- 

- [IMPORTANT]

- ======

+ This page explains the various Fedora repositories that exist for

+ different Fedora Releases, the relationship between them, and what

+ packages they contain.

  

- This page was automatically converted from https://fedoraproject.org/wiki/Repositories

+ [[the-fedora-repository]]

+ == The fedora repository

  

- It is probably

+ The _fedora_ repository exists for all Fedora releases after they have link:Releases/Branched[Branched] from link:Releases/Rawhide[Rawhide]. It is represented for Yum or http://dnf.baseurl.org/[DNF] in the `fedora.repo` file in the repository path. For any Fedora installation, this repository will be enabled by default, and should usually remain so.

  

- * Badly formatted

- * Missing graphics and tables that do not convert well from mediawiki

- * Out-of-date

- * In need of other love

+ [[the-fedora-repository-in-stable-releases]]

+ === The _fedora_ repository in stable releases

  

+ For stable releases, _fedora_ represents the frozen release state. It is a part of the frozen tree that is created by https://fedoraproject.org/wiki/ReleaseEngineering[Release Engineering] when a release is approved at a https://fedoraproject.org/wiki/Go_No_Go_Meeting[Go/No-Go Meeting]. The package set it contains never changes after that time. It represents the _stable_ state of a stable release in conjunction with _updates_ repository.

  

- Pull requests accepted at https://pagure.io/fedora-docs/quick-docs

+ The stable release _fedora_ repositories for the various primary architectures can be found in the `/fedora/linux/releases/XX/Everything` directory on the mirrors (where XX is the release), and can also be queried from MirrorManager. For instance, https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-{FedoraVersionNumber}&arch=x86_64 will return mirrors for the x86_64 _fedora_ repository for {FedoraVersionNumber} release.

  

- Once you've fixed this page, remove this notice, and update

- `_topic_map.yml`.

+ [[the-fedora-repository-in-branched-releases]]

+ === The _fedora_ repository in Branched releases

  

- Once the document is live, go to the original wiki page and replace its text

- with the following macro:

+ In Branched releases - the state a release is in between branching from Rawhide and stable release, see https://fedoraproject.org/wiki/Releases/Branched[Branched] for more details - the fedora repository alone represents the release's stable state. The _updates_ repository for Branched releases is not used until they become stable. Before the https://fedoraproject.org/wiki/Updates_Policy#Bodhi_enabling[Bodhi enabling point], package builds for the Branched release are sent directly to this repository. After the _Bodhi enabling point_, package builds that pass the https://fedoraproject.org/wiki/Updates_Policy[Updates Policy] move from _updates-testing_ repository to this repository.

  

- ....

- {{#fedoradocs: https://docs.fedoraproject.org/whatever-the-of-this-new-page}}

- ....

+ The Branched _fedora_ repositories for the various primary https://fedoraproject.org/wiki/Architectures[architectures] can be found in the `/fedora/linux/development/XX` directory on the mirrors (where XX is the release), and can also be queried from MirrorManager. For instance, https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-{FedoraVersionNumberNext}&arch=x86_64 will return mirrors for the x86_64 _fedora_ repository for {FedoraVersionNumberNext} version.

  

- ======

+ [[the-updates-repository]]

+ == The _updates_ repository

  

- '''

+ The _updates_ repository exists for Branched and stable releases, but is only populated and used for stable releases. It is represented for Yum or http://dnf.baseurl.org/[DNF] in the `fedora-updates.repo` file in the repository path. It exists in Branched releases solely to prevent various tools that expect its existence from breaking. For any Fedora installation, this repository will be enabled by default, and should usually remain so.

  

+ For stable releases, _updates_ together with _fedora_ represents the current _stable_ state of the release. Package builds that pass the https://fedoraproject.org/wiki/Updates_Policy[Updates Policy] move from the _updates-testing_ repository to this repository. This difference from Branched is a result of the need to maintain a precise representation of the initial, 'frozen' state of a stable release.

  

- This page explains the various Fedora repositories that exist for

- different Fedora Releases, the relationship between them, and what

- packages they contain.

+ The stable release _updates_ repositories for the various primary architectures can be found in the `/fedora/linux/updates/XX` directory on the mirrors (where XX is the release), and can also be queried from https://fedoraproject.org/wiki/MirrorManager[MirrorManager]. For instance, https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f{FedoraVersionNumber}&arch=x86_64 will return mirrors for the x86_64 _updates_ repository for 27.

  

- [[the-fedora-repository]]

- The _fedora_ repository

- ~~~~~~~~~~~~~~~~~~~~~~~

+ [[the-updates-testing-repository]]

+ === The _updates-testing_ repository

  

- The _fedora_ repository exists for all Fedora releases after they have

- link:Releases/Branched[Branched] from link:Releases/Rawhide[Rawhide]. It

- is represented for Yum or http://dnf.baseurl.org/[DNF] in the file in

- the repository path. For any Fedora installation, this repository will

- be enabled by default, and should usually remain so.

+ The _updates-testing_ repository exists for Branched releases after the https://fedoraproject.org/wiki/Updates_Policy#Bodhi_enabling[Bodhi enabling point], and for stable releases. It is represented for Yum or http://dnf.baseurl.org/[DNF] in the `fedora-updates-testing.repo` file in the repository path. For both, it is a 'staging' location where new package builds are tested before being marked as 'stable' (and hence moving to the _fedora_ repository or the _updates_ repository, respectively).

  

- [[the-fedora-repository-in-stable-releases]]

- The _fedora_ repository in stable releases

- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- 

- For stable releases, _fedora_ represents the frozen release state. It is

- a part of the frozen tree that is created by

- link:ReleaseEngineering[Release Engineering] when a release is approved

- at a Go_No_Go_Meeting. The package set it contains never changes after

- that time. It represents the _stable_ state of a stable release in

- conjunction with link:#updates[the _updates_ repository].

- 

- The stable release _fedora_ repositories for the various primary

- link:Architectures[architectures] can be found in the directory on the

- mirrors (where XX is the release), and can also be queried from

- MirrorManager. For instance,

- https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-%7B%7BFedoraVersionNumber%7D}&arch=x86_64

- will return mirrors for the x86_64 _fedora_ repository for .

+ These builds are sometimes referred to as _update candidates_, and are reviewed with the https://fedoraproject.org/wiki/Bodhi[Bodhi] update feedback tool, according to the

+ https://fedoraproject.org/wiki/QA:Update_feedback_guidelines[update feedback guidelines].

  

- [[the-fedora-repository-in-branched-releases]]

- The _fedora_ repository in link:Releases/Branched[Branched] releases

- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- 

- In Branched releases - the state a release is in between branching from

- link:Releases/Rawhide[Rawhide] and stable release, see

- link:Releases/Branched[Branched] for more details - the _fedora_

- repository alone represents the release's _stable_ state. The

- link:#updates[_updates_ repository] for Branched releases is not used

- until they become stable. Before the

- link:Updates_Policy#Bodhi_enabling[Bodhi enabling point], package builds

- for the Branched release are sent directly to this repository. After the

- _Bodhi enabling point_, package builds that pass the

- link:Updates_Policy[Updates Policy] move from link:#updates-testing[the

- _updates-testing_ repository] to this repository.

- 

- The Branched _fedora_ repositories for the various primary

- link:Architectures[architectures] can be found in the directory on the

- mirrors (where XX is the release), and can also be queried from

- MirrorManager. For instance,

- https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-%7B%7BFedoraVersionNumber%7Cnext%7D}&arch=x86_64

- will return mirrors for the x86_64 _fedora_ repository for .

+ The https://fedoraproject.org/wiki/Updates_Policy[Updates Policy] defines the rules for marking update candidates as _stable_. The https://fedoraproject.org/wiki/QA:Updates_Testing[QA updates-testing page] provides some information for testers on using this repository. The https://fedoraproject.org/wiki/Package_update_HOWTO[package update guidelines] provide information for packagers on submitting builds to _updates-testing_ and to _stable_.

  

- [[the-updates-repository]]

- The _updates_ repository

- ~~~~~~~~~~~~~~~~~~~~~~~~

- 

- The _updates_ repository exists for Branched and stable releases, but is

- only populated and used for stable releases. It is represented for Yum

- or http://dnf.baseurl.org/[DNF] in the file in the repository path. It

- exists in Branched releases solely to prevent various tools that expect

- its existence from breaking. For any Fedora installation, this

- repository will be enabled by default, and should usually remain so.

- 

- For stable releases, _updates_ together with link:#fedora[_fedora_]

- represents the current _stable_ state of the release. Package builds

- that pass the link:Updates_Policy[Updates Policy] move from

- link:#updates-testing[the _updates-testing_ repository] to this

- repository. This difference from Branched is a result of the need to

- maintain a precise representation of the initial, 'frozen' state of a

- stable release.

- 

- The stable release _updates_ repositories for the various primary

- link:Architectures[architectures] can be found in the directory on the

- mirrors (where XX is the release), and can also be queried from

- MirrorManager. For instance,

- https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f%7B%7BFedoraVersionNumber%7D}&arch=x86_64

- will return mirrors for the x86_64 _updates_ repository for .

+ The _updates-testing_ repository is enabled by default for Branched releases, but disabled by default for stable releases. The switchover is made around the time of the https://fedoraproject.org/wiki/Milestone_freezes[Final Freeze] for each release. Testers moving from Branched to stable may encounter errors running updates around this time, caused by dependency mismatches between packages already installed from the now-disabled _updates-testing_ repository. Running `dnf distro-sync`(or with yum command) or re-enabling the _updates-testing_ repository will both usually alleviate the issue; it is up to the individual user whether they wish to continue using the _updates-testing_ repository after the stable release or not.

  

- [[the-updates-testing-repository]]

- The _updates-testing_ repository

- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- 

- The _updates-testing_ repository exists for Branched releases after the

- link:Updates_Policy#Bodhi_enabling[Bodhi enabling point], and for stable

- releases. It is represented for Yum or http://dnf.baseurl.org/[DNF] in

- the file in the repository path. For both, it is a 'staging' location

- where new package builds are tested before being marked as 'stable' (and

- hence moving to the link:#fedora[_fedora_] repository or the

- link:#updates[_updates_] repository, respectively).

- 

- These builds are sometimes referred to as _update candidates_, and are

- reviewed with the Bodhi update feedback tool, according to the

- QA:Update_feedback_guidelines[update feedback guidelines].

- 

- The Updates_Policy defines the rules for marking update candidates as

- _stable_. The QA:Updates_Testing[QA updates-testing page] provides some

- information for testers on using this repository. The

- link:Package_update_HOWTO[package update guidelines] provide information

- for packagers on submitting builds to _updates-testing_ and to _stable_.

- 

- The _updates-testing_ repository is enabled by default for Branched

- releases, but disabled by default for stable releases. The switchover is

- made around the time of the link:Milestone_freezes[Final Freeze] for

- each release. Testers moving from Branched to stable may encounter

- errors running updates around this time, caused by dependency mismatches

- between packages already installed from the now-disabled

- _updates-testing_ repository. Running (or with yum command) or

- re-enabling the _updates-testing_ repository will both usually alleviate

- the issue; it is up to the individual user whether they wish to continue

- using the _updates-testing_ repository after the stable release or not.

- 

- The _updates-testing_ repositories for both Branched and stable releases

- can be found in the directory on the mirrors (where XX is the release),

- and can also be queried from MirrorManager. For instance,

- https://mirrors.fedoraproject.org/mirrorlist?repo=updates-testing-f%7B%7BFedoraVersionNumber%7D}&arch=x86_64

- will return mirrors for the x86_64 _updates-testing_ repository for .

+ The _updates-testing_ repositories for both Branched and stable releases can be found in the `/fedora/linux/updates/testing/XX` directory on the mirrors (where XX is the release), and can also be queried from https://fedoraproject.org/wiki/MirrorManager[MirrorManager]. For instance, https://mirrors.fedoraproject.org/mirrorlist?repo=updates-testing-f{FedoraVersionNumber}&arch=x86_64 will return mirrors for the x86_64 _updates-testing_ repository for {FedoraVersionNumber}.

  

  [[the-rawhide-repository]]

- The _rawhide_ repository

- ~~~~~~~~~~~~~~~~~~~~~~~~

- 

- In Rawhide - Fedora's rolling release repository, from which release are

- link:Releases/Branched[Branched] before finally going stable - _rawhide_

- is the only repository. All package builds are sent there. It is

- represented for Yum or http://dnf.baseurl.org/[DNF] in the file in the

- repository path. For any system running Rawhide, it should be enabled.

- For any other system, it should not.

- 

- The _rawhide_ repositories for the various primary

- link:Architectures[architectures] can be found in the directory on the

- mirrors, and can also be queried from MirrorManager. For instance,

- https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-rawhide&arch=x86_64

- will return mirrors for the x86_64 _fedora_ repository for Rawhide.

+ === The _rawhide_ repository

+ 

+ In Rawhide - Fedora's rolling release repository, from which release are Branched before finally going stable - _rawhide_ is the only repository. All package builds are sent there. It is represented for Yum or http://dnf.baseurl.org/[DNF] in the `fedora-rawhide.repo` file in the repository path. For any system running Rawhide, it should be enabled. For any other system, it should not.

+ 

+ The _rawhide_ repositories for the various primary https://fedoraproject.org/wiki/Architectures[architectures] can be found in the directory on the mirrors, and can also be queried from https://fedoraproject.org/wiki/MirrorManager[MirrorManager]. For instance, https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-rawhide&arch=x86_64 will return mirrors for the x86_64 _fedora_ repository for Rawhide.

  

  [[stable-is-not-a-repository]]

- _stable_ is not a repository

- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- 

- It is not unusual to see references to the 'stable repository', but this

- is something of a misnomer. _stable_ is more of a state that can be

- considered to exist for both link:Releases/Branched[Branched] releases

- post-link:Updates_Policy#Bodhi_enabling[Bodhi enabling] and for stable

- releases. It consists of package builds that were part of

- link:Releases/Rawhide[Rawhide] at the time they Branched, package builds

- sent directly to the Branched link:#fedora[_fedora_] repository between

- the branch point and the _Bodhi enabling point_, and package builds that

- passed the link:Updates_Policy[Updates Policy] and moved from

- link:#updates-testing[_updates-testing_] after the _Bodhi enabling

- point_.

- 

- For Branched releases, the _stable_ state is represented solely by the

- current contents of the link:#fedora[_fedora_] repository (and,

- arguably, the link:#bleed[_bleed_] repository, but that is a small

- case).

- 

- For stable releases, the _stable_ state is represented by the contents

- of the link:#fedora[_fedora_] repository combined with the contents of

- the link:#updates[_updates_] repository.

- 

- _stable_ is also a state a package can be considered to be in (or an

- attribute it can be considered to have) when it has been _pushed stable_

- or _tagged stable_ and exists in, or will soon exist in, a _stable_

- repository for a release - whichever literal repository that is (see

- above).

+ === _stable_ is not a repository

+ 

+ It is not unusual to see references to the 'stable repository', but this is something of a misnomer. _stable_ is more of a state that can be considered to exist for both Branched releases post https://fedoraproject.org/wiki/Updates_Policy#Bodhi_enabling[Bodhi enabling] and for stable releases. It consists of package builds that were part of Rawhide at the time they Branched, package builds sent directly to the Branched _fedora_ repository between the branch point and the _Bodhi enabling point_, and package builds that passed the https://fedoraproject.org/wiki/Updates_Policy[Updates Policy] and moved from _updates-testing_ after the _Bodhi enabling point_.

+ 

+ For Branched releases, the _stable_ state is represented solely by the current contents of the _fedora_ repository (and, arguably, the _bleed_ repository, but that is a small case).

+ 

+ For stable releases, the _stable_ state is represented by the contents of the _fedora_ repository combined with the contents of the _updates_ repository.

+ 

+ _stable_ is also a state a package can be considered to be in (or an attribute it can be considered to have) when it has been _pushed stable_ or _tagged stable_ and exists in, or will soon exist in, a _stable_ repository for a release - whichever literal repository that is (see above).

  

  [[installation-and-product-repositories-trees]]

- Installation and link:Fedora.next[Product] repositories / trees

- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- 

- The repositories referred to above are neither associated with a

- specific Fedora.next _Product_, nor part of an installable tree (a tree

- containing the necessary files to be used as a base repository by

- Anaconda, the Fedora installer). Specialized repositories exist for

- these purposes.

- 

- For Fedora.next releases - and later - there is (as of September 2014)

- no installable tree not associated with a specific Product. The

- installable trees for various Products can be found under on the mirrors

- for stable releases, and under for Branched pre-release milestones. They

- can also be queried from MirrorManager. For instance,

- https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-server-%7B%7BFedoraVersionNumber%7Cnext%7D}&arch=x86_64

- will return mirrors for the x86_64 current installation repository for

- Server.

- 

- These repositories are frozen (new packages are not pushed to them) and

- are created at various points in the

- link:Fedora_Release_Life_Cycle[Fedora Release Life Cycle]. A new

- installation tree (containing a repository) is built for several

- Products for each QA:SOP_compose_request[test compose or release

- candidate build], and the trees for the Alpha and Beta releases are made

- available on the mirrors in the directory (see above). They contain a

- subset of the full package set that is considered to define each Product

- (see link:How_to_use_and_edit_comps.xml_for_package_groups[comps] for

- the technical details of this).

- 

- The Product trees for the GA (Final) release are made available in the

- tree on the mirrors.

- 

- At any given point in the release cycle, the MirrorManager request for a

- Product repository may redirect to a test compose / release candidate

- tree, a pre-release milestone tree, or the Final release tree.

- 

- These repositories are usually not used or enabled by default on

- installed systems, as for that purpose they are redundant with one of

- the three primary repositories described above. However, one could use a

- Product repository in place of the link:#fedora[_fedora_] repository to

- keep a system limited to the Product package set. They are represented

- for Yum or http://dnf.baseurl.org/[DNF] in the file in the repository

- path, which may well not be installed on many systems.

+ == Installation and Product repositories / trees

+ 

+ The repositories referred to above are neither associated with a specific https://fedoraproject.org/wiki/Fedora.next[Fedora.next] _Product_, nor part of an installable tree (a tree containing the necessary files to be used as a base repository by https://fedoraproject.org/wiki/Anaconda[Anaconda], the Fedora installer). Specialized repositories exist for these purposes.

+ 

+ For Fedora.next releases - and later - there is (as of September 2014) no installable tree not associated with a specific Product. The installable trees for various Products can be found under `/fedora/linux/releases/XX/` on the mirrors for stable releases, and under `/fedora/linux/releases/test/` for Branched pre-release milestones. They can also be queried from MirrorManager. For instance, https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-server-{FedoraVersionNumberNext}&arch=x86_64 will return mirrors for the x86_64 current installation repository for Server.

+ 

+ These repositories are frozen (new packages are not pushed to them) and are created at various points in the https://fedoraproject.org/wiki/Fedora_Release_Life_Cycle[Fedora Release Life Cycle]. A new installation tree (containing a repository) is built for several Products for https://fedoraproject.org/wiki/QA:SOP_compose_request[each test compose or release candidate build], and the trees for the Alpha and Beta releases are made available on the mirrors in the directory (see above). They contain a subset of the full package set that is considered to define each Product.

+ 

+ The Product trees for the GA (Final) release are made available in the `/releases` tree on the mirrors.

+ 

+ At any given point in the release cycle, the MirrorManager request for a Product repository may redirect to a test compose / release candidate tree, a pre-release milestone tree, or the Final release tree.

+ 

+ These repositories are usually not used or enabled by default on installed systems, as for that purpose they are redundant with one of the three primary repositories described above. However, one could use a Product repository in place of the _fedora_ repository to keep a system limited to the Product package set. They are represented for Yum or http://dnf.baseurl.org/[DNF] in the `fedora-(product).repo` file in the repository path, which may well not be installed on many systems.

  

  [[other-repositories]]

- Other repositories

- ~~~~~~~~~~~~~~~~~~

+ == Other repositories

  

- There are other repositories that fulfil various niche purposes, which

- are documented here for the sake of providing a comprehensive reference.

- They should not usually be significant to the vast majority of Fedora

- users. None of these repositories is represented in a packaged

- repository file, enabled by default, or should usually be used in a

- Fedora installation.

+ There are other repositories that fulfil various niche purposes, which are documented here for the sake of providing a comprehensive reference. They should not usually be significant to the vast majority of Fedora users. None of these repositories is represented in a packaged repository file, enabled by default, or should usually be used in a Fedora installation.

  

  [[the-bleed-repository]]

- The _bleed_ repository

- ^^^^^^^^^^^^^^^^^^^^^^

- 

- The _bleed_ repository exists for a single purpose: during

- link:Milestone_freezes[Milestone freezes], it contains packages that

- have been granted 'freeze exceptions' via the QA:SOP_blocker_bug_process

- or QA:SOP_freeze_exception_bug_process, and which are desired to be

- included in the next test compose or release candidate build, but have

- not yet reached _stable_ state and hence been moved to the

- link:#fedora[_fedora_] repository. In other words, it contains packages

- explicitly required in TC/RC QA:SOP_compose_request[compose requests].

- 

- The _bleed_ repository can be found

- http://kojipkgs.fedoraproject.org/mash/bleed/[here], but again, is not

- usually of interest to the vast majority of Fedora users. The packages

- it contains are always also available from the build system, Koji, and

- usually from the link:#updates-testing[_updates-testing_] repository.

+ === The _bleed_ repository

+ 

+ The _bleed_ repository exists for a single purpose: during https://fedoraproject.org/wiki/Milestone_freezes[Milestone freezes], it contains packages that have been granted 'freeze exceptions' via the https://fedoraproject.org/wiki/QA:SOP_blocker_bug_process[Blocker Bug Process] or https://fedoraproject.org/wiki/QA:SOP_freeze_exception_bug_process[Freeze Exception bug process], and which are desired to be included in the next test compose or release candidate build, but have not yet reached _stable_ state and hence been moved to the _fedora_ repository. In other words, it contains packages explicitly required in TC/RC https://fedoraproject.org/wiki/QA:SOP_compose_request[compose requests].

+ 

+ The _bleed_ repository can be found http://kojipkgs.fedoraproject.org/mash/bleed/[here], but again, is not usually of interest to the vast majority of Fedora users. The packages it contains are always also available from the build system, Koji, and usually from the _updates-testing_ repository.

  

  [[the-latest-repositories]]

- The _latest_ repositories

- ^^^^^^^^^^^^^^^^^^^^^^^^^

- 

- The _latest_ http://kojipkgs.fedoraproject.org/repos/[repositories]

- contain packages for various build 'tags' as they arrive in the Koji

- build system. They are not

- https://git.fedorahosted.org/cgit/mash/[mashed], a process which

- principally handles multilib, and using them can cause various problems,

- in addition to overloading Fedora's development servers. It is almost

- always a better idea to cherry-pick new builds from Koji or Bodhi via

- their web interfaces or command line tools.

+ === The _latest_ repositories

+ 

+ The _latest_ http://kojipkgs.fedoraproject.org/repos/[repositories] contain packages for various build 'tags' as they arrive in the Koji build system. They are not https://git.fedorahosted.org/cgit/mash/[mashed], a process which principally handles multilib, and using them can cause various problems, in addition to overloading Fedora's development servers. It is almost always a better idea to cherry-pick new builds from https://fedoraproject.org/wiki/Koji[Koji] or https://fedoraproject.org/wiki/Bodhi[Bodhi] via their web interfaces or command line tools.

  

  [[repositories-faq]]

- Repositories FAQ

- ~~~~~~~~~~~~~~~~

+ == Repositories FAQ

  

  [[why-is-updates-only-used-after-the-stable-release]]

- Why is link:#updates[_updates_] only used after the stable release?

- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- 

- As described above, updates for both link:Releases/Branched[Branched]

- pre-releases and final, 'stable' releases go through the

- link:#updates-testing[_updates-testing_] process before being moved to a

- link:#stable[_stable_] repository. Before the final release, they are

- placed in the link:#fedora[_fedora_] repository. After release, they are

- placed in link:#updates[_updates_].

- 

- The reason for the difference is that we want to have a record of the

- exact 'state' of a given Fedora stable release. That is, at the time a

- Fedora release is declared to be done at a link:Go_No_Go_Meeting[Go No

- Go Meeting], we consider the state of the release at that time to be the

- canonical definition of that release, and we wish to preserve a record

- of that state. For a stable release, the tree containing the _fedora_

- repository *is* that record, and the _fedora_ repository it contains is

- the canonical record of the precise _frozen_ package set that formed the

- main part of that stable release.

- 

- Since we wish to maintain this _frozen_ state for the _fedora_

- repository, we cannot place updates directly into it. The necessity for

- the _updates_ repository therefore becomes obvious - we need a place to

- put updates to stable releases that is outside the _frozen_ state of the

- release.

- 

- Before a stable release occurs, this mechanism is not necessary. Before

- the release is declared to be done, there is no _frozen_ state of the

- release: effectively, the whole Branched development process is _working

- towards_ what will become the _frozen_ state of the release, so of

- course package builds for the Branched release land directly in the

- _fedora_ repository.

+ === Why is _updates_ only used after the stable release?

+ 

+ As described above, updates for both Branched pre-releases and final, _stable_ releases go through the _updates-testing_ process before being moved to a _stable_ repository. Before the final release, they are placed in the _fedora_ repository. After release, they are placed in _updates_.

+ 

+ The reason for the difference is that we want to have a record of the exact 'state' of a given Fedora stable release. That is, at the time a Fedora release is declared to be done at a https://fedoraproject.org/wiki/Go_No_Go_Meeting[Go/No-Go Meeting], we consider the state of the release at that time to be the canonical definition of that release, and we wish to preserve a record of that state. For a stable release, the tree containing the _fedora_ repository *is* that record, and the _fedora_ repository it contains is the canonical record of the precise _frozen_ package set that formed the main part of that stable release.

+ 

+ Since we wish to maintain this _frozen_ state for the _fedora_ repository, we cannot place updates directly into it. The necessity for the _updates_ repository therefore becomes obvious - we need a place to put updates to stable releases that is outside the _frozen_ state of the release.

+ 

+ Before a stable release occurs, this mechanism is not necessary. Before the release is declared to be done, there is no _frozen_ state of the release: effectively, the whole Branched development process is _working towards_ what will become the _frozen_ state of the release, so of course package builds for the Branched release land directly in the _fedora_ repository.

  

  [[why-is-updates-testing-enabled-by-default-in-pre-releases]]

- Why is _updates-testing_ enabled by default in pre-releases?

- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- 

- While link:Releases/Branched[Branched] development releases and stable

- releases both use an link:#updates-testing[_updates-testing_] repository

- together with the Bodhi update feedback system to stage packages before

- they reach the release's link:#stable[_stable_] state, it is enabled by

- default in Branched, but not in stable releases.

- 

- The reason is that the purpose of the _updates-testing_ system is

- somewhat different in each case. For stable releases, the system's goal

- is to prevent broken updates reaching the general Fedora user

- population. In most cases, Fedora systems are expected to have the

- _updates-testing_ repository disabled. Some QA testers then enable the

- repository on testing systems to try out the updates and provide

- feedback. The testers perform the job of making sure the updates are OK

- before they reach the general user population.

- 

- When it comes to a Branched pre-release, the expectation is that anyone

- who installs it wants to help test it: we effectively consider anyone

- running a Branched release to be a tester. The function of

- _updates-testing_ is different in this case. There is not a 'general

- user population' of Branched users who run with _updates-testing_

- disabled, and are protected from problematic updates by the group of

- update testers. Instead, _updates-testing_ in Branched serves other

- important functions.

- 

- The main purpose is to insulate _image builds_ from potentially

- problematic changes. Branched images - nightly images, and the Alpha,

- Beta and GA (Final) _milestone_ builds and their

- QA:SOP_compose_request[test compose and release candidate builds] - are

- built from the _stable_ packages, that is, only those in the _fedora_

- repository, not those in _updates-testing_. In this sense,

- _updates-testing_ protects not a set of users, but a set of _builds_,

- from potentially destabilizing changes. Especially when we are building

- an Alpha, Beta or GA release, we need to be able to reduce the amount of

- change in the package set between composes in order to produce an image

- of high quality. The _updates-testing_ mechanism allows for that: during

- link:Milestone_freezes[Milestone freezes], new builds can be sent to

- _updates-testing_, but cannot move from there to _stable_ (_fedora_)

- without special circumstances (see the

- QA:SOP_blocker_bug_process[blocker] and

- QA:SOP_freeze_exception_bug_process[freeze exception] processes). In

- this way, we can work on release images while not preventing packagers

- from sending out builds.

- 

- For this and other less important functions, we need as much feedback as

- possible, so it makes sense to have all pre-release testers have

- _updates-testing_ enabled by default, and encourage them to provide

- feedback through Bodhi.

- 

- Category:Release_Engineering[Category:Release Engineering]

- Category:Packaging

- '''

- 

- See a typo, something missing or out of date, or anything else which can be

- improved? Edit this document at https://pagure.io/fedora-docs/quick-docs.

+ === Why is _updates-testing_ enabled by default in pre-releases?

+ 

+ While Branched development releases and stable releases both use an _updates-testing_ repository together with the Bodhi update feedback system to stage packages before they reach the release's _stable_ state, it is enabled by default in Branched, but not in stable releases.

+ 

+ The reason is that the purpose of the _updates-testing_ system is somewhat different in each case. For stable releases, the system's goal is to prevent broken updates reaching the general Fedora user population. In most cases, Fedora systems are expected to have the _updates-testing_ repository disabled. Some QA testers then enable the repository on testing systems to try out the updates and provide feedback. The testers perform the job of making sure the updates are OK before they reach the general user population.

+ 

+ When it comes to a Branched pre-release, the expectation is that anyone who installs it wants to help test it: we effectively consider anyone running a Branched release to be a tester. The function of _updates-testing_ is different in this case. There is not a 'general user population' of Branched users who run with _updates-testing_ disabled, and are protected from problematic updates by the group of update testers. Instead, _updates-testing_ in Branched serves other important functions.

+ 

+ The main purpose is to insulate _image builds_ from potentially problematic changes. Branched images - nightly images, and the Alpha, Beta and GA (Final) _milestone_ builds and their https://fedoraproject.org/wiki/Go_No_Go_Meeting[test compose and release candidate builds] - are built from the _stable_ packages, that is, only those in the _fedora_ repository, not those in _updates-testing_. In this sense, _updates-testing_ protects not a set of users, but a set of _builds_, from potentially destabilizing changes. Especially when we are building an Alpha, Beta or GA release, we need to be able to reduce the amount of change in the package set between composes in order to produce an image of high quality. The _updates-testing_ mechanism allows for that: during https://fedoraproject.org/wiki/Milestone_freezes[Milestone freezes], new builds can be sent to _updates-testing_, but cannot move from there to _stable_ (_fedora_) without special circumstances. In this way, we can work on release images while not preventing packagers from sending out builds.

+ 

+ For this and other less important functions, we need as much feedback as possible, so it makes sense to have all pre-release testers have _updates-testing_ enabled by default, and encourage them to provide feedback through Bodhi.

+ 

+ See a typo, something missing or out of date, or anything else which can be improved? Edit this document at https://pagure.io/fedora-docs/quick-docs.

file modified
+3
@@ -1,5 +1,8 @@ 

  = Spotify

  

+ include::en-US/3rdparty-message.adoc[]

+ 

+ 

  https://www.spotify.com/[*Spotify*] is a cross-platform (available for

  Ubuntu, macOS and Windows) proprietary music streaming service. It is a

  freemium product (meaning a free version of it is available, but it has

@@ -1,9 +1,9 @@ 

  :source-highlighter: prettify

  

  [id='understanding-and-administering-systemd']

- = Understanding and administering Systemd

+ = Understanding and administering systemd

  

- Learn the basic principles of Systemd: how to configure it and use to administer the system.

+ Learn the basic principles of systemd: how to configure it and use to administer the system.

  

  include::en-US/modules/con_understanding-systemd.adoc[leveloffset=+1]

  

file modified
+1 -1
@@ -91,7 +91,7 @@ 

  

  |_wine-symbol-fonts_ |Wine Symbol font family

  

- |_wine-systemd_ |Systemd configuration for the wine binfmt handler

+ |_wine-systemd_ |systemd configuration for the wine binfmt handler

  

  |_wine-system-fonts_ |Wine System font family

  

This pull request contains my first pass at converting the Anaconda wiki page in asciidoc. It converts the main Anaconda page and the subpage that list Anaconda-based distributions, but does not yet convert over the rest of the sub-pages.

1 new commit added

  • Add Anaconda Updates page
6 years ago

2 new commits added

  • Fix links in Anaconda Updates page
  • Add Anaconda Updates page
6 years ago

1 new commit added

  • Add logging section
6 years ago

1 new commit added

  • Fix branch in distro map
6 years ago

2 new commits added

  • Fix table in logging page
  • Add the "Contribution" page
6 years ago

2 new commits added

  • Add Anaconda product image page
  • Remove contribution page, and instead link to upstream docs
6 years ago

1 new commit added

  • Minor cleanups
6 years ago

1 new commit added

  • Clean up more links
6 years ago

In 9390737, this internal link is broken for me.

1 new commit added

  • Fix more links
6 years ago

This is preference, but I don't like naked URLs in docs, make https://freenode.net/[Freenode] instead?

Looking at Line 78, do we want to point to Python 2 or 3 resources?

This section seems arbitrary to me. Since GitHub supports pushing commits over HTTPS, you can use either the HTTPS or SSH git URLs.

I would move this to the top of this section. If someone only wants to find the source code and already knows the drill on git, this is probably the first piece of info they're looking for.

This page is a monster, but maybe not a bad idea to migrate it over to quick-docs eventually? We could file an issue to keep track of migrating this one.

This is a preference of mine, but a link to the right search query for Bugzilla is helpful, if we can link something like that. From my POV as a user, I always groan when I have to figure out what component I have to find to search or file a bug correctly for the right project. Not sure if we can do that?

+1 to avoiding naked URLs as a general style — the only exception would be when the URL itself is literally the information to be conveyed.

This is low priority, but links to each distro could be nice.

This info feels like it would be nicer in a table.

I realized there were two headers with the same name, this confused me for a moment when I was scrolling through the doc.

Not sure if this is in the scope of this PR, but I'd be interested to follow up with @rkratky about the magic jujitsu diagramming things he alluded to on Monday.

Is there syntax highlighting for XML? Would be nice here if so!

Looks like a broken wiki link snuck its way in. :smile:

Another picky edit, but I like to always link to the HTTPS version of the wiki in a doc when possible since we have it now. Maybe a s/http:\/\/fedoraproject.org\/wiki/https:\/\/fedoraproject.org\/wiki?

Two broken Bugzilla URLs down here at the bottom. :bug:

This is a FedoraHosted URL and redirects to the retirement page on the wiki. Might be nice to figure out where this actually lives in 2018 and update accordingly.

This list felt like an odd way to display this information. Not sure if this is in the scope of this PR again, but if you're feeling creative, this example section could use a modernization, I think.

I finished my deep dive into this PR and left feedback as I went through it. I hope this is helpful. Let me know if you want me to make a second pass.

1 new commit added

  • Address comments in pull request
6 years ago

Not sure if the comments I made on this section were overlooked or intentionally skipped, but for context, my motivation for those comments was because it felt like this section added unnecessarily length to the document. However, it's also not a hill I'm going to die on.

Literally amazing :tada: :100: :tada:

Dictionaries aren't a bad look! I like them. :thumbsup:

I missed this on first pass. Missing whitespace incorrectly renders this list. Probably best to switch these two lines to dictionaries too.

Is XML highlighting an option? It would be nice to add it here if it's available.

1 new commit added

  • Fix more links, minor cleanups
6 years ago

This URL is broken for the file:/. Should be file://

I think you might have missed this one in edits ^^ @mattdm posted the correct link in the ticket.

Oops, sorry, I was interrupted mid-review. Did a second review and caught a few more things I missed the first time.

1 new commit added

  • Fix up another link and create another dictionary
6 years ago

Looks good to me. :tada:

+1 to merge. :clapper:

rebased onto 1fdb2ec

6 years ago

24 new commits added

  • Merge branch 'master' of ssh://pagure.io/forks/jsmith/fedora-docs/quick-docs
  • Fix up another link and create another dictionary
  • Add Anaconda product image page
  • Remove contribution page, and instead link to upstream docs
  • Add the "Contribution" page
  • Fix branch in distro map
  • Add logging section
  • First pass at converting Anaconda docs to asciidoc
  • Fix up another link and create another dictionary
  • Fix more links, minor cleanups
  • Address comments in pull request
  • Fix more links
  • Clean up more links
  • Minor cleanups
  • Add Anaconda product image page
  • Remove contribution page, and instead link to upstream docs
  • Fix table in logging page
  • Add the "Contribution" page
  • Fix branch in distro map
  • Add logging section
  • Fix links in Anaconda Updates page
  • Add Anaconda Updates page
  • Add Anaconda Updates page
  • First pass at converting Anaconda docs to asciidoc
6 years ago

1 new commit added

  • Remove "(In Progress)" note from Anaconda index
6 years ago

Pull-Request has been merged by bex

6 years ago

Metadata Update from @jflory7:
- Pull-request tagged with: improvement
- Request assigned

5 years ago
Metadata
Changes Summary 27
+7 -3
file changed
_topic_map.yml
+17
file added
en-US/3rdparty-message.adoc
+26 -20
file changed
en-US/anaconda/anaconda.adoc
+61 -50
file changed
en-US/anaconda/anaconda_logging.adoc
+29
file added
en-US/anaconda/anaconda_product_image.adoc
+26 -19
file changed
en-US/anaconda/anaconda_updates.adoc
+1 -1
file changed
en-US/bumblebee.adoc
+4 -4
file changed
en-US/debug-systemd-problems.adoc
+2 -0
file changed
en-US/flash.adoc
+14 -1
file changed
en-US/index.adoc
+2 -0
file changed
en-US/installing-chromium-or-google-chrome-browsers.adoc
+1 -1
file changed
en-US/installing-software-from-source.adoc
+2 -0
file changed
en-US/installing-spotify.adoc
+8 -8
file changed
en-US/modules/con_understanding-systemd.adoc
+1 -1
file changed
en-US/modules/con_what-is-sudo.adoc
+6 -6
file changed
en-US/modules/proc_converting-sysvinit-services.adoc
+6 -6
file changed
en-US/modules/proc_creating-new-systemd-services.adoc
+2 -2
file changed
en-US/modules/proc_modifying-existing-systemd-services.adoc
+2 -2
file changed
en-US/modules/proc_starting-stopping-and-querying-systemd-services.adoc
+7 -7
file changed
en-US/modules/ref_common-service-parameters.adoc
+3 -3
file changed
en-US/modules/ref_mapping-runlevel-to-targets.adoc
+3 -3
file changed
en-US/modules/ref_mapping-service-commands.adoc
+1 -1
file changed
en-US/postgresql.adoc
+89 -347
file changed
en-US/repositories.adoc
+3 -0
file changed
en-US/spotify.adoc
+2 -2
file changed
en-US/understanding-and-administering-systemd.adoc
+1 -1
file changed
en-US/wine.adoc