``CONSFIGURATOR.PROPERTY.PACKAGE``
==================================
API reference
-------------

General
~~~~~~~

Constant: ``PACKAGE:+CONSFIGURATOR-SYSTEM-DEPENDENCIES+``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Simple error: ``PACKAGE:PACKAGE-MANAGER-NOT-FOUND``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

``(package:package-manager-not-found)``

Property: ``PACKAGE:INSTALLED``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

``(package:installed package-manager &rest package-lists)``

Attempt to use a system package manager to install system packages as
specified by PACKAGE-LISTS.  If PACKAGE-MANAGER, a keyword, use that
particular package manager; otherwise, see what we can find on PATH.

Each of PACKAGE-LISTS is a plist where the keys identify package managers, and
where the values are lists of package names to install using that package
manager.  See PACKAGE:+CONSFIGURATOR-SYSTEM-DEPENDENCIES+ for an example.

This property should not typically be applied to hosts.  It is preferable to
use an operating system-specific property, such as APT:INSTALLED.  This
property exists because in a few cases it is necessary to install packages
where there is no known-valid HOST value for the machine upon which we need to
install packages, and thus we cannot infer what package manager to use from
the host's OS, and must fall back to seeing what's on PATH.

In particular, when starting up a remote Lisp image when the REMAINING
argument to ESTABLISH-CONNECTION is non-nil, we might be starting up Lisp on a
machine other than the one to be deployed and we do not have HOST values for
intermediate hops.  Another case is INSTALLED:CLEANLY-INSTALLED-ONCE;
regardless of REMAINING, the initial OS might be the one we will replace, not
the declared OS for the host.
