[Rpm-maint] [PATCH 2/2] Add a call for changing package header information.

Aleksei Nikiforov darktemplar at altlinux.org
Wed Mar 28 15:52:58 UTC 2018


Hi

28.03.2018 15:21, Jeff Johnson пишет:
> 
> Adding AUTOINSTALLED through a transaction like this is far more complex than necessary, particularly since rpm itself does not need nor use that tag for any purpose whatsoever.
> 
> There are already existing rpm interfaces to retrieve a header, add a tag, and re-register the header.
> 
> What is the justification for doing this operation within an rpm transaction?
> 
> 73 de Jeff
> _______________________________________________
> Rpm-maint mailing list
> Rpm-maint at lists.rpm.org
> http://lists.rpm.org/mailman/listinfo/rpm-maint
> 

When I was considering possible ways of implementing this feature I 
found only rpmtsAddInstallElement, rpmtsAddReinstallElement and 
rpmtsRebuildDB, and none of those functions worked for this purpose 
quite well. So I had to implement it the way it was required.

I've looked at librpm API documentation a few moments ago and found 
rpmdbSetIteratorRewrite + rpmdbSetIteratorModified. Did you mean these 
interfaces or something else I missed which could be used for changing 
headers in rpm db?

As for doing it within transaction, why not? As far as I can see almost 
every action on RPM db is done on open transaction, including 
rpmtsRebuildDB and rpmdbSetIteratorRewrite + rpmdbSetIteratorModified. 
Atomicity and consistency of transaction wouldn't hurt either.

Best regards
Aleksei Nikiforov


More information about the Rpm-maint mailing list