From Fedora Project Wiki

(Drop direct Test Days category membership)
 
(43 intermediate revisions by 12 users not shown)
Line 12: Line 12:


* [[Features/MinimalPlatform]]
* [[Features/MinimalPlatform]]
* reviewing and clearing package dependency tree for comps, spins and specific installations
* reviewing and clearing package dependency tree to allow users to install just those packages they want


== Who's available ==
== Who's available ==
Line 20: Line 20:
** [[User:Pvrabec|Petr Vrabec]] - MinimalPlatform lead
** [[User:Pvrabec|Petr Vrabec]] - MinimalPlatform lead
** [[User:MiroslavLichvar| Mirek Lichvar]] - rpmreaper  
** [[User:MiroslavLichvar| Mirek Lichvar]] - rpmreaper  
** [[User:PetrMachata| Petr Machata]] - Toolchain representative
** [[User:pmachata| Petr Machata]] - Toolchain representative
** [[User:jnovy| Jindrich Novy]] - rpm maintainer
* Quality Assurance
* Quality Assurance
** [[User:Hondra|OndrejHudlicky]]
** [[User:Hondra|OndrejHudlicky]]
** [[User:Jlaska|James Laska]]
** [[User:Jlaska|James Laska]]
* Release Engineering  
* Release Engineering  
** [[User:Dmach| Dan Mach]]
** [[User:Dmach| Daniel Mach]]


== What's needed to test ==
== What's needed to test ==
Line 37: Line 38:
== 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


Line 59: Line 64:
See the instructions on the [[Releases/Rawhide|Rawhide]] page on the various ways in which you can install or update to Rawhide. Or:
See the instructions on the [[Releases/Rawhide|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 '''
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 Cases''' ===
Line 67: Line 71:


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


Follow one or more of these test cases:  
==== Tips & Tricks ====
* info about comp groups
<pre> # yum grouplist; yum groupinfo core</pre>
* what group is package in
<pre> # repoquery --groupmember ypserv</pre>
* removing / installing whole group
<pre> # yum groupinstall web-server; yum groupremove web-server</pre>
* list dependency problems
<pre> # package-cleanup --problems</pre>
 
Follow one or more of these test cases:


==== TC1: Comps groups inter-dependencies review ====
==== TC1: Comps groups inter-dependencies review ====
* Package from lower group should not depend on package from lower group
* Package from lower group should not depend on package from higher group
* Pick several packages from and review the suspected dependencies, report bugs
* Pick several packages from candidate list [[File:CompsDependencies.txt]] and review the suspected dependencies, report bugs
* TO_ATTACH: list of candidates, comps groups manual/structure
* 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 ====
==== TC2: Spins and specific installations ====
* select spin/area from list and install it in chroot, optionally: try if is installable
* 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  
* 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 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
* example: web server installation
 
==== TC3: Cyclic deps ====
* pick one from list and review


==== TC4: Standard installation ====
==== TC3: Default installation ====
* review package set installed in standard install
* 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


==== TC5: Custom packages ====
==== TC4: Custom packages (alternative to TC3) ====
* review dependencies of what you use daily on your own
* review package dependencies on your desktop
* remove packages you don't use (need)
* report your favorite package set back
* [[QA:Testcase_Minimal_Platform_dependencies]]
* [[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 ===
=== 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.  
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 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).
* 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 '''
* For each test case, follow the instructions posted in the test case
 
When reporting bugs, please include a '''whiteboard''' MinimalPlatform.  To file a bug [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=rawhide&short_desc=%5BMinimalPlatform%5D&cf_qa_whiteboard=MinimalPlatform click here]
 
Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=496977 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


== Results ==
== Results ==
Line 105: Line 140:
! TC1
! TC1
! TC2
! TC2
! [[QA:Testcase_Minimal_Platform_dependencies| Custom pkg dependencies]]
! TC3
! TC4
! Bugs reported
! Comments
! Comments
|-
|-
| [[User:SampleUser]]  
| [[User:SampleUser | SampleUser]]  
| <!-- Smolt profile -->  
| <!-- Smolt profile -->  
| <!-- Result of TC1 -->
| <!-- TC1: pkgs tested -->
| <!-- Result of TC2 -->
| <!-- TC2: results  -->
| <!-- bugs reported -->
| <!-- TC3: results -->
| <!-- TC4: results -->
| <!-- Bugs reported -->
| <!-- Comments -->
|-
| [[User:mnowak | Michal Nowak]]
| [http://www.smolts.org/client/show/pub_cb1b20e9-801a-4dbb-b558-c2e52a7846e2 HW] [http://www.smolts.org/client/show/pub_2179dd43-43bb-4fba-88cf-dc453f10632e HW]
| @development-tools
| [[File:TC1.txt]]
| <!-- TC3: results -->
| <!-- TC4: results -->
| <!-- Bugs reported -->
| <!-- Comments -->
| <!-- Comments -->
|-
| [[User:rjones | Richard Jones]]
| x86-64
| <!-- TC1: pkgs tested -->
| [[Test Day:2009-04-21 Minimal Platform/rjones | results]]
| <!-- TC3: results -->
| <!-- TC4: results -->
| <!-- Bugs reported -->
| Tested using febootstrap.
|-
| [[User:Hondra | Ondrej Hudlicky]]
| [http://www.smolts.org/client/show/pub_93b3f753-5873-4988-b690-0ce43dd16d38 i386]
| @java  @java-development, @gnome-software-development:  DONE
| [[File:TC2.hondra.webserver_spin.txt]] 499 MB, [[File:TC2.hondra.mailserver_spin.txt]] 495 MB
| <!-- TC3: results -->
| [[File:TC4.hondra.custom_rpms.txt]]
| <!-- Bugs reported -->
| Warning: redhat-lsb bringing X deps to base group 472633
|-
| [[User:mmalik | Milos Malik]]
| [http://www.smolts.org/client/show/pub_ff8753bd-51ab-4137-b610-51ace74be3d9 virt-machine]
| <!-- TC1: pkgs tested -->
| [[File:TC2.mmalik.minimal_install-rpms.txt]]
| <!-- TC3: results -->
| <!-- TC4: results -->
| <!-- Bugs reported -->
| in progress
|-
| [[User:jscotka | Jan Scotka]]
| [http://www.smolts.org/client/show/pub_5533114a-02f6-439f-bdef-047209e938fc virt-machine]
|  @XFCE
| [https://fedoraproject.org/wiki/File:TC2.jscotka_minimal_install_rpms.txt minimalTC]
| [https://fedoraproject.org/wiki/File:TC3.jscotka_default_rpms.txt defaultTC]
| <!-- TC4: results -->
| <!-- Bugs reported -->
| in progress
|-
| [[User:pbrobinson | Peter Robinson]]
| [http://www.smolts.org/client/show/pub_f7e0e7bb-0953-450e-b749-f8c1578ceba0 x86-64] + OLPC
| <!-- TC1: results -->
| <!-- TC2: results -->
| <!-- TC3: results -->
| <!-- TC4: results -->
| <!-- Bugs reported -->
| in progress
|-
| [[User:Liam | Liam Li]]
| [http://www.smolts.org/client/show/pub_a18e2b71-ef10-4bfc-9f3c-746cca259c2f i386]
| @development-tools
| [[File:TC2.liam_minimal_install_rpms.txt]]
| [[File:TC3.liam_default_rpms.txt]]
| [[File:TC4.liam_custom_rpms.txt]]
| <!-- Bugs reported -->
|
|-
|}
|}


 
[[Category:Fedora 11 Test Days]]
[[Category:Test Days]]

Latest revision as of 19:45, 26 June 2015

DATE TIME WHERE
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]

Stop (medium size).png
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? :) )


OUTPUT FROM TEST DAY[edit]

  • 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 Rpm2comps.sh; ./Rpm2comps.sh > 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

Results[edit]

User Smolt Profile TC1 TC2 TC3 TC4 Bugs reported Comments
SampleUser
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