Test Day:2009-04-21 Minimal Platform

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
 * OndrejHudlicky
 * James Laska
 * Release Engineering
 * Daniel Mach

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

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 Tools

 * rpmreaper - manual review of pkg dependency tree
 * 1) rpmreaper $package
 * [[File:Rpm2comps.sh]] - lists installed packages by comps group
 * 1) chmod a+x Rpm2comps.sh; ./Rpm2comps.sh > TC2.$USERNAME.minimal_install_rpms.txt
 * [[File:Comps group deps.sh]] - show suspicious deps between comps groups

Tips & Tricks

 * info about comp groups
 * 1) yum grouplist; yum groupinfo core
 * what group is package in
 * 1) repoquery --groupmember ypserv
 * removing / installing whole group
 * 1) yum groupinstall web-server; yum groupremove web-server
 * list dependency problems
 * 1) 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 [[File:CompsDependencies.txt]] and review the suspected dependencies, report bugs
 * 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
 * EXAMPLE: "yum --installroot=$CHROOT install kernel yum grub; yum --installroot=$CHROOT groupinstall core" - Do minimal installation in chroot. Check dependencies which were brought with using rpm2comps, rpmreaper. Report bugs and upload results: # rpm2comps --root $CHROOT > 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 table format is as follows:
 * The first column should be your name with a link to your User page in the Wiki if you have one
 * 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, follow the instructions posted in the test case

When reporting bugs, please include a whiteboard MinimalPlatform. To file a bug click here

Tracker bug: 496977

Actual testing status
We need more help in following areas:
 * TC1 - pick one group from attached file, update results table, do quick review if those listed inter-group dependencies are expected and wanted
 * TC2 - install spins, which were not yet examined (look below), upload the results