On Thu, Jun 28, 2012 at 8:18 PM, Alexey Tourbin
<alexey.tour...@gmail.com> wrote:
> There is also a philosophical consideration which somehow accompanies
> this practical consideration. There is a short story, I believe by
> Borges, where a clever scientist devises a 1-1 map of reality. A 1-1
> map of reality turns out to be a very true picture of reality. What's
> wrong with this approach? Well, a 1-1 map of the world turns out to be
> an exact copy of the world, which is of no use in terms of being "a
> map". Somehow, the reality must be "construed" and "reduced" to a
> simpler (and somewhat coarser) description to become a useful model.
> This is also why we don't plug ELF sections into RPM headers: we
> believe that much simpler (or at least much shorter) dependencies must
> be used to represent ELF binaries in terms of their
> interconnectedness, and must also omit other less important details.

This philosophical argument applies to set-versions in a
(not-so-)obvious manner, which I will now clarify. It goes like this:
although the ultimate goal is to check that R-set of symbols is a
subset of P-set of symbols, you do not necessarily have to store the
full names of the symbols in order to perform a somewhat stripped-down
check itself. When it only matters if R is subset of P, the names
themselves become largely irrelevant, provided that you can devise a
very clever substitution/encoding scheme. You can make "much simpler
(or at least shorter) dependencies" by getting rid of the names in a
manner which does not destroy the check.

The downside is, of course, that when a dependency R subset P is
broken, it is not easy to find out which P symbols were deleted or
renamed (or which R symbols are missing).  But this is largely a
developer's, or should I say a hacker's, problem.

On the other hand, from the user point of view, and also from rpm(1)
perspective, this approach simply promotes synchronous or rather
"transactional" upgrades. It says like, guys, I will not apply
half-baked updates before you fix it all - so that apps and libraries
match. Which totally makes sense!
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
Developer Communication List                        rpm-devel@rpm5.org

Reply via email to