Bug 110905

Summary: [RFE] Multiple transactions on multiple packages
Product: [Fedora] Fedora Reporter: Rafael A. Garcia Leiva <angel.leiva>
Component: rpmAssignee: Paul Nasrat <nobody+pnasrat>
Status: CLOSED DEFERRED QA Contact: Mike McLean <mikem>
Severity: medium Docs Contact:
Priority: medium    
Version: 1CC: german.cancio.melia, jan.iven, jpyeron, tao
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: All   
OS: Linux   
URL: http://datagrid.in2p3.fr/cvsweb/edg-quattor/rpmt-4.2.1
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-11-28 23:59:02 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
example of the desired funtionality none

Description Rafael A. Garcia Leiva 2003-11-25 14:33:13 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1)
Gecko/20031008

Description of problem:

The current version of rpm (rpm-4.2.1) can not handle multiple
operations on multiple packages in a single transaction. Just imagine
that you want to install 'foo' and 'bar' RPMs replacing another RPM
called 'foobar'. How can I order the operations respecting
dependencies, validate, and execute the complete operation in one go?
This is currently not possible in RPM (an 'rpm -e --test foobar'
followed by 'rpm -i --test foo bar' does evidently not work).

It would be very nice to extend rpm to handle lists of transactions.
We propose to change the rpm CLI to do something like:

rpm -U package_1.rpm -e package_2

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

rpm-4.2.1

How reproducible:

Always

Comment 1 Rafael A. Garcia Leiva 2003-11-25 14:44:27 UTC
Created attachment 96182 [details]
example of the desired funtionality

rpmt is a tool to install, upgrade and erase RPM packages in one transaction,
thus allow package sets with complex dependencies to be processed at once while
keeping the system in a consistent state.

Comment 2 G. Cancio 2004-10-05 09:32:44 UTC
Dear Jeff,

'rpmt' is part of the QUATTOR toolsuite, which is being used for
managing large Computer Centres in the High Energy Physics community,
including CERN, totalizing thousands of nodes. As Rafael points out,
the only purpose of 'rpmt' is to expose an existing RPMlib
functionality to the command line. 

We would really like to get rid of this tool as it is duplicating work
which could be done by 'rpm' - in fact, it just adds a new option. It
is a pain to have to recompile and adapt 'rpmt' everytime a new rpm
release comes along, just for one missing option.

We do believe that adding this functionality to the 'rpm' command line
instead would be a minor effort, and would enhance the capabilities of
rpm significantly, as checks and operations like "install X, remove Y,
and upgrade Z" could be performed transactionally in one step. All
this, without changing RPMlib.

Do you think you could have a look to this problem?

Many thanks!
cheers,
German



Comment 3 Jeff Johnson 2005-10-31 13:16:02 UTC
Postion sensitive command line options like -U foo -e bar will not be added to rpm, there are
far far too many options other than mode selection that would need to be handled.

Meanwhile, what I proposed years ago (see the rpm-list archives or iirc the apt-rpm archives) will be to 
add a prefix of '+' or '-' to indicate upgrade or erase. For added measure, '=' will be equivalent to a --
aid depsolver goal.

The work is largely completed in the lib/rpmgi.c in rpm-4.4.1. The last missing peice is
to teach rpmgi how to create a local rpmdb for --aid depsolving.

Perhaps there's still time/energy to get this into rpm-4.4.3. We'll see ...


Comment 8 Daniel Riek 2006-07-23 19:04:44 UTC
This has been rejected upstream with good reason. Plus there is a workaround
available within CERN. Therefor this will not be ACKed for RHEL.