From Fedora Project Wiki

< User:Kevin

Revision as of 20:39, 9 March 2013 by Kevin (talk | contribs) (more minor tweaks)

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 Stable Fedora.

Using Rawhide

This section discusses rawhide's target users, how to test Rawhide with a Live media, Virtual install or Bare metal.

Audience

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

As a rawhide consumer, you should:

  • 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.
  • 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.
  • 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.
  • 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 instance. This allows you to test Rawhide when you otherwise may not have Linux hardware, or avoid impacts to your day to day workflow.

See the section below on getting a Rawhide install setup.

Getting a Rawhide install

The Rawhide tree is not directly installable so you will often need to install in several steps.

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.

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)
  1. Copy to local media (usb or dvd or cd)
  1. Boot media and go to the 'Install Source' spoke and manually enter:

https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/x86_64/os/

(or i386 for 32bit)

  1. Finish the install as normal.

This method depends on there being no major changes in Rawhide that the installer is unready for, like packages it depends on being retired or the like.

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

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.

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 a 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.

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-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 Env is not working for some reason.
  • Have a rescue media handy of the current stable Fedora release for emergencies.

History

Does anyone know the history of the name? <fill in here>

At one time, rawhide would freeze before release milestones, this was changed with the new: http://fedoraproject.org/wiki/No_Frozen_Rawhide_Proposal and branched process.