From Fedora Project Wiki

Line 71: Line 71:


* rpmreaper - manual review of pkg dependency tree
* rpmreaper - manual review of pkg dependency tree
* rpm2comps - lists installed packages by comps group [https://fedoraproject.org/w/uploads/8/8b/Rpm2comps.sh]
* rpm2comps.py - lists installed packages by comps group [[File:Rpm2comps.sh]]
* comps_group_deps.py - show suspicious deps between comps groups [[File:Comps group deps.sh]]


==== Tips & Tricks ====
==== Tips & Tricks ====

Revision as of 11:16, 21 April 2009

DATE TIME WHERE
Thu April 21st, 2009 From 12:00 to 00:00 UTC (8am -> 8pm ET) #fedora-qa)

What to test?

Today's instalment of Fedora Test Day will focus on:

  • Features/MinimalPlatform
  • reviewing and clearing package dependency tree to allow users to install just those packages they want

Who's available

The following cast of characters will be available for testing, workarounds, bug fixes, and general discussion ...

What's needed to test

Use caution
Remember, rawhide is a development branch. Use an installation you don't mind getting broken.

How to detect unwanted dependencies

We want to detect packages that would deserve split to subpackages to make deps more fine-grained and have only necessary packages installed.

Areas of this search can be:

  • remove desktop packages from server
  • review comps groups and make sure that deps are sane (create group hierarchy, ensure that group packages (incl. deps) are not listed in any "higher" group. Example: bluez-gnome pulled to @base)
  • ensure that libraries are in a subpackage (to make multilib stuff happy)
  • documentation should be in noarch.rpm
  • bindings to databases/programming languages/desktop environments etc. should be in subpackages
  • default installation package set (does everyone need to have texlive installed by default? :) )


OUTPUT FROM TEST DAY

  • packaging guidelines for dependencies and subpackaging
  • a sanity script checking if a package matches the guideline (rpmlint plugin?)
  • list of comps packages/groups to be reviewed (TC1)
  • spins dependency trees are reviewed
  • bugs reported for relevant components
  • test cases defined/automated

How to test?

Update your machine

See the instructions on the Rawhide page on the various ways in which you can install or update to Rawhide. Or:

Optionally, you may download a non-destructive rawhide live image for your architecture. Tips on using a live image are available at FedoraLiveCD.

Test Cases

Test Tools

  • rpmreaper - manual review of pkg dependency tree
  • rpm2comps.py - lists installed packages by comps group File:Rpm2comps.sh
  • comps_group_deps.py - show suspicious deps between comps groups File:Comps group deps.sh

Tips & Tricks

  • info about comp groups
 # yum grouplist; yum groupinfo core
  • what group is package in
 # repoquery --groupmember ypserv
  • removing / installing whole group
 # yum groupinstall web-server; yum groupremove web-server
  • list dependency problems
 # package-cleanup --problems

Follow one or more of these test cases:

TC1: Comps groups inter-dependencies review

  • Package from lower group should not depend on package from higher group
  • Pick several packages from candidate list (COMING SOON) and review the suspected dependencies, report bugs
  • TO_ATTACH: list of candidates, comps groups structure (TBD on Tuesday)
  • EXAMPLE: gnome-desktop pulled as deps for printing: fedora-gnome-theme, gnome-themes, gtk2-engines, notification daemon. Examine the packages and confirm validity of dependency, eventually report bug. Use rpmreaper.


TC2: Spins and specific installations

  • select spin/area from list and install it in chroot, optionally: try if is installable
    • minimal installation
    • any of fedora spins
    • a comps group (core, base, base-x, web-server, mail-server, gnome-desktop, kde-destop ...)
  • report: list of packages you require, list of packages which were really installed
  • TO_ATTACH: list of spins / specific areas, manual - install in chroot
  • EXAMPLE: yum --installroot=$CHROOT do minimal installation in chroot. Check dependencies which were brought with using rpm2comps, rpmreaper. Report bugs and upload results: # rpm2comps > TC2.$username_minimal_install_rpms.txt

TC3: Default installation

  • install default installation (you can use different desktop instead of GNOME)
  • review installed package set
  • add packages you usually use and you think they should be in default install
  • remove those you don't need (rpmreaper can help)
  • report your favorite package set back using rpm2comps
  • EXAMPLE: Install default F11 Beta. Remove several packages which are not useful for you (rpm -e texlive). Upload results: # rpm2comps > TC3.$username_default_rpms.txt

TC4: Custom packages (alternative to TC3)

  • review package dependencies on your desktop
  • remove packages you don't use (need)
  • report your favorite package set back
  • QA:Testcase_Minimal_Platform_dependencies
  • EXAMPLE: Use your current installation, remove several packages which are not useful for you, add your favorite ones. Upload results: # rpm2comps > TC4.$username_custom_rpms.txt


Report your results

  • If you are unsure about exactly how to file the report, just ask on IRC and we will help you. Once you have completed the tests, add your results to the Results table below.
  • The first column should be your name with a link to your User page in the Wiki if you have one
  • and the second should be a link to your Smolt hardware profile (see above for a link with instructions on submitting your hardware profile to Smolt).
  • For each test case, primarly see instruction in testcase

Results

User Smolt Profile TC1 TC2 TC3 TC4 Bugs reported Comments
SampleUser
Michal Nowak HW