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.
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.
Using Rawhide
This section discusses how to use Rawhide, as a live system or permanently installed.
Not recommended for production systems
We do not recommend that you run Rawhide as your primary production operating system. Instead, we suggest you could install and run Rawhide:
- As a live environment only
- In a virtual machine (VM) instance
- On a secondary system
- On a multiboot system, alongside a stable release of Fedora or another operating system
This allows you to test Rawhide without any impact to your day-to-day workflow.
Nightly images
Rawhide live images are automatically composed each night (U.S. time) by Koji. You can find these live images via the Release Engineering dashboard, under LiveCD Builds. Clicking on the name of an image will download the most recent successful nightly compose.
A network install image named boot.iso
is also generated for Rawhide each night, and can be found in the pub/fedora/linux/development/rawhide/(arch)/os/images/
directory on mirrors:
You can attempt to install Rawhide from these images; you are considerably more likely to encounter problems than you would with a stable release, however, as the installer itself and all its dependencies are of course in an unstable state. Follow the normal installation procedure to install Rawhide.
For PXE installations, the relevant files can be found in the pub/fedora/linux/development/rawhide/(arch)/os/images/pxeboot
directory.
Point installer to Rawhide repositories
You can sometimes install Rawhide by using a stable install medium and pointing it to the Rawhide repository for packages to install.
- Boot the most recent stable Fedora installer following the normal procedure
- Go to the Installation Source screen, click the On the network: button, set the dropdown box to https://, and manually enter: download.fedoraproject.org/pub/fedora/linux/development/rawhide/(arch)/os/ (where (arch) is x86_64 or i386 as appropriate) as the address
- 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.
Upgrade from an existing installation
You may also try to install a non-Rawhide release of Fedora, and then upgrade to Rawhide. It is usually best to use the newest release available, and install all updates for the release itself before attempting to upgrade to Rawhide.
You can attempt the upgrade with yum or with Fedup. To use fedup, run fedup --network rawhide --nogpgcheck --instrepo http://download.fedoraproject.org/pub/fedora/linux/development/rawhide/(arch)/os/
, where (arch) is i386 or x86_64 as appropriate.
This method may fail if there are upgrade path issues (newer packages in Stable or Branched than Rawhide), or broken dependencies. You may be able to work around the problem by removing the packages that have issues (and reinstalling them at a later date once the issues are fixed).
Discussing Rawhide
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 05: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 everyone 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. Most users should still stick to stable Fedora releases, but Rawhide is a viable option for enthusiasts to experiment with.
Q: I'm using a Stable Fedora release, but I want a newer package version that's only available in Rawhide. Can I just yum install it?
A: No. Mixing releases like this is a very bad idea. Better options are:
- Ask the Fedora maintainer in a bug report to update the stable version if permitted by policy.
- Obtain the src.rpm for the package you wish and try and rpmbuild --rebuild it (which may or may not work depending on dependencies).
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 if the Rawhide kernel goes wrong. Simply download and yum install the package. However, note that Rawhide kernels often have debugging code enabled, which results in them performing noticeably worse than 'release' kernels (they will be slower and consume more memory).
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: Check the dashboard! You can also see the reports it sends to the test and the devel lists, or 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: Remove the fedora-release-rawhide
package, and perhaps run {{{1}}}
.
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, the 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 nightly 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.
Q: Why aren't Rawhide packages signed?
A: A variety of reasons. There's no gating of packages and signing is manual, so there would always be some that are not signed. Additionally resources like disk space, signing server time and releng time would be impacted.
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/default/grub. 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 No_Frozen_Rawhide_Proposal and Branched process which we now follow.