This service will be undergoing maintenance at 00:00 UTC, 2016-08-01. It is expected to last about 1 hours
Bug 603177 - unexpected packages are installed when a back button is pressed in confirminstall
unexpected packages are installed when a back button is pressed in confirmins...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: anaconda (Show other bugs)
5.5
All Linux
medium Severity medium
: rc
: ---
Assigned To: Chris Lumens
Release Test Team
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-06-11 14:33 EDT by Masahiro Matsuya
Modified: 2011-07-21 02:53 EDT (History)
5 users (show)

See Also:
Fixed In Version: anaconda-11.1.2.227-1
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-07-21 02:53:06 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)
proposed patch (1.21 KB, patch)
2010-06-11 14:41 EDT, Masahiro Matsuya
no flags Details | Diff

  None (edit)
Description Masahiro Matsuya 2010-06-11 14:33:39 EDT
Description of problem:

The customer noticed that the number of packages installed can be different
depending on the steps they follow during the installation.

Case A:
1. At the software selection, select "Customized later"
   and press next.
2. At this point, dependency check happens.
3. Go "Back"
4. Select "Customize now" and press next.
5. Deselect "Sound and Video" group in "Applications"
6. Press next and dependency check happens
7. Press next again and the installation begins

Case B:
1. At the software selection, select "Customize now"
   and press next.
2. Deselect "Sound and Video" group in "Applications"
3. Press next and dependency check happens
4. Press next again and the installation begins

The customer noticed that the packages libao and libmusicbrainz are installed only at case A. These packages should be installed only when "Sound and Video" is selected.

Version-Release number of selected component (if applicable):
anaconda-11.1.2.209-1.x86_64

How reproducible:
Always

Steps to Reproduce:
Please see Case A and Case B above.
  
Actual results:
In Case A, libao and libmusicbrainz are installed.

Expected results:
In Case A, libao and libmusicbrainz are not installed.

Additional info:

When a back button is pressed in confirminstall, all dependencies found in postSelection should be removed. I created a proposed patch to use _undoDepInstalls() for it. 

_undoDepInstalls() removes all packages having isDep=1. What I am understanding is that this function is used to revert the package list into the situation before postSelection(). If this is correct, this function doesn't work now.
Because buildTransaction() can set isDep=1 even for the packages selected in basepkgsel if it is depended from any package. As the result, _undoDepInstalls()
removes more packages than expected. When a back button is pressed in confirminstall, it's returned to tasksel (or group-selection), not basepkgsel.
So, some of the packages removed by_undoDepInstalls(), which are not depended by any remaining packages, will not installed at the end.

In my patch, I saved the list of packages at the begining of doSelection() and set isDep=0 for the saved packages after buildTransaction().

This worked on my test box (kvm guest, x86_64). I'll attach the patch soon.
Comment 1 Masahiro Matsuya 2010-06-11 14:41:18 EDT
Created attachment 423369 [details]
proposed patch
Comment 2 Masahiro Matsuya 2010-06-11 14:51:09 EDT
s/doSelection/doPostSelection/
Comment 9 RHEL Product and Program Management 2011-03-07 11:03:38 EST
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.
Comment 11 Alexander Todorov 2011-05-10 10:07:57 EDT
Tested with RHEL5.7 0430.2 tree:

Followed the steps to reproduce:

> Case A:
> 1. At the software selection, select "Customized later"
>    and press next.
> 2. At this point, dependency check happens.
> 3. Go "Back"
> 4. Select "Customize now" and press next.
> 5. Deselect "Sound and Video" group in "Applications"
> 6. Press next and dependency check happens
> 7. Press next again and the installation begins
> 

After install libao and libmusicbrainz were not installed. Moving to VERIFIED.
Comment 12 errata-xmlrpc 2011-07-21 02:53:06 EDT
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0984.html

Note You need to log in before you can comment on or make changes to this bug.