Bug 16530

Summary: RFE:installer to handle mising comps/hdlist entries gracefully
Product: [Retired] Red Hat Linux Reporter: Pekka Savola <pekkas>
Component: anacondaAssignee: Erik Troan <ewt>
Status: CLOSED WONTFIX QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1CC: aleksey
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-01-09 20:18:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
python script to check these things none

Description Pekka Savola 2000-08-18 13:10:16 UTC
If a package specified in 'comps' file is missing, the installer
bombs.  This also happens if a file listen in 'hdlist' is missing.

I think there was an option in RH 5.x installer to
Skip/Skip All/Retry/Abort when this happens.  

This would make anaconda a lot more resistant to stupid 
problems especially when customizing or updating your 
RPMS tree.

Comment 1 Michael Fulbright 2000-08-18 14:39:40 UTC
Added to feature request list.

Comment 2 Pekka Savola 2000-08-22 07:02:57 UTC
For the record, rudimentary functionality  was in RHL 6.0


Comment 3 Michael Fulbright 2000-09-15 22:01:44 UTC
*** Bug 9005 has been marked as a duplicate of this bug. ***

Comment 4 Michael Fulbright 2000-09-26 16:09:48 UTC
Moving to RESOVLED - DEFERRED from CLOSED - DEFERRED

Comment 5 Michael Fulbright 2000-09-26 16:55:30 UTC
Moving to RESOVLED - DEFERRED from CLOSED - DEFERRED

Comment 6 Brent Fox 2000-11-20 16:25:42 UTC
Implemented in internal builds.  Brock, please test.

Comment 7 Brock Organ 2000-12-11 22:28:08 UTC
verified fix ...

a "missing package" dialog does occur that allows the user to know they have bad
or incomplete media ... (if for example a rpm package is missing) ... no
traceback happens ...

Comment 8 Pekka Savola 2000-12-11 22:47:21 UTC
Does this only notify the user, thus avoiding a traceback?

This is good, but still a suboptimal solution.  For network installs (ie: media where the 
contents may change or become unavailable due to connection problems etc.) there really
should be a retry and/or skip option.  That way the ridiculously long (dozens of minutes, 
if not hours?) network timeout could be reduced too.


Comment 9 Erik Troan 2001-01-09 20:18:22 UTC
The missing dialog is as far as we're going to go on this one. Packages missing
frmo the comps file means something is wrong, and it needs to be fixed rather
then just ignored by the install.

Comment 10 Pekka Savola 2001-01-09 20:30:53 UTC
This is true.  But also consider:

You have package 'aaaa' missing.  The dialog appears, you fix it.  Reboot, try again.  Then you notice
you have package 'bbbb' missing.  The dialog appears, you fix it.  Ad infinitum.
[...]

This is how it has to be done now.  Dialog is a good way to report the error more gracefully.

*But* if at all possible, make it so that all packages are scanned for possible problems so that you can 
fix everything in one sitting.  

_That_ is what 'Skip' option was very good for.  

Actually skipping something because it was missing would definitely be a braindead 
idea, especially if it's a vital component.


Comment 11 Erik Troan 2001-01-09 20:41:47 UTC
How about contributing a script to check for this on another system?

Comment 12 Pekka Savola 2001-01-09 20:57:37 UTC
Hmm.  I guess it should do something like

 - check that all RPMs in comps exist in the tree 
  * I can't think of anything but something ugly like
if "`rpm -qp xxxnameincomps*.rpm --queryformat "%{name}`" = xxxnameincomps

outright

 * as a side effect, this would mostly check the integrity of those files (I've one-byte corruptions sometimes)

- Check that all files mentioned in hdlist are there and rpm --checksig them for errors and package corruptions

- I guess it's allowed to have multiple versions of the same package (newest always picked) in the same dir.

Any other cases to check?

Comment 13 Erik Troan 2001-01-09 21:04:35 UTC
That looks right. The easiest way to do this is to use python, which will let
you use the comps.py in anaconda-runtime to get the list of packages in the
comps file, and use the rpm python module to read the hdlist. I'm not picky
though.

Comment 14 Pekka Savola 2001-01-12 06:46:57 UTC
Created attachment 7484 [details]
python script to check these things

Comment 15 Erik Troan 2001-01-12 16:22:09 UTC
added to anaconda-runtime package -- thanks!