rpmt-py : a new implementation of rpmt (unlike rpm, this tool allows multiple transactions on multiple packages)

Nicolas <[email protected]> Mon, 5 Sep 2005 11:19:24 +0200
Newsgroups gmane.linux.redhat.rpm.python,gmane.linux.redhat.rpm.general
Message-ID <[email protected]>
Dear all,

I am happy to announce the release of the new rpmt tool called rpmt-py
(rpmt in python).

As you may know, rpmt stands for "Transactional RPM", and it is a tool
to install, upgrade/downgrade 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.
The rpm tool doesn't provide this functionnality so we decided to
implement it for the needs of quattor (http://quattor.org).
Actually, there is
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=3D110905 asking for
this to be integrated into rpm but unfortunately, no action has been
done there...

The rpmt tool needed to be re-engineered since the ANSI/C
implementation was using the rpm library (rpmlib) which is known to be
very unstable (changing too frequently).
In order to avoid to recode rpmt each time there is a new version of
RPM we decided to search for a more stable interface...
We finally found that Python could provide us this interface with its
binding library named rpm-python.
Finally, we have designed and implemented the new rpmt-py tool and
noticed that no port was needed from the 4.2.x versions of rpmlib to
the 4.3.x and the 4.4.x.
For further information on this re-engineering work you can see the
following url : http://agenda.cern.ch/fullAgenda.php?ida=3Da054340

rpmt-py is available on CVS (http://quattor.web.cern.ch/quattor/software.ht=
m).=20
For more information about rpmt-py and its usage, please check its man
page, the epydoc developer documentation and the README file.

Please send your feedback to this mailing list (comments, criticisms,
suggestions, etc).

I wish you a nice day !

Best regards,

Nicolas Pinto