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

Re: Directory Organization for Sub-Architectures?



> What do you think about directory organization for
> sub-architectures?
> 
> There is a work in progress to make Debian packages for a
> non-AT i386 architecture in Japan.  While the architecture
> requires special kernel and system-specific commands, users
> are able to use the most of i386 binaries with no changes.
> 
> I expect the Debian GNU/Linux will support the architecture
> in the future, but there may be a problem when it becomes
> true.  I don't think the current directory organization can
> handle such sub-architectures well.

We have a similar problem on m68k: There are several kinds of m68k
machines (Amiga, Atari, Mac, ...), but it's still the same CPU. Most
of the binaries/packages work as well on all machine types, but for
some packages they're different (e.g. fdisk, bootstrap,
kernel-images), and some packages are meaningful only on certain
machines (e.g. setsccserial and nvram are Atari-specific). Things
become even more complicated because some packages are Priority:
required.

We've now (hopefully...) sorted out these problems so far, but the
solution isn't optimal. Out (the m68k ploeple's) conclusion was that
the best solution would be something like sub-archs in dpkg :-) But we
didn't dare to hope that something like that would be ever
implemented. But if now also other people need sub-archs, maybe
there's some hope :-)

> b) Add the notion of sub-architecture to the packaging
> system and share a directory between sub-architectures.

I don't think the directory structure isn't the big problem... (e.g.
make new sections for subarch-specific stuff).

The bigger problem is to build the notion of sub-archs into dpkg & Co.

My thoughts were the following (no proposal, just some ideas):

 - dpkg knows the sub-arch of the machine it currently runs on [1],
   and tells it to the rest of the world with, for example, a
   --print-sub-architecture option.

 - There's a Sub-Arch: field in the control file of packages (applying
   to binary packages), which is a list of sub-archs suitable for the
   package.

 - dpkg refuses to install packages with a non-matching sub-arch.

If the dpkg maintainers don't completely refuse the idea, I also would
volunteer to implement this...

Roman

[1]: The way of determining the sub-arch is obviously arch-specific.
Don't know how to distinguish between i386/PC and
i386/these-japanese-machines. But on m68k, one can open /proc/hardware
(a m68k-specific /proc file) and search for a line that starts with
"Model:". The Model line is something like:

  Model:    Atari TT
  Model:    Amiga A4000
  Model:    Macintosh ...

We currently extract the first word and use this as something similar
as the sub-arch.

Roman


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .


Reply to: