aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-10-28 15:39:50 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-10-28 15:39:50 -0700
commitfd338de27e1d80855e295790ee828043d3d41e32 (patch)
tree07756f605114aac76e5675d38740ddf2d90df91f /doc
parent419781a056dd888c57e76a86e4dc0d3a5da96c6d (diff)
downloadconsfigurator-fd338de27e1d80855e295790ee828043d3d41e32.tar.gz
expand remarks on portability & update in light of recent changes
We've long required package-local nicknames but this was not mentioned. We now additionally require multithreading, a C toolchain and development headers for libacl. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'doc')
-rw-r--r--doc/introduction.rst20
1 files changed, 16 insertions, 4 deletions
diff --git a/doc/introduction.rst b/doc/introduction.rst
index 5087544..1af6cf3 100644
--- a/doc/introduction.rst
+++ b/doc/introduction.rst
@@ -279,15 +279,27 @@ Portability and stability
- **Consfigurator is still stabilising and so there may be lots of breaking
changes.**
-- All of the code in the core library should be portable ANSI Common Lisp,
- though optional packages providing properties and connection types might use
+- The core library should be portable between standards-conforming
+ implementations of ANSI Common Lisp which include support for a few
+ additional, widely-implemented features such as package-local nicknames.
+ Optional packages providing properties and connection types might use
implementation-specific functionality. Little to no testing is done by the
author on implementations other than SBCL, so testing and portability
patches are welcome.
- Lisp implementations which will run on the hosts you wish to configure must
- expose some mechanism for safely calling fork(2), like ``SB-POSIX:FORK`` in
- the case of SBCL. The root Lisp does not need to fork(2).
+ support multithreading and must expose some mechanism for safely calling
+ fork(2) in the presence of non-user threads, like ``SB-POSIX:FORK`` in the
+ case of SBCL. The root Lisp does not need to fork(2). With some additional
+ portability patches, it should be possible to host the root Lisp even on
+ systems to which Consfigurator probably can't apply properties, such as
+ Microsoft Windows.
+
+- As both Consfigurator and its dependency Osicat make use of CFFI-Grovel,
+ loading Consfigurator into Lisp currently always additionally requires a C
+ toolchain, and development headers for libacl. It might be possible to
+ conditionalise further so as to avoid any dependency on a C toolchain for
+ the root Lisp.
- Little attempt is made by the author to support systems other than Debian
GNU/Linux, but again, portability patches are welcome, and the design of