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 [ | * 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 ...
- Development
- Petr Vrabec - MinimalPlatform lead
- Mirek Lichvar - rpmreaper
- Petr Machata - Toolchain representative
- Jindrich Novy - rpm maintainer
- Quality Assurance
- Release Engineering
What's needed to test
- Rawhide or Fedora 11 Beta fully updated.
- FAS Account - you can create an account in 3 minutes if you don't have one
- Your hardware profile uploaded to Smolt according to these instructions
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 |