I'm seeing renewed interest in finer grained control of paackage/file
installations.

Basically all I'm saying is that rpmtransFlags should be masked
by per-package content. The commonly encountered problem is that
a vendor releases a b0rked package because of lack of QA (usually),
and that problem cannot be fixed automagically by upgrading the package.

In case it *still* is not obvious what I'm saying, consider a package
upgrade from A-1 => A-2 when the %preun script was b0rked. Adding
the per-package equivalent of --nopreun carried in the A-2 metadata
that is applied to the A-1 erasure permits an upgrade in spite of
known scriptlet breakage.

At the same time, I will likely add a new RPMTRANS_FLAG_NORPMDB bit
to disable rpmdbAdd() should be implemented while installing, think of
it as a per-package --nojustdb flag, if you catch my drift.

At the package level, that's my re-interpretation of the "melting"
RFE located at
        https://bugzilla.redhat.com/show_bug.cgi?id=474704

There's another analogue "don't install" disabler at a per-file
granularity related to package "bundles" as well. The motivation
for package "bundles" is very well known, most recently seen at
        http://lists.rpm.org/pipermail/rpm-list/2008-December/000041.html

(aside)
Panu got the analysis entirely wrong imho. glibc changes
NPTL like once a decade, and rpm gets upgraded so seldom, that
the alleged ( show me the reproducer please) failure modes for
package "bundles" have a vanishingly small incidence, certainly
not a valid reason to avoid implementing perfectly sound and useful
RPM functionality.

A package "bundle", for those who have not been paying attention over
the years, is a rpm that carries other rpm's in the payload and does
        rpm -Uvh /path/to/internal/packages*.rpm
in %post with the analogous "rpm --erase" invocation done in %preun.

The flaw that remains to be solved is to add a per-file "erase this
file from the file system after %post has been performed" to answer
the critic's who point out (correctly) that the rpms-within-a-rpm "bundle"
are useless bloatery after %post has done its job.

So rpm needs to clean up package "bundle" trash after use, very not hard to implement.

So another per-file RPMVERIFY_*/VERIFY_*/QUERY_* flag bit will be defined to control the behavior
of "erase this file after %post has been run".

No idea what I will call the bit in the enum's yet.

So its almost time for the bikeshed discussion of what the *.spec
syntax to set the per-package and per-file disabler bits should be. Personally
I dopn't give a hoot, bits == bits, syntax be damned.

Opinions?

73 de Jeff

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to