From Fedora Project Wiki

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 12: Line 12:


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


== 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:pmachata| Petr Machata]] - Toolchain representative
** [[User:PetrMachata| 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| Daniel Mach]]
** [[User:Dmach| Dan Mach]]


== What's needed to test ==
== What's needed to test ==
Line 38: Line 37:
== How to detect unwanted dependencies ==
== How to detect unwanted dependencies ==


We want to detect packages that would deserve split to subpackages
Packages we are interested in don't meet following criteria
to make deps more fine-grained and have only necessary packages installed.
* desktop divided from server
 
* comps groups are respected
Areas of this search can be:
* libraries included in subpkg
* remove desktop packages from server
* documentation in noarch.rpm ?
* 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)
* ... (Dan)
* ensure that libraries are in a subpackage (to make multilib stuff happy)
=> best practices
* 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 and subpackaging
* packaging guidelines for dependencies
* a sanity script checking if a package matches the guideline (rpmlint plugin?)
* proposal for tool which can check the sanity of subpackages (rpmlint plugin?)
* list of comps packages/groups to be reviewed (TC1)
* list of suspected candidates from comps group list is 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 64: Line 59:
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]].
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 Cases''' ===
Line 71: Line 67:


* rpmreaper - manual review of pkg dependency tree
* rpmreaper - manual review of pkg dependency tree
<pre> # rpmreaper $package</pre>
* rpm2comps - lists installed packages by comps group (Dan)
* [[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


==== Tips & Tricks ====
Follow one or more of these test cases:  
* 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 higher group
* Package from lower group should not depend on package from lower group
* Pick several packages from candidate list [[File:CompsDependencies.txt]] and review the suspected dependencies, report bugs
* Pick several packages from 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.
* TO_ATTACH: list of candidates, comps groups manual/structure
 


==== 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  
* 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
* TO_ATTACH: list of spins / specific areas, manual - install in chroot  
* example: web server installation
 
==== TC3: Cyclic deps ====
* pick one from list and review


==== TC3: Default installation ====
==== TC4: Standard installation ====
* install default installation (you can use different desktop instead of GNOME)
* review package set installed in standard install
* 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) ====
==== TC5: Custom packages ====
* review package dependencies on your desktop
* review dependencies of what you use daily on your own
* 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. The table format is as follows:
* 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
* 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).
* 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, follow the instructions posted in the test case
* For each test case, primarly see ''' instruction in testcase '''
 
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 140: Line 105:
! TC1
! TC1
! TC2
! TC2
! TC3
! [[QA:Testcase_Minimal_Platform_dependencies| Custom pkg dependencies]]
! TC4
! Bugs reported
! Comments
! Comments
|-
|-
| [[User:SampleUser | SampleUser]]  
| [[User:SampleUser]]  
| <!-- Smolt profile -->  
| <!-- Smolt profile -->  
| <!-- TC1: pkgs tested -->
| <!-- Result of TC1 -->
| <!-- TC2: results  -->
| <!-- Result of TC2 -->
| <!-- TC3: results -->
| <!-- bugs reported -->
| <!-- 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]]
Please note that all contributions to Fedora Project Wiki are considered to be released under the Attribution-Share Alike 4.0 International (see Fedora Project Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To edit this page, please solve the following task below and enter the answer in the box (more info):

Cancel Editing help (opens in new window)

Templates used on this page: