Bug 110905 - [RFE] Multiple transactions on multiple packages
Summary: [RFE] Multiple transactions on multiple packages
Alias: None
Product: Fedora
Classification: Fedora
Component: rpm
Version: 1
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Paul Nasrat
QA Contact: Mike McLean
URL: http://datagrid.in2p3.fr/cvsweb/edg-q...
Keywords: FutureFeature
Depends On:
TreeView+ depends on / blocked
Reported: 2003-11-25 14:33 UTC by Rafael A. Garcia Leiva
Modified: 2007-11-30 22:10 UTC (History)
4 users (show)

Clone Of:
Last Closed: 2005-11-28 23:59:02 UTC

Attachments (Terms of Use)
example of the desired funtionality (6.90 KB, application/x-gzip)
2003-11-25 14:44 UTC, Rafael A. Garcia Leiva
no flags Details

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)

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):


How reproducible:


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!

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.

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