[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Debian GNU [was: smarter way to differ architectures needed?]



Brian May wrote:
> Richard Braakman wrote:
> >I've read Brian's summary, but I still don't see the point of this
> >operator.  It seems that what you want to accomplish can be 
> >done just as easily with:
> >
> >Depends: hwarch-${Arch}, ${shlibs:Depends}
> 
> You can't say
> 
> Depends: hwarch-i386 ^ hwarch-sparc

As long as you're making the basic assumption that the package
that is built becomes dependent on the `dpkg --print-architecture`
of the build environment, you may as well use the Architecture:
header that we already have.  Thus:

Architecture: sparc i386
Depends: hwarch-${Arch}, ${shlibs:Depends}

If this is too limited (and it may be), then so is the
hwarch-i386 ^ hwarch-sparc approach.  A ${hwarch} substitution
is probably necessary in such cases, together with some sort
of dpkg-hwarch tool.

Note that we already have the problem that some source packages build
different sets of binary packages on different architectures.  There's
no real support for that; we just wing it.  This causes the archive
check scripts to whine at me a lot :-)

> Afterthoughts (assume same hwarch):
> - is there any reason that ${shlibs:Depends} might change in any
> way for another OS, but the package shouldn't be recompiled?

In a way, yes... the alpha tree already has this, since it calls
its libc "libc6.1".  This means that every Debian kernel must
call its libc "libc6.1" on the alpha, to be compatible.
We can fix this more easily with versioned Provides, though.

> - is there any reason the ${shlibs:Depends} migh remain constant
> for another OS, but the package should be recompiled?

Yes, but I think such cases are bugs.  The ${shlibs:Depends} remains
constant iff the library sonames are the same.  They shouldn't be the
same if the binary interface differs, but they might be.  We've seen
this even with libraries on a single system.

Richard Braakman


Reply to: