summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick McDermott <pehjota>2020-06-21 11:02:30 (EDT)
committer Patrick McDermott <pehjota>2020-06-21 11:02:30 (EDT)
commit26226143aea1acc2fb99085a30962431830b9eb1 (patch)
tree22b2ce33f5483e87483b24c82faa4a3b33f970a3
parent7ab4fb5a9618cd67931c71b71a24fdfcc52aa37e (diff)
dev/multiarch: Add FS hierarchy implementation
-rw-r--r--dev/multiarch.mdwn21
1 files changed, 21 insertions, 0 deletions
diff --git a/dev/multiarch.mdwn b/dev/multiarch.mdwn
index c9aa90b..d869a7d 100644
--- a/dev/multiarch.mdwn
+++ b/dev/multiarch.mdwn
@@ -157,3 +157,24 @@ dependency is available in the downloaded feed lists, and the dependency is not
architecture-qualified. The language extension dependency in turn depends on a
language interpreter, which is also not architecture-qualified. The native
architecture of both will be installed.
+
+
+Implementation
+==============
+
+File System Hierarchy
+---------------------
+
+As explained above, to be coninstallable, library packages must install all of
+their files in architecture-qualified locations. Debian and Ubuntu install
+shared object files in `/usr/lib/<triplet>` or `/lib/<triplet>`, where
+`<triplet>` is a [GNU system type][ac-systemtype]. Since multiple ProteanOS
+architectures may share the same GNU system type, ProteanOS architecture names
+are instead used in such library directories.
+
+ProteanOS's GNU Binutils and GCC packages have been patched and configured to
+use multiarch library paths since their initial releases in 2014. opkhelper has
+used multiarch library paths when configuring packages since version 3.0.0-beta1
+released in 2012.
+
+[ac-systemtype]: https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/System-Type.html