summaryrefslogtreecommitdiffstats
path: root/dev/releases/1/multiarch.mdwn
blob: 866e4b3f218eed89f151db503a755b6c163f65ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
[[!meta title="Release Series 1 Goal: Multiarch"]]

A goal for [[release_1.0.0|dev/releases/1]] is partial multiarch support.

See also the [[multiarch_design_details|dev/multiarch/design]].


Scope
=====

It should be possible to manually install packages of specific architectures to
facilitate cross building and cross installation of packages.  Additionally, all
packages that provide architecture-dependent files and are to be coinstallable
should support coinstallation, so that no major changes need to be made to file
locations to complete the multiarch implementation.  Note that coinstallability
itself is not a goal for this release series.

This means that:

  * A filesystem hierarchy with architecture-dependent paths for libraries and
    executable programs should be designed and documented in the Packaging
    Policy,
  * Architecture-dependent files provided by packages that are to be
    coinstallable should be installed in architecture-dependent locations,
  * To the extent possible and reasonable, architecture-independent files should
    not be provided by packages that are to be coinstallable,
  * Relevant toolchain packages should be configured and/or patched to use
    architecture-dependent library paths,
  * The `PATH` environment variable should be set to contain native-architecture
    executable program directories, and
  * opkg should be modified to support `<pkg>:<arch>` names in its `install`
    command.

Not included in this release goal are:

  * Control information to document package coinstallability and
    inter-architecture dependency satisfaction, and
  * Handling of architecture-independent files provided by coinstallable
    architecture-dependent packages or other coinstallability considerations in
    package management.