From Fedora Project Wiki

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

What to test?[edit]

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[edit]

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

What's needed to test[edit]

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

How to detect unwanted dependencies[edit]

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? :) )


  • 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?[edit]

Update your machine[edit]

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[edit]

Test Tools[edit]

  • rpmreaper - manual review of pkg dependency tree
 # rpmreaper $package
 # chmod a+x; ./ > TC2.$USERNAME.minimal_install_rpms.txt 

Tips & Tricks[edit]

  • 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[edit]

  • 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[edit]

  • 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[edit]

  • 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)[edit]

  • 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[edit]

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[edit]

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


User Smolt Profile TC1 TC2 TC3 TC4 Bugs reported Comments
Michal Nowak HW HW @development-tools File:TC1.txt
Richard Jones x86-64 results Tested using febootstrap.
Ondrej Hudlicky i386 @java @java-development, @gnome-software-development: DONE File:TC2.hondra.webserver spin.txt 499 MB, File:TC2.hondra.mailserver spin.txt 495 MB File:TC4.hondra.custom rpms.txt Warning: redhat-lsb bringing X deps to base group 472633
Milos Malik virt-machine File:TC2.mmalik.minimal install-rpms.txt in progress
Jan Scotka virt-machine @XFCE minimalTC defaultTC in progress
Peter Robinson x86-64 + OLPC in progress
Liam Li i386 @development-tools File:TC2.liam minimal install rpms.txt File:TC3.liam default rpms.txt File:TC4.liam custom rpms.txt