Bug 65078 - rpm -Fvh should be able to include new package dependancies when they aren't already installed
Summary: rpm -Fvh should be able to include new package dependancies when they aren't ...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: rpm
Version: 7.2
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jeff Johnson
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2002-05-17 04:07 UTC by Rodd Clarkson
Modified: 2008-05-01 15:38 UTC (History)
0 users

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2002-07-21 23:40:36 UTC
Embargoed:


Attachments (Terms of Use)

Description Rodd Clarkson 2002-05-17 04:07:18 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020510

Description of problem:
During the update cycle for RH7.2 there were three of four occasions when new
packages dependancies for existing packages.  As a result, these new packages
were often not installed.

If would be convenient if the freshen option could include the ability to
include uninstalled packages the existing packages might now be dependant on.

This may mean either:
1. creating a new flag for this type of freshen.
2. having freshen comment that new packages are required to satisfy dependancies
and ask whether it should install them, or
3. including this in the current freshen model.

Obviously, for security reasons, the first two options would be better, and both
might be best.

For example, the updated printconf tool had a package dependancy added to it
after RH7.2 was released.  Obviously, to continue using this package I would
need to install the new package, but freshen doesn't do this.  As a result, I
must manually install the new package instead of allowing freshen to take care
of it.

As an example of why this feature would be useful, when I install RH on a
server, it would be very convenient if I could copy the current updates for RH
onto the server and then just type rpm -Fvh to get the server up-to-date. 
Currently, I am forced to individually install about four different sets of
packages before the freshen option will work.  This would greatly simplify
getting RH servers installed quickly and simply.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Download the current updates into a new folder on a newly installed redhat
server.
2. Open a terminal, and cd /directory/with/updates
3. As root, run 'rpm -Fvh *.rpm

	

Actual Results:  The updates may fail to install as new packages have been added
to some of the currently installed packages, creating a dependancy nightmare

Expected Results:  It would be great if this could be handled gracefully using
one of the suggestions above

Additional info:

Comment 1 Jeff Johnson 2002-05-17 17:46:33 UTC
If you want *exactly* the set of packages downloaded,
even if not installed, then use -Uvh, not -Fvh.

Comment 2 Rodd Clarkson 2002-05-20 00:49:06 UTC
No, I don't want exactly the set of packages installed.

One of the great things about the freshen option is that I can do a custom
install of redhat to meet the customers needs, and then using the rpm -Fvh I can
get all the packages up-to-date without having to manually select the correct
packages.  This greatly simplifies the process of setting up a redhat server.

For example, I set up a server with only httpd, dns, and ftp.  I then copy the
entire set of updates to the machine (I keep an up-to-date copy on the local
server) and then using rpm -Fvh I update the relevant packages without
installing any services the customer doesn't need.

However, one of the weaknesses of rpm -Fvh is that if one of the existing
packages requires a new package I'm forced to manually install it before I can
rpm -Fvh the rest of the packages.  Often this manual install can be a real
dependancy nightmare.  I'd like to be able to say rpm -Fvh (+ install any new
dependancies) and walk away and know that I don't need to sit through the entire
process.

Whilst using rpm -Uvh to install some of the packages isn't too hard when a new
version has just been released, it can be a painful process when there are
plenty of updates for the current version.  For example, there about 500 meg
worth of updates for rh72 and it's a considerable process going through the
dependancy nightmare that is caused by addition package dependancies on existing
packages.

You do something similar to what I am requesting when the redhat 72 installer. 
If you do a custom install, or and upgrade, the installer checks all the
requested packages and then prompts is any other packages are necessary to
satisfy all the dependancies.

i'm reopening this bug as i don't believe you understood my original request and
hopefully my additional comments might help to further explain what it is that
I'm requesting

Comment 3 Jeff Johnson 2002-07-20 19:18:46 UTC
rpm-4.1 makes the process of discovering dependency
solutions easier: if the rpmdb-redhat package is installed,
then suggestions for unresolved dependencies will be made.
This still ain't a full blown dependency solver like
up2date, but then rpm isn't (and shouldn't be) up2date.


Comment 4 Rodd Clarkson 2002-07-21 23:40:31 UTC
I'm reopening this bug again, because so far the two responses I've got are not
solutions to what I'm requesting.

If you don't want to add this functionality then just say so, but don't tell me
about things that don't really have merit in this bug.

Here's what I'm asking for.

What I wan't is the ability for rpm -Fvh to include related packages if new
packages need to be installed to satisfy a dependancy.

In recent versions of Redhat (7.1, 7.2) some of the packages added new
dependancies after the original install.  As a result, using rpm -Fvh would fail
because one of the required packages needed to be installed before freshening
the packagesI'm reopening this bug again, because so far the two responses I've
got are not
solutions to what I'm requestin.

It would be great if rpm could state the the following packages need to be
'installed' to satisfy the request to freshen packages, and then (if no flag is
supply) request approval to install these packages.

The new feature in RPM 4.1 that you mentioned will be usefull (to some degree,
although how is will handle not Redhat RPMS will be interesting) but will not
solve the above problem.

Freshens current functionality *IS* a huge pain in the arse at the moment,
especially when you constantly set up servers, and then have to spend 30 minutes
satisfying dependancies just to get the server up-to-date with patches.  Having
the above features added to rpm would allow installers to type a single command
and have all packages freshen correctly without having to hang around.

Again, I don't mind being told your not interested in adding this functionality,
but the two responses I've got so far an not solutions.  The first response is,
I imagine, why freshen was included in rpm to start with, and the second, while
resolving some of the 'dependancy nightmare' doesn't really make using rpm to
update machines any less time consuming.

Sorry if I sound snippy, but I've had this bug closed twice and I'm still not
convinced that people are even aware of what I'm asking for.  Don't think of
this as an enhancement so much as a 'ueability issue'.

Comment 5 Jeff Johnson 2002-07-22 15:51:40 UTC
Specific points:

1) Your "include related packages" request
is what I've been calling a "dependency solver".

2) rpm-4.1 *does* state that certain packages need
to be installed to satisfy dependencies if the rpmdb-redhat
package is installed.

3) I understand your request perfectly, and I'm interested
in getting the functionality into rpm. What's there in
rpm-4.1 is a significant step in that direction.


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