From Fedora Project Wiki

Line 37: Line 37:
== How to detect unwanted dependencies ==
== How to detect unwanted dependencies ==


Packages we are interested in don't meet following criteria
We want to detect packages that would deserve split to subpackages
* desktop divided from server
to make deps more fine-grained and have only necessary packages installed.
* comps groups are respected
 
* libraries included in subpkg
Areas of this search can be:
* documentation in noarch.rpm ?
* remove desktop packages from server
* ... (Dan)
* 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)
=> best practices
* 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 ===
=== OUTPUT FROM TEST DAY ===
* packaging guidelines for dependencies
* packaging guidelines for dependencies and subpackaging
* proposal for tool which can check the sanity of subpackages (rpmlint plugin?)
* a sanity script checking if a package matches the guideline (rpmlint plugin?)
* list of suspected candidates from comps group list is reviewed (TC1)  
* list of comps packages/groups to be reviewed (TC1)
* spins dependency trees are reviewed  
* spins dependency trees are reviewed
* bugs reported for relevant components  
* bugs reported for relevant components
* test cases defined/automated
* test cases defined/automated



Revision as of 14:42, 20 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. And install to disc


Test Cases

Test Tools

  • rpmreaper - manual review of pkg dependency tree
  • rpm2comps - lists installed packages by comps group (Dan)

Follow one or more of these test cases:

TC1: Comps groups inter-dependencies review

  • Package from lower group should not depend on package from lower group
  • Pick several packages from and review the suspected dependencies, report bugs
  • TO_ATTACH: list of candidates, comps groups manual/structure

TC2: Spins and specific installations

  • select spin/area from list and install it in chroot, optionally: try if is installable
  • 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: web server installation

TC3: Cyclic deps

  • pick one from list and review

TC4: Standard installation

  • review package set installed in standard install

TC5: Custom packages


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 Custom pkg dependencies Comments
User:SampleUser