From Fedora Project Wiki
(Update to be more sane)
(add note about rawhide boot.iso)
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{autolang|base=yes}}
{{autolang|base=yes}}


Rawhide is the name given to the current development head of Fedora. It consists of a package repository called "rawhide" and contains the latest build of all Fedora packages updated on a daily basis. Nightly builds are also available during the early portion of the [[Fedora Release Life Cycle]].
= Rawhide =


== Who should use Rawhide? ==
Rawhide is the name given to the current development version of Fedora. It consists of a package repository called "rawhide" and contains the latest build of all Fedora packages updated on a daily basis. Nightly live image builds are also available during the early portion of the [[Fedora Release Life Cycle]].


{{admon/caution|''Rawhide is for advanced users who like updates and troubleshooting.''}}
Rawhide is sometimes called "development" or "master" (as it's the "master" branch in Package git repositories).  


Rawhide users should:
== Goals ==


* Be willing to update on a almost daily basis. Rawhide gets hundreds of updates a day, and applying those updates on a regular basis allows you to more easily troubleshoot issues.
Rawhide has the following Goals:


* Be willing and able to troubleshoot problems. From time to time there are problems with rawhide packages, and you will need strong troubleshooting skills and ability to gather information for bug reports. A good understanding of yum and how to downgrade packages as well as boot time troubleshooting is required.  
* To allow package maintainers to integrate the newest '''usable''' versions of their packages into Fedora.
* To allow advanced users access to the newest '''usable''' packages in a rolling manner.
* To allow incremental changes to packages that are either too minor or major to go to stable Fedora releases.
* To identify and fix issues with packages before they reach a stable release of Fedora.


* Have time and desire to always be able to learn new interfaces and changes. Because rawhide packages stick closely to upstream, menus and command line options and functionality of applications change often.
== Using Rawhide ==


* Frequent reboots to test new kernel versions and confirm functionality of the boot process. If you can't reboot often, consider using a stable release instead.  
This section discusses rawhide's target users and how to test Rawhide with Live media, within a virtual installation or on a bare metal installation.


You can try Rawhide or [[Releases/Branched|Branched]] (depending on the point in the [[Releases/{{FedoraVersion||next}}/Schedule|release cycle]]) from the [http://alt.fedoraproject.org/pub/alt/nightly-composes/ nightly live builds] without needing to install it at all. Otherwise, you can install it if you have a spare system, or are willing to install Rawhide on an existing system and dual boot, or use a virtual machine.
=== Audience ===


== Nightly live builds ==
Rawhide is targeted at advanced users, testers and package maintainers.


After the release of the previous final release, but before the [[Releases/{{FedoraVersion||next}}|Branch event]], [http://alt.fedoraproject.org/pub/alt/nightly-composes/ nightly builds] will be composed of Rawhide packages.  These are built automatically without manual tweaking or testing, so they will sometimes be beyond the size of a single CD, and sometimes may not work at all. If there is a bug in the generation toolchain, the images may not be built on a given night; in this case, the most recent image will remain available. Using these nightly builds is an ideal way to test Rawhide if you have no spare machine or partition available, or simply do not have the time to maintain a Rawhide installation. It's a very safe way to test, since it will make no changes to your installed system.  You can also install Rawhide to your hard drive from the Live desktop if the Live image is working well for you.  During the rest of the release cycle, daily builds will contain [[Releases/Branched|Branched]] content, and you must use a repository to install Rawhide - though you can build a custom spin using livecd-tools if you need to test a Live distribution.
As a rawhide consumer, you should:


See [[FedoraLiveCD]] for more information.
* Be willing to update on an almost daily basis. Rawhide gets hundreds of updates a day, and applying those updates on a regular basis allows you to more easily troubleshoot issues.


== Installing Rawhide ==
* Be willing and able to troubleshoot problems. From time to time there are problems with Rawhide packages, and you will need strong troubleshooting skills and the ability to gather information for bug reports. You need a good understanding of yum and how to downgrade packages, as well as boot time troubleshooting.


The rawhide tree is not directly installable anymore, but there are a number of ways to get a rawhide installation setup.  
* Have time and desire to always be able to learn new interfaces and changes. Rawhide packages stick closely to upstream projects, so interfaces and command-line options are subject to frequent changes.


=== Rawhide mirrors ===
* Frequent reboots to test new kernel versions and confirm functionality of the boot process. If you can't reboot often, consider using a stable release instead.


Rawhide is under "development/rawhide" on the mirrors. You can find a local "development" mirror [http://mirrors.fedoraproject.org/publiclist/Fedora/development/ here]. Continue reading for specific instructions on how to install mirrored content.
* Be willing and able to report bugs as you find them and help maintainers gather information to fix them.  


=== How to avoid disturbing an existing system ===
If the above doesn't match you, you may wish to instead follow the [[Releases/Branched|Branched]] release (depending on the point in the [[Releases/{{FedoraVersion||next}}/Schedule|release cycle]]) or use regular stable Fedora releases.


There are a few methods to test Rawhide on a machine without disturbing an existing installation:
=== Live media ===
# Test a Live version from CD, DVD, or USB drive.
#* To burn to CD or DVD, see [http://docs.fedoraproject.org/readme-burning-isos/ burning ISOs].
#* To write to USB, see [[How to create and use Live USB]].
#* If you use a LiveUSB with data persistence, you can use the "yum update" method described below to get the latest daily Rawhide RPMs ([https://bugzilla.redhat.com/show_bug.cgi?id=446935 except for the kernel]). Note that you may also need to install the 'fedora-release-rawhide' package and enable the rawhide repository. However, downloading daily ISOs is recommended instead of this method.
# Use a virtual machine.  See [[Testing/qemu]].
# Install to a separate partition.


=== Direct Rawhide install via standalone Anaconda ===
After the release of the previous final release, but before the [[Releases/{{FedoraVersion||next}}|Branch event]], [http://alt.fedoraproject.org/pub/alt/nightly-composes/ nightly builds] will be composed from Rawhide. You may be able to use these automated Live images to boot and test Rawhide. These images are automatically composed and not tested by [[QA]].


Anaconda is the Fedora installer. It can be booted directly, rather than run from a Live desktop.
=== Virtual instances ===


==== Using BFO (boot.fedoraproject.org) ====
You may wish to install and run Rawhide in a virtual machine (VM) instance. This allows you to test Rawhide when not running Linux, or avoid any impact to your day-to-day workflow.


You can use the latest install target from BFO to do the install and then post-install yum distro-sync. The BFO images provide for the least upfront download to get you booted into the install process.
See the section below on setting up a Rawhide install.


# Download BFO boot media: http://boot.fedoraproject.org/download
=== Getting a Rawhide install ===
# Boot media and select Install or Pre-Release. Select the latest installer you want to run.
# Run a minimal install.
# Post-install yum distro-sync:
<pre>
# yum install fedora-release-rawhide
# yum --releasever=rawhide distro-sync
</pre>


==== Using a general release Fedora ISO ====
The following options are available to install a fedora rawhide instance:


You can use the version of Anaconda distributed with a final public release (the latest being Fedora {{FedoraVersion}}).  Using this method, you will be using an older but known-to-be-working installer to install the latest content in the Rawhide repository.
==== Install from Live media ====


; Option 1 - Use a copy you've already downloaded
If Live media are being composed from Rawhide (see above), you may be able to download the Live media, copy it to local media, boot and install Rawhide.  
: If you already have a bootable CD, DVD, USB stick, or hard drive partition containing the *-DVD.iso or *-disc1.iso, you can use that to install Rawhide.  However, if you need to download new boot media, these files are not recommended because they contain general release versions of Fedora RPMs, and you wish to install Rawhide RPMs.  See [http://docs.fedoraproject.org/install-guide/f12/en-US/html/ch-new-users.html#sn-howto-download installation guide download page] for instructions if you want to download these files anyway.  A general release ''Live'' image cannot be used to install Rawhide, only the general release version of Fedora which it contains can be used.


; Option 2 - Download the minimal installer
This is the most fragile way to get a Rawhide install, as Live media is only produced at some points in the cycle, sometimes does not compose, and when it does, may not install correctly.  
: If you need to make a bootable CD, DVD, USB stick, or hard drive partition, the best way to do this is to download the minimal boot.iso installer and load RPMs over the network.  This is the same as the *-netinst.iso (e.g. Fedora-{{FedoraVersion|long}}-i386-netinst.iso) which you may find elsewhere.  These files are not available by BitTorrent.
: To obtain and use a boot.iso file:
: * Go to http://download.fedoraproject.org/ - you will be redirected to a nearby mirror.
: * Go to releases/{{FedoraVersion}}/Fedora.
: * Choose the directory for your architecture (i386, x86_64, or ppc - [http://docs.fedoraproject.org/install-guide/f{{FedoraVersion}}/en-US/html/ help available]), then find os/images/boot.iso and download it.
: * Create a bootable CD, DVD, USB media, or hard drive partition following the instructions [http://docs.fedoraproject.org/install-guide/f12/en-US/html/ch-new-users.html#sn-making-media here] using your newly downloaded boot.iso file.  You can use the livecd-iso-to-disk method described there even though boot.iso is not a Live image, and it should also work on hard drive partitions, not just USB media.


; Option 3 - Pure network install with no boot media
==== Use rawhide Boot.iso ====
: The Installation Guide documents how to [http://docs.fedoraproject.org/en-US/Fedora/{{FedoraVersion}}/html/Installation_Guide/ap-medialess-install.html boot the installer directly from the network], in case you cannot or choose not to create local boot media.


; What to do after booting Option 1, 2 or 3
Unless some problem occurs, a boot.iso is produced each day in the rawhide compose. It may or may not install, depending on the state of the tree and the installer. You can copy the boot.iso to media in any of the normal ways and use it to install.


: Start the installer and follow the on-screen instructions.  Proceed to [http://docs.fedoraproject.org/en-US/Fedora/{{FedoraVersion}}/html/Installation_Guide/s1-pkgselection-x86.html Package Group Selection].  To install rawhide, deselect all {{FedoraVersion|long|current}} package repositories, and manually add rawhide using the instructions provided at [http://docs.fedoraproject.org/en-US/Fedora/{{FedoraVersion}}/html/Installation_Guide/s1-pkgselection-x86.html#sn-additional-repos Installing from Additional Repositories].  Obtain a valid Rawhide mirror from [http://mirrors.fedoraproject.org/publiclist/Fedora/development/ the mirror list].
==== Point installer to Rawhide ====


; Option 4 - Without network access at install time
You can sometimes install Rawhide by using a stable install media and pointing it to the Rawhide repository for packages to install.


: If you have no network access during the install process, you will need to download the Rawhide (development) repository from a [http://mirrors.fedoraproject.org/publiclist/Fedora/development/ Rawhide mirror] and use the hard drive installation method described in the [http://docs.fedoraproject.org/install-guide/ Installation Guide], or it might be easier to choose a different method to install Rawhide from another section of this page.
# Download the latest stable or branched install media. (netinstall or DVD install)
# Copy to local media (USB or DVD or CD)
# Boot media and go to the 'Install Source' section and manually enter:<br />https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/x86_64/os/<br />(or i386 for 32bit)
# Finish the install as normal.  


=== Direct Rawhide install via Live installer ===
For this method to work, there should be no major changes in Rawhide that the installer is not ready for, such as packages it depends on being retired or other similar situations.


{{admon/note|Timing is everything|This method only works after {{FedoraVersion|long}} is released, and before {{FedoraVersion|long|next}} has branched.  See the [[Releases/{{FedoraVersion||next}}/Schedule|{{FedoraVersion|long|next}} release schedule]] for appropriate timing.  Once branched, follow the instructions at [[Releases/Branched|Branched]]: after branching, the nightly images are of the Branched release, not of Rawhide.}}
==== Yum from Existing install ====


{{admon/note|Presence and viability of nightly images not guaranteed|The nightly images are built by a script with little human intervention. As generating an entire bootable and installable Fedora image is a fairly complex operation which requires a rather large subset of packages to be present, functional, and interoperable, they will quite often fail to install correctly, fail to boot, or fail to compose at all: you cannot rely on a recent image being available, or any given image actually providing a usable installation. This is quite normal.}}
You may use yum to upgrade from the most recent Stable or Branched release. You will need to have such an install in place and should likely update to the newest updates before starting.  


# Download a daily Live image (.iso) from http://alt.fedoraproject.org/pub/alt/nightly-composes/
See [[Upgrading_Fedora_using_yum#To_rawhide|Upgrading Fedora using yum Rawhide info]]
# Follow the steps at [[How to create and use Live USB]] or [[How to create and use a Live CD]] to prepare and boot from the image you select.
# Log in and double click the ''Install to Hard Drive'' icon on the desktop.
# Follow the on-screen instructions to complete the installation.


=== Yum update from a stable release or pre-release ===
This method may fail if there are upgrade path issues (newer packages in Stable or Branched than Rawhide), or broken dependencies.


As an alternative to a direct installation of Rawhide, you can install an existing stable release or pre-release and try to upgrade to Rawhide using yum. When a pre-release is available, Rawhide corresponds to the '''following''' release: when Fedora {{FedoraVersionNumber}} Alpha is available, the Rawhide repositories contains what will become Fedora {{FedoraVersionNumber|next}}. As with any method of installing Rawhide, success is not guaranteed. If you cannot get a direct installation to work, the yum method may work; on the other hand, if you cannot get a yum upgrade to work, try the direct installation method (above) instead.
=== Communicating  ===


It is generally best to start from the most recent release available, even if this is a pre-release: only use a stable release if no pre-release of the following version is yet available, or you cannot get the pre-release to install.
There are a number of ways to communicate with other Rawhide users:


If a test release or "pre-release" (Alpha or Beta) is currently available, you can download it [http://fedoraproject.org/get-prerelease here]. Otherwise, you can download the latest stable release [http://fedoraproject.org/get-fedora here].
==== IRC ====


You may run into dependency problems which could take time and manual effort to resolve: if the upgrade refuses to proceed, look carefully at the errors yum reports and consider appropriate action (often, you need to remove a few problematic packages to let the rest of the system update). Remember that Rawhide installations in general may need to be wiped and re-installed from scratch at any time.
Rawhide discussion is on topic and welcome in both the {{fpchat|#fedora-devel}} and {{fpchat|#fedora-qa}} IRC channels.


You can upgrade to the rawhide repository one of two ways. The most reliable is to use the command line method from a console; this avoids the case where an update causes the X server to crash or restart, killing the yum process in mid-upgrade as a consequence. The results of this case are usually sub-optimal.
==== Mailing Lists ====


==== Graphical ====
Rawhide discussion is on topic and welcome in both the {{fplist|test}} and {{fplist|devel}} lists.


All names and commands are for the GNOME desktop and gnome-packagekit - use equivalents in other desktops:
==== Bugzilla ====


# Run the ''Add/Remove Software'' application ({{command|gpk-application}}), and install the {{package|fedora-release-rawhide}} package
Rawhide bugs should be reported against the Fedora Product, rawhide version and the affected component.  Please do follow [[BugsAndFeatureRequests|best practices]] when filing. Remember that IRC and mailing lists are useful to help narrow down if some behavior is a bug or where to report it, but are themselves not bug reporting channels. Always file bugs in [http://bugzilla.redhat.com Bugzilla].
# Next, modify your software sources using the ''Software Settings'' application ({{command|gpk-prefs}})
#* Leave '''only''' the ''Fedora - Rawhide'' software source enabled
# Next, update your system using the Software Update application ({{command|gpk-update-viewer}})


==== Command line ====
Note that broken dependencies are mailed to maintainers for each daily Rawhide compose where a package has such broken dependencies. Therefore, it's usually not worth filing a bug for broken dependencies unless they don't appear in the daily report, or you have a fix or improvement to suggest.
<pre>
First Use yum-config-manager --disable to disable any repos you have enabled that are not 'fedora-rawhide'
# yum --releasever=rawhide install fedora-release-rawhide
# yum --releasever=rawhide distro-sync
</pre>


Maybe you have to disable gpg check in order to contiune, just add ''<code>--nogpgcheck</code>'' option.
== Producing Rawhide ==


If you have third-party repositories enabled, the command may fail due to no 'Rawhide' repository being available for these; in this case, temporarily disable the offending repositories to allow the upgrade to proceed.
Package owners must build for rawhide using koji just like you would any other build; you do not go through the bodhi process and the build becomes available almost immediately.


You may then want to enable/disable repositories in {{filename|/etc/yum.repos.d/}} so that only the "Fedora Development" repository is enabled.  This will allow daily Rawhide updates to appear by default in desktop notifications and "yum update".
The Rawhide repository is composed every day starting at 08:15UTC. All rawhide builds in the buildsystem at that time are composed and pushed out to mirrors. Rawhide is under "development/rawhide" on the mirrors. You can find a local "development" mirror [http://mirrors.fedoraproject.org/publiclist/Fedora/development/ on the public mirror list]. Compose time varies depending on number of changes but is typically between 5 and 8 hours.  


If you cannot install fedora-release-rawhide from within the package system, you can download the RPM directly from a Rawhide mirror, under: <code>development/rawhide/<arch>/os/Packages/</code> (for instance:
Composes are done in a rawhide chroot using the 'mash' tool called from a script maintained by Fedora Release engineering: http://git.fedorahosted.org/cgit/releng/tree/scripts/buildrawhide If the base set of packages in rawhide needed to compose rawhide are broken, the daily compose may fail.  
<code>wget http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/i386/os/Packages/f/fedora-release-{{FedoraVersionNumber|next}}-0.2.noarch.rpm</code>)


== Testing Rawhide ==
A report for each Rawhide compose is sent to to the {{fplist|test}} and the {{fplist|devel}} lists. This report contains output from the 'repodiff' tool from the previous compose as well as a broken dependency report for packages with broken dependencies. Additionally, private email is sent to maintainers with packages containing broken dependencies.


There are two important things all Rawhide testers should do. First, read the {{fplist|test}} mailing list, where Rawhide users discuss the latest changes. You'll find discussion of significant changes and warnings of severe breakage here. Reading test-list daily is key to staying on top of Rawhide. Secondly, report all the bugs you find in Rawhide to [http://bugzilla.redhat.com Bugzilla]. Remember to file bugs according to these [[BugsAndFeatureRequests|best practices]]. Please remember that bugs should always be filed in Bugzilla. Reporting bugs on the mailing list or IRC is not sufficient, as these reports rapidly become lost in history. Only on Bugzilla will they always be accessible to other testers and to the developers.
Package maintainers should read and follow the [[Updates_Policy#Rawhide_.2F_devel_.2F_master|Rawhide updates policy]] for building any packages in Rawhide.


Beyond that, here is some general advice which may be of use in using Rawhide:
If needed and approved by [[Fedora_Engineering_Steering_Committee|FESCo]], Mass Rebuilds are done by release-engineering in Rawhide a month or so before the next release branches from it. Typically these are done for a global change over all packages such as a new gcc release, or rpm package format.


* Approach the test release as a valuable chance to learn more about your system. There is a good chance you will run into some bugs in subsystems or components that you are unfamiliar with as part of the testing process. Use this an opportunity to learn more about that particular subsystem and become familiar with its documentation. Even documentation has bugs, by following up and trying to learn from the documentation you might be able to help clean up badly worded or out of date documentation as well. The more you learn, the more effective you will be in the future if you participate in the development process again. Be as proactive as you can about reading about how things work and you will have a much more valuable experience overall.
Rawhide packages are currently not signed. Work is ongoing to sign at least the majority of them.
* When using yum, take the time to review the list of package actions before you proceed. Don't disable the review step.
* Become familiar with the ''/var/log/rpmpkgs'' and ''/var/log/yum.log'' log files.
* Get a notebook and make notes about system configuration changes you make. Many problems can be traced to simple configuration errors, but can appear as package update bugs. When working with other testers to confirm the problem, make notes as to the other changes you have made since the last update/reboot can be invaluable in tracing the problem down accurately.
* Keep at least one older kernel that you are confident works as expected.
* Reboot daily, to test to see if any of your updates have affected startup. Its much more difficult to track down a boot up problem that was caused by an old update if you are updating daily but have not rebooted.
* Become familiar with useful grub features for troubleshooting boot up failures.
* Don't force or ''nodeps'' any package to work around dependency problems. Instead, report them as bugs or to test-list. If no-one reports these problems, they will never get fixed, and will persist into stable releases.
* Because the development tree is not guaranteed to be internally consistent every day, you will frequently see ''yum update'' fail with errors. Don't Panic, most dependency problems will be fixed by the developers in one or two days - sometimes simply by requesting more package rebuilds. If you see a dependency problem with ''yum update'' on your system for several days in a row, and see no discussion of it on test-list, see below to decide how you should report it or if a report is necessary.
* If there is one error (such as a package depending on an old library) holding you back from a full Rawhide update, you can use ''yum update --skip-broken'' to update all other packages. However, make sure the error has been reported to the maintainer of the offending package.
* You might need to disable GPG checking in /etc/yum.conf or the fedora-devel repository in /etc/yum.repos.d if packages are incorrectly signed.
* Take advantage of downloading packages from koji and using 'yum downgrade' to help isolate package updates that caused issues and work around them until they are fixed.  


=== When to Report Update Problems ===
== Questions and Answers ==


A daily build report of the development tree sent to the {{fplist|test}} and the {{fplist|devel}} lists every morning as part of the automated push of packages out to the publicly accessible trees. The daily report contains information about new, removed and updated packages. It also contains a summary of known dependency problems for each arch for which the development tree is built. If you experience any problems updating against the development tree the first thing you should review is the last two or three build reports. If you are seeing a dependency problem summarized in the latest build report, you can be sure the developers are aware of the problem.  Package maintainers receive daily emails when their packages are on this list.
'''Q:''' Doesn't rawhide eat babies / kill pets / burn down houses / break constantly?


Note that the broken dependency list, which is part of the daily rawhide reports, only provides the first layer of dependencies and not the entire list, this saves build time.  Unlisted packages might also be affected, but fixed when one or more of the listed packages are rebuilt.
A: No. Please stop telling anyone that.  


If, however, the problem lingers longer than a few days on your system, and the problem package is not listed in the daily report, that could be an indication that you have run into a situational bug that not everyone is seeing. This is when you can spring into action as a tester and make a difference. But, before you file a new bug report there is a short recipe you can follow to avoid filing unnecessarily. Please remember that test releases exist primarily to help the developers identify problems so they can be fixed in time for release. Unfortunately, reactionary bug filing of duplicate or well known issues can take developer time away from actually fixing issues.
'''Q:''' So Rawhide is very stable and we can all use it?


# Read {{fplist|test}} and {{fplist|devel}}: Go back into your archives or the web archives for {{fplist|test}} and read over the threads for the last 48 hours and see if there has been any discussion about the specific update errors you have been seeing. Generally, these sorts of errors are seen by most everyone with similar hardware, so there's a very good chance that other testers are already discussing it. Please don't post a new post to fedora-test-list until after you have reviewed the last 48 hours worth of posts. Having multiple discussions about the same issue is a drain on other testers and developers.
A: No. See audience above. There are things that break from time to time, but if you are able to downgrade or troubleshoot such issues aren't too severe, however most users should stick to Stable Fedora releases.  
# Search [http://bugzilla.redhat.com Bugzilla]: Search to see if there are any reports about the update issue you have seen.
# Drop a note into fedora-test-list: Please start a new thread only after you have attempted to find a previous discussion of this problem in the test-list or in bugzilla. Other testers can help you confirm the problem. If they can't confirm it they can help you determine if its a configuration problem or user error on your part. The test-list is a great way to obtain assistance from other more experienced testers, but please do what you can to use the archives responsibly to avoid duplication of information and discussion.
# File a new bug report: If the exact nature of the dependency problem during updating is lingering for several days, or if the problem seems specialized to your situation and it doesn't appear that the developer is aware of this problem, file a new bug. If you are unsure how to file, experienced testers in fedora-test-list can make suggestions. Please don't assume its a yum bug. Most dependency issues are packaging bugs in one of the packages detailed in the error messages.


=== What does it mean when something "hits Rawhide"? ===
'''Q:''' I'm using a Stable Fedora release, but I want the newer package for foo thats only available in Rawhide. Can I just yum install it?


Rawhide is automatically generated once daily from the latest packages that are built. Packages that are built one day are generally in rawhide the next day. For the curious, the build is done at Midnight US Eastern, 0400/0500 UTC.
A: No. Mixing releases like this is a very bad idea. Your better options are:


=== What is a rawhide "push"? ===
* Obtain the src.rpm for the package you wish and try and rpmbuild --rebuild it (which may or may not work depending on dependencies)
* Ask the Fedora maintainer in a bug report to update the stable version if permitted by policy.


A rawhide push is simply the rawhide spin for that day. Occasionally, if the push is extremely broken, it may be regenerated more than once.
'''Q:''' I want to run the rawhide kernel on my Stable Fedora machine. Can I do that?


=== Where do I communicate issues in Rawhide ? ===
A: Sometimes yes. The kernel is more self contained than other rawhide packages and you also can easily boot your older kernel. Simply download and yum install the package.


Use the {{fplist|test}} list or {{fpchat|#fedora-qa}} IRC channel on http://freenode.net. For bugs, report them to [http://bugzilla.redhat.com Bugzilla], remember the bug version is rawhide.
'''Q:''' Is Rawhide a "rolling release" ?


=== How can I know what is changing in Rawhide? ===
A: It depends on how you define that, but yes.


Nightly reports are sent to {{fplist|test}} and {{fplist|devel}}, with the subject ''''rawhide report: <date> changes''''.
'''Q:''' How can I tell when the rawhide compose for the day has finished?
Included in these reports are lists of packages that have been added, removed, or updated (with short changelog snippets), along with a list of any broken dependencies.


Good resources for the state of many Fedora projects:
A: You can see the reports it sends to the {{fplist|test}} and the {{fplist|devel}} lists. You can also watch fedmsg for the messages that rawhide compose has finished.
* http://git.fedoraproject.org/
 
* https://fedorahosted.org/
'''Q:''' How do I get out of Rawhide again ? I want to continue on the branch leading to the next release.
 
A: You can simply disable the rawhide repository in /etc/yum.repos.d/rawhide.repo.
 
A possible problem is that you might miss the branching point, and your system has already a bunch of post-branch rawhide packages installed. In that case, yum distro-sync will help you to get everything back on the right track.
 
'''Q:''' As a package maintainer do I have to build rawhide packages or does the night compose take care of that?
 
A: No. You must build for rawhide using koji. The nightly compose only collects packages already built and marked with the appropriate target (rawhide) in koji.
 
== Hints and Tips ==
 
* Your package management system can be of great help in diagnosing and working around issues you find. Do read up and understand: 'yum downgrade' 'yum history' 'yum update --skip-broken' 'koji download-build'.
 
* You should update frequently (preferably every day). This allows you to more easily narrow down when a problem or issue appeared. If you apply a week of Rawhide updates at once you have many more packages to examine to narrow down issues.
 
* Reboot often (preferably whenever new kernels arrive). This allows you to test the boot up process and packages related to it, as well as newer kernels. Read and understand the Dracut troubleshooting steps.
 
* Follow the {{fplist|test}} and the {{fplist|devel}} lists for rawhide issues, try and at least skim them before doing your daily Rawhide updates. Look for '[rawhide]' subjects or reports of issues. Additionally if you find a problem and are not sure what to file bugs against you can open a discussion there.
 
* Rawhide kernels are made with a large amount of debugging enabled. You can often gain a good deal of performance by passing "slub_debug=-" to your kernel boot line in /etc/grub2.cfg. Additionally, you can run kernels in the [[RawhideKernelNodebug|Rawhide Kernel Nodebug]] repo that have all debugging disabled.
 
* If you are using a graphical desktop environment in your Rawhide install, you may wish to install several of them. This allows you to still login and troubleshoot when your primary desktop environment is not working for some reason.
 
* Have a rescue media handy of the current stable Fedora release for emergencies.
 
== History ==
 
Red Hat Linux "Raw Hide" announcement: [http://lwn.net/1998/0820/rawhide.html on lwn]
 
The name might come from [http://en.wikipedia.org/wiki/Rawhide_%28song%29 the song with the same name] that starts with "Rolling, rolling, rolling, ..."
 
At one time, rawhide would freeze before release milestones, this was changed with the new:
[[No_Frozen_Rawhide_Proposal]] and branched process which we now follow.

Revision as of 02:05, 14 July 2013

Rawhide

Rawhide is the name given to the current development version of Fedora. It consists of a package repository called "rawhide" and contains the latest build of all Fedora packages updated on a daily basis. Nightly live image builds are also available during the early portion of the Fedora Release Life Cycle.

Rawhide is sometimes called "development" or "master" (as it's the "master" branch in Package git repositories).

Goals

Rawhide has the following Goals:

  • To allow package maintainers to integrate the newest usable versions of their packages into Fedora.
  • To allow advanced users access to the newest usable packages in a rolling manner.
  • To allow incremental changes to packages that are either too minor or major to go to stable Fedora releases.
  • To identify and fix issues with packages before they reach a stable release of Fedora.

Using Rawhide

This section discusses rawhide's target users and how to test Rawhide with Live media, within a virtual installation or on a bare metal installation.

Audience

Rawhide is targeted at advanced users, testers and package maintainers.

As a rawhide consumer, you should:

  • Be willing to update on an almost daily basis. Rawhide gets hundreds of updates a day, and applying those updates on a regular basis allows you to more easily troubleshoot issues.
  • Be willing and able to troubleshoot problems. From time to time there are problems with Rawhide packages, and you will need strong troubleshooting skills and the ability to gather information for bug reports. You need a good understanding of yum and how to downgrade packages, as well as boot time troubleshooting.
  • Have time and desire to always be able to learn new interfaces and changes. Rawhide packages stick closely to upstream projects, so interfaces and command-line options are subject to frequent changes.
  • Frequent reboots to test new kernel versions and confirm functionality of the boot process. If you can't reboot often, consider using a stable release instead.
  • Be willing and able to report bugs as you find them and help maintainers gather information to fix them.

If the above doesn't match you, you may wish to instead follow the Branched release (depending on the point in the release cycle) or use regular stable Fedora releases.

Live media

After the release of the previous final release, but before the Branch event, nightly builds will be composed from Rawhide. You may be able to use these automated Live images to boot and test Rawhide. These images are automatically composed and not tested by QA.

Virtual instances

You may wish to install and run Rawhide in a virtual machine (VM) instance. This allows you to test Rawhide when not running Linux, or avoid any impact to your day-to-day workflow.

See the section below on setting up a Rawhide install.

Getting a Rawhide install

The following options are available to install a fedora rawhide instance:

Install from Live media

If Live media are being composed from Rawhide (see above), you may be able to download the Live media, copy it to local media, boot and install Rawhide.

This is the most fragile way to get a Rawhide install, as Live media is only produced at some points in the cycle, sometimes does not compose, and when it does, may not install correctly.

Use rawhide Boot.iso

Unless some problem occurs, a boot.iso is produced each day in the rawhide compose. It may or may not install, depending on the state of the tree and the installer. You can copy the boot.iso to media in any of the normal ways and use it to install.

Point installer to Rawhide

You can sometimes install Rawhide by using a stable install media and pointing it to the Rawhide repository for packages to install.

  1. Download the latest stable or branched install media. (netinstall or DVD install)
  2. Copy to local media (USB or DVD or CD)
  3. Boot media and go to the 'Install Source' section and manually enter:
    https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/x86_64/os/
    (or i386 for 32bit)
  4. Finish the install as normal.

For this method to work, there should be no major changes in Rawhide that the installer is not ready for, such as packages it depends on being retired or other similar situations.

Yum from Existing install

You may use yum to upgrade from the most recent Stable or Branched release. You will need to have such an install in place and should likely update to the newest updates before starting.

See Upgrading Fedora using yum Rawhide info

This method may fail if there are upgrade path issues (newer packages in Stable or Branched than Rawhide), or broken dependencies.

Communicating

There are a number of ways to communicate with other Rawhide users:

IRC

Rawhide discussion is on topic and welcome in both the #fedora-devel[?] and #fedora-qa[?] IRC channels.

Mailing Lists

Rawhide discussion is on topic and welcome in both the test and devel lists.

Bugzilla

Rawhide bugs should be reported against the Fedora Product, rawhide version and the affected component. Please do follow best practices when filing. Remember that IRC and mailing lists are useful to help narrow down if some behavior is a bug or where to report it, but are themselves not bug reporting channels. Always file bugs in Bugzilla.

Note that broken dependencies are mailed to maintainers for each daily Rawhide compose where a package has such broken dependencies. Therefore, it's usually not worth filing a bug for broken dependencies unless they don't appear in the daily report, or you have a fix or improvement to suggest.

Producing Rawhide

Package owners must build for rawhide using koji just like you would any other build; you do not go through the bodhi process and the build becomes available almost immediately.

The Rawhide repository is composed every day starting at 08:15UTC. All rawhide builds in the buildsystem at that time are composed and pushed out to mirrors. Rawhide is under "development/rawhide" on the mirrors. You can find a local "development" mirror on the public mirror list. Compose time varies depending on number of changes but is typically between 5 and 8 hours.

Composes are done in a rawhide chroot using the 'mash' tool called from a script maintained by Fedora Release engineering: http://git.fedorahosted.org/cgit/releng/tree/scripts/buildrawhide If the base set of packages in rawhide needed to compose rawhide are broken, the daily compose may fail.

A report for each Rawhide compose is sent to to the test and the devel lists. This report contains output from the 'repodiff' tool from the previous compose as well as a broken dependency report for packages with broken dependencies. Additionally, private email is sent to maintainers with packages containing broken dependencies.

Package maintainers should read and follow the Rawhide updates policy for building any packages in Rawhide.

If needed and approved by FESCo, Mass Rebuilds are done by release-engineering in Rawhide a month or so before the next release branches from it. Typically these are done for a global change over all packages such as a new gcc release, or rpm package format.

Rawhide packages are currently not signed. Work is ongoing to sign at least the majority of them.

Questions and Answers

Q: Doesn't rawhide eat babies / kill pets / burn down houses / break constantly?

A: No. Please stop telling anyone that.

Q: So Rawhide is very stable and we can all use it?

A: No. See audience above. There are things that break from time to time, but if you are able to downgrade or troubleshoot such issues aren't too severe, however most users should stick to Stable Fedora releases.

Q: I'm using a Stable Fedora release, but I want the newer package for foo thats only available in Rawhide. Can I just yum install it?

A: No. Mixing releases like this is a very bad idea. Your better options are:

  • Obtain the src.rpm for the package you wish and try and rpmbuild --rebuild it (which may or may not work depending on dependencies)
  • Ask the Fedora maintainer in a bug report to update the stable version if permitted by policy.

Q: I want to run the rawhide kernel on my Stable Fedora machine. Can I do that?

A: Sometimes yes. The kernel is more self contained than other rawhide packages and you also can easily boot your older kernel. Simply download and yum install the package.

Q: Is Rawhide a "rolling release" ?

A: It depends on how you define that, but yes.

Q: How can I tell when the rawhide compose for the day has finished?

A: You can see the reports it sends to the test and the devel lists. You can also watch fedmsg for the messages that rawhide compose has finished.

Q: How do I get out of Rawhide again ? I want to continue on the branch leading to the next release.

A: You can simply disable the rawhide repository in /etc/yum.repos.d/rawhide.repo.

A possible problem is that you might miss the branching point, and your system has already a bunch of post-branch rawhide packages installed. In that case, yum distro-sync will help you to get everything back on the right track.

Q: As a package maintainer do I have to build rawhide packages or does the night compose take care of that?

A: No. You must build for rawhide using koji. The nightly compose only collects packages already built and marked with the appropriate target (rawhide) in koji.

Hints and Tips

  • Your package management system can be of great help in diagnosing and working around issues you find. Do read up and understand: 'yum downgrade' 'yum history' 'yum update --skip-broken' 'koji download-build'.
  • You should update frequently (preferably every day). This allows you to more easily narrow down when a problem or issue appeared. If you apply a week of Rawhide updates at once you have many more packages to examine to narrow down issues.
  • Reboot often (preferably whenever new kernels arrive). This allows you to test the boot up process and packages related to it, as well as newer kernels. Read and understand the Dracut troubleshooting steps.
  • Follow the test and the devel lists for rawhide issues, try and at least skim them before doing your daily Rawhide updates. Look for '[rawhide]' subjects or reports of issues. Additionally if you find a problem and are not sure what to file bugs against you can open a discussion there.
  • Rawhide kernels are made with a large amount of debugging enabled. You can often gain a good deal of performance by passing "slub_debug=-" to your kernel boot line in /etc/grub2.cfg. Additionally, you can run kernels in the Rawhide Kernel Nodebug repo that have all debugging disabled.
  • If you are using a graphical desktop environment in your Rawhide install, you may wish to install several of them. This allows you to still login and troubleshoot when your primary desktop environment is not working for some reason.
  • Have a rescue media handy of the current stable Fedora release for emergencies.

History

Red Hat Linux "Raw Hide" announcement: on lwn

The name might come from the song with the same name that starts with "Rolling, rolling, rolling, ..."

At one time, rawhide would freeze before release milestones, this was changed with the new: No_Frozen_Rawhide_Proposal and branched process which we now follow.