Bug 110905 - [RFE] Multiple transactions on multiple packages
[RFE] Multiple transactions on multiple packages
Status: CLOSED DEFERRED
Product: Fedora
Classification: Fedora
Component: rpm (Show other bugs)
1
All Linux
medium Severity medium
: ---
: ---
Assigned To: Paul Nasrat
Mike McLean
http://datagrid.in2p3.fr/cvsweb/edg-q...
: FutureFeature
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2003-11-25 09:33 EST by Rafael A. Garcia Leiva
Modified: 2007-11-30 17:10 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-11-28 18:59:02 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


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

  None (edit)
Description Rafael A. Garcia Leiva 2003-11-25 09:33:13 EST
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 09:44:27 EST
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 05:32:44 EDT
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 08:16:02 EST
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 15:04:44 EDT
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.