On Thu, 13 Mar 2008, Tom \spot\ Callaway wrote:
On Thu, 2008-03-13 at 13:19 -0500, Jason L Tibbitts III wrote:
I will admit to not fully understanding
what's up here, but can we address this and either fix it or provide
some response to fesco to assuage their concerns?
Grumble, grumble. I really hate it when dwmw2 uses mostly unrelated
issues as a soapbox.
The simple fact is that we cannot do arch-specific requires without file
dependencies, and since ocaml doesn't "link" to any shared libraries,
Ooh, my favorite subject... (in general, not just ocaml)
we'd be really fudging it here. We could solve the problem by adding a
Requires: %{_libdir}/ocaml on arch-specific ocaml packages, but it will
mean that every ocaml program installs slowly. Or, we could hack around
this with %{_bitsize} macro defines and provides (believe it or not, I'd
actually prefer this).
I think the size of a bit (bitsize) is always one, no? :)
This is precisely my hangup (as silly as it is) with adding
"bitness-specific" requires to rpm - nobody has come up with a *good* name
for it. Good as in "Oh yes, that's it! How come I didn't think of that!"
We'll be stuck with the thing forever once introduced, so I'd prefer
something I like over something I can kinda live with.
%{_bits}, %{_bitness}, %{_bitsize}, %{_wordsize} and similar have been
suggested before. While any of them would work for this purpose, they're
awfully limited in terms of what they express, and make noarch an odd
special case: noarch is not really "zero bits".
Linux kernel uses the term "personality" for this purpose, and *that* is
the type of abstraction I'm after here. It covers a far broader question
than just "how many bits":
- noarch is not a weird special case, it's simply "any personality"
- "How many bits" becomes "matching personality"
- What if next year somebody comes up with a machine that supports x86_64,
x86 and say, ppc32 natively? With just number of bits, you'd be out of
luck trying to express "I want the 32bit ppc package."
Taken a bit further: rpm could add system provides (similar to rpmlib
provides) of the personalities that the hardware natively supports.
Packages build for x86 would depend on the personality they where build
for added automatically. Think of emulators providing the personalities
they support, eg qemu on PPC providing personality(x86).
Or use "abi" instead of "personality", if nothing else it's shorter to
type and covers the same idea.
What the spec etc syntax for that would be I dunno, maybe just
"Requires: foo%{_abi}" which would expand to foo(<abi name>), eg
foo(ppc32). Or something like that.
Does that make sense to others, or am I just out to luch as usual? ;)
- Panu -
--
Fedora-packaging mailing list
Fedora-packaging@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-packaging