From Fedora Project Wiki

Revision as of 16:33, 24 May 2008 by Ravidiip (talk | contribs) (1 revision(s))

Cette page est en cours de développement

Guide sur les tests de Fedora

Préface

Permettez un moment d'expliquer les buts de ce document. Ce document est conçu pour fournir a vous, l'utilisateur enthousiaste de Fedora Core, les facons d'être implique sur les processus de développement comme testeur. S'illustrer pour devenir part du processus de développement peut être frustrant pour certains gens, surtout lorsqu'ils ne sont pas preparés. La clé pour obtenir une expérience valable est de commencer avec un bon objectif et une selection minimale des outils necessaires. Let us take a quick moment to describe to you the goals of this document. This document is here to provide you, the novice but enthusiastic fedora core user, with my personal opinions on how you can become an important part of the development process of fedora core as a tester. I'm not going to lie to you, stepping up to become a part of the development process can be frustrating for some people, especially if they are unprepared for the experience. The key to having a worthwhile experience is starting off with the right expectations and a minimal set of tools you can use to do commonly needed troubleshooting. This document is my attempt to provide both.


Proposition des mise-à-jour de Fedora

  • Le dépôt Fedora updates-testing contient un calendrier des mise-à-jour des sorties maintenues de Fedora. Les tester et fournir des commentation sur la liste de diffusion fedora-test et les rapports révélatrie de bugzilla aident les développeurs de corriger les régressions possibles. Pour les tester, activez le dépot updates-testing dans /etc/yum.repos.d et executez 'yum update'. Un systeme dedie au test est tres utilises pour les verifications.


Depot Fedora development

  • La branche Fedora Development (appele Rawhide) est une sortie quotidienne de nouvelles mises a jour de developpement dans Fedora Core. Son but est d'agir comme la fondation pour les progres de Fedora Core. Elle contient souvent de logiciels unstables et brutes (bleeding-edge). La branche s'adresse seulement aux developeurs et aux testeurs puisque les paquets peuvent se briser sans avertissement a n'importe quel moment. La meilleure facon de la tester est d'avoir une partition ou un systeme dedie a cette installation.
  • Periodiquement, la version 'test' de Fedora Core est produite. Si vous n'etes pas interesse a tester Rawhide, la sortie test est legerement plus stable(they are at least tested to install successfully on a few machines). Il existe trois sorties de test avant la sortie finale de Fedora Core.


Calendrier de sortie Fedora Core 6


Bogues communs Fedora Core 6 Common Bugs


Commentaires et communication

Une fois que vous avez commence a utiliser les paquets de developpement, il est important de fournir des commentaires aux developpeurs sur leurs progres. L'arbre de developpement a des changements constants qui pourrait affecter les comportements des applications dans votre systeme. Il est importants que les developpeurs compremment ce qui fonctionne ou non afin d'ameliorer fedora. N'assumez pas qu'un probleme est connu.

  • Assurez-vous de vous abonner aux listes de diffusion de fedora-test et fedora-devel pour recevoir les rapports quotidiens du rawhide au sujet des changements sur les paquets de developmment et d'autres annoncements relies. Libre a vous de poster sur les listes de fedora-test et fedora-devel si vous avez besoin d'aide ou si vous voulez initier des discussions sur les changements recents de developpement ou les bogues. Consultez la page Communicate pour plus d'information. Si vous etes nouveau a la liste, il sera prudent de lire les archives recents.
  • Rapportez les bogues et suggerez les amelioration au Fedora Bugzilla. Utilisez le guide BugsAndFeatureRequests

(en) pour un meilleur rapport.

Initial Expectations

  • A dedicated test system
  • Interest in Fedora development

Here are some important initial expectations I think every testers should be aware of before participating in the development process. If these expectations don't suit you, you will most likely have a more frustrating experience later on in the process. As much as testing efforts are appreciated, no one wants to make the process unduly frustrating, so its important to come into the process with your head calibrated with what to expect.

  • Be prepared to do a fresh install of the final release. By installing a test release you are essentially agreeing to doing a fresh install of a stable release when you are ready to stop participating in the development process. Please remember that the fedora core development process is an on-going affair and the test releases are just more easily digestable versions of the current development tree. Once you install the test release you are essentially running a version of the development tree. Once you start installing updates you are syncing with the development tree. Moving off the development tree to any stable release could be considered downgrading in a sense.
  • Be prepared to file bug reports and follow up as needed with developers. The bulk of communication with developers happens through bugzilla. The fedora-test-list mailinglist is great for discussion between testers for things like bug confirmation or help trying to troubleshoot a bug you don't have enough experience with. But at the end of the day, important issues must get filed in bugzilla to make sure the right developer sees the issue in time to do something about it for the final release. Other people in the community can help you file a useful bugreport, but you must be prepared to file. That means at a minimum registering a bugzilla account at bugzilla.redhat.com and making some effort to get use to the bugzilla interface.
  • Be prepared to see daily package update failures. Test releases get updates directly from the development tree. The development tree is not guaranteed to be self-consistent every day. You will see somewhat randomly occuring update problems simply because of how the set of development packages are built. Its impossible to rebuild all the development packages overnight. So daily package updates will result in dependancy problems on occasion, which the developers fix in one or two days simply by requesting further package rebuilds.

There is a daily build report of the development tree sent to the fedora-test-list 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 dependancy problems for each arch for which the development tree is built for. Please, if you experience any problem updating against the development tree the first thing you should review is the last 2 or 3 build reports. If you are seeing a dependancy problem summarized in the latest build report, you can be sure the developers are aware of the problem. Below I give you some helpful troubleshooting tips to pinpoint exactly whats going on when you see unexpected problems.

  • 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 very unfamiliar with as part of the testing process. Use this an opportunity to learn more about that particular subsystem and get 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 up on how things work and you will have a much more valuable experience overall.


Successful strategies for keeping up with package updates

The test releases recieve their updates from the development tree, affectionately known as rawhide.

raw: because the packages there are untested and freshly built

hide: because its your hide thats going to get burned if there is a problem with them.

Once you have lived through one testing cycle, you can probably deal with rawhide's more characteristic characteristics without much drama. But if you are new to the testing process, you can get yourself into trouble very quickly. Even worse, you can get in trouble in a way that makes it difficult for other testers to help you track down enough information after the fact to file a useful bugreport. Please remember the goal is to get issues identified for the developers to fix. Inexperienced tester needs to take more care to keep notes and avoid using pathelogical shortcuts when updating or installing packages. Here are my personal suggestions as to what you can do to make it easier to diagnose problems seen after package updates.

  • when using yum take the time to review the list of package actions before you proceed, don't disable the review step
  • get familiar with /var/log/rpmpkgs log file and the /var/log/yum.log file.
  • 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, notes as to the other changes you have made since last update/reboot can be invaluable in tracing the problem down accurately.
  • keep at least one older kernel around 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 a week+ old update, if you are updating daily but have not rebooted.
  • get familiar with useful grub features for troubleshooting boot up failures. covered below in tips and tricks
  • don't force or nodeps any package to work around dependancy problems. These sorts of shortcuts make it very difficult for other testers to compare their system behavior to yours.



Installation

There are two ways to install Rawhide

  • Install Rawhide directly from the devel tree.
  • Install a Fedora Core release -- final or test version -- and upgrade to Rawhide.


Commonly experienced problems

yum update failures

Because the development tree is not garunteed to be self-consistent everyday, you will frequently see yum update fail with errors. Don't Panic. Most dependancy problems will be fixed by the developers in one or two days. But in the meantime you can still continue to do most of the yum updates by use of yum's exclude options. Let's work with an example from the timeframe between fc4t1 and fc4t2 test releases:

yum update



...
Error: Missing Dependency: libwnck-1.so.4 is needed by package gnome-applets
Error: Missing Dependency: libpisock.so.8 is needed by package gnome-pilot

First, identify what packages are providing libwnck-1.so.4 and libpisock.so.8 using yum's provides command

yum provides libwnck-1.so.4


...
libwnck.i386                             X.Y.Z-A               installed
yum provides libpisock.so.8
...
pilot-link.i386                          B:X.Y.Z-A.pre0.0      installed


Note the name of the package that provides those libraries and note whether a version of the package is installed. Now you can attempt to exclude packages that were part of the dependancy error message:

yum --exclude=pilot-link --exclude=libwnck --exclude=gnome-applets --exclude=gnome-pilot update

Repeat the above steps if the exclude options expose more dependancy errors. The exclude process runs a very good chance of letting you proceed with the other package updates until the developers rebuild the necessary packages.

Normally developers are made aware of these issues by the build system and will have these issues fixed in a couple of days. If however the problem lingers longer than that on your system, 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 bugreport there is a short recipe you can follow to avoid filing unecessarily. 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.

1. read fedora-test-list: Go back into your archives or the web archives for fedora-test-list and read over the threads in 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 its a very good chance that other testers are already discussing it. Please don't just 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 the time of other testers and developers. 2. search bugzlla.redhat.com: Search to see if there are any reports about the update issue you have seen 3. drop a note into fedora-test-list: Please only start a new thread only after you attempted to find previous discussion of this problem in the test-list or in bugzilla. Other testers can help you confirm the problem, or 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 assistance from other more experienced testers, but please do what you can to use the archives responsibility to avoid duplication of information and discussion. 4. File a new bug report: If the exact nature of the dependancy 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 dependancy issues are packaging bugs in one of the packages detailed in the error messages.


Tips and Tricks

  • You might need to disable GPG check in /etc/yum.conf or the fedora-devel repository in /etc/yum.repos.d if packages are incorrectly signed
  • The broken dependency list which is part of the daily rawhide reports only provides the first layer of dependencies and not the entire list to save build time. If you would like to get updates excluding all the potentially broken dependencies in Fedora development tree see ["Tools/yum"] page for a script.

Installation

There are two ways to install Rawhide

  • Install Rawhide directly from the devel tree.
  • Install a Fedora Core release -- final or test version -- and upgrade to Rawhide.

Upgrading from a previous release

Enable fedora-devel and extras-devel repository and disable the rest. Run yum update.


Installing Rawhide Using CD/DVD

  • Download Fedora Core CD/DVD (boot.iso is fine)
  • You can find the boot.iso image in the fedora/development/arch/os/images' directory. Where arch is the architecture of the system you want to install with.
  • Use a mirror list for a network installation mirror URL

For example:

http://fedora.mirrored.ca/fedora/development/i386/os

The protocol: http

The domain: fedora.mirrored.ca

The path: fedora/development/i386/os

  • Boot from the CD/DVD

You will have to be sure that your BIOS will allow you to boot from CD/DVD.

  • At the boot prompt, enter:
linux method=<URL>

Where <URL> is the mirror URL you selected. It is possible to use the HTTP, FTP and NFS protocols. If you would prefer to use the menu system (which may present additional options), enter:

linux askmethod

Follow the on-screen instructions from Anaconda, the graphical installer. The installation is very straighforward.