On Jul 1, 2012, at 11:43 PM, Alexey Tourbin <alexey.tour...@gmail.com> wrote:

> On Sat, Jun 23, 2012 at 10:29 PM, Jeffrey Johnson <n3...@me.com> wrote:
>> In the interest of getting off negative nerdy obscure discussions, let's
>> try a positive alternative application for Golob-Rice subset operations.
>> 
>> All RPMv4 packages attach (a lightly filtered) file(1) magic string to
>> every file.
> 
> All RPMv4.4+ packages, that is, but not RPMv4.0. I find this "file
> coloring" business very annoying, by the way, and it took me some time
> to realize that "fc" actually stands for "file coloring". :-)
> 

RPMv4.0 was a l-o-n-g time ago.

I find multilib quite annoying: I was asked for an implementation,
and did so. 'Twas a job mon: already 7y since leaving @redhat, and file
colors for multi lib were several years before that.

And the "fc" stands for "file classifier". But feel free
to claim whatever you want just like everyone else.


>> The file(1) data is mostly usable as a "keyword" namespace exactly as is.
>> Yes there are flaws: however magic strings are from file(1) is about
>> as good as any other de facto keyword tagging of file content.
>> 
>> keywords are strings just like elf symbols are, and set:versions (or Bloom
>> filters)
>> are a compact representation from which its rather easy to do subset
>> computations.
>> 
>> One extension that would be needed is a "closest" metric in order to
>> "prefer"
>> the largest subset overlap: with set:versions any contained subset will
>> satisfy the
>> logical assertions, and there's no easy way to prefer the larger sub-set.
> 
> I see no reason why rpm(1) should ever consider any preferences. To
> me, rpm(1) is exactly black-and-white thing, a watchdog which checks
> logical assertions. Things are either consistent enough to proceed
> (and e.g. to upgrade the packages), or not - and then you get e.g.
> non-zero exit code and you are forced to bail out. Higher-level logic
> of finding an upgrade plan anyways belongs to something like apt(1) or
> yum(1), although it is executed in some basic librpm terms which we
> must make efficient enough. I see no reason to discuss closest metrics
> or largest overlaps - this is as interesting as irrelevant to our
> basic tasks.

Everyone has an opinion: yours is particularly brittle but
entirely logical. Now go persuade everyone else that your
opinion is The One True Opinion and RPM will surely change too.

> 
>> There's a similar application with dual/triple/... licensed software and
>> computing
>> per-file, not per-package, license affinity precisely where set:versions (or
>> Bloom
>> filters) will represent keywords (like "LGPLv2" or "BSD") easily. Licenses
>> unlike
>> file(1) magic keywords will require name space administration. SUrely LSB
>> and LFF
>> are seeking something useful to do for RPM packaging these days, and might
>> be convinced to make some set of license tokens "standard" so that license
>> affinity can be precisely computed in distributed software.
> 
> You then discuss more applications which are largely irrelevant to our
> basic tasks. (I realize that I'm revisiting and older discussion,
> which might not be completely fair because our understanding might
> have evolved since.)
> 

Um … what are "… our basic tasks."?

I cannot determine what is "fair" without knowing what is being compared …

> Anyway, set-versions are not the "next big thing" with plenty of
> applications. It's rather a very boring stuff which nevertheless
> answers the question "how we can possibly enhance ABI compatibility
> control beyond sonames". The answer is that we must involve into
> set/subset testing - that's the model, that it is very expensive, and
> that the only reasonable and possibly the best way to go is to replace
> symbols with numbers, and to treat sets of numbers as special kind of
> versions. Now why is that? But that's a much better perspective for
> discussion.

We differ in usage cases. I see a "container", you see a "version".

There are many usage cases for subset operations in "package management"
no matter what we think or how the operations are implemented and represented.

73 de Jeff

> ______________________________________________________________________
> RPM Package Manager                                    http://rpm5.org
> Developer Communication List                        rpm-devel@rpm5.org

______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
Developer Communication List                        rpm-devel@rpm5.org

Reply via email to