aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* PROPAPPLY: error if neither :APPLY nor :HOSTATTRS subroutinesSean Whitton2022-08-25
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* use WITH-CHANGES-DPKG-STATUS in preference to {ALL,NONE}-INSTALLED-PSean Whitton2022-08-25
| | | | | | | | This fixes at least one bug: previously APT:INSTALLED and APT:INSTALLED-MINIMALLY would report that a change was made whenever the list of packages passed to them contained the name of a virtual package. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* APT:{ALL,NONE}-INSTALLED-P: add docstringsSean Whitton2022-08-25
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* APT:PROXY: make unapplicableSean Whitton2022-08-20
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* FILE:SYMLINKED: document that the link target is literalSean Whitton2022-08-06
| | | | | Reported-by: Andreas Reuleaux <rx@a-rx.info> Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* :AS: fix name of keyword argument to :SU, :USER -> :TOSean Whitton2022-08-05
| | | | | Reported-by: Andreas Reuleaux <rx@a-rx.info> Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* add FILE:CONTAINS-CONF-UNSPACEDSean Whitton2022-08-04
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* GRUB:GRUB-INSTALLED: fix --no-nvram logicSean Whitton2022-08-01
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* rebuild the initramfs after populating the crypttabSean Whitton2022-07-30
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* disk.lisp: update copyright yearsSean Whitton2022-07-27
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* replace DISK:HOST-VOLUMES-CREATED, update & improve tutorialSean Whitton2022-07-27
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* DISK:WITH-OPENED-VOLUMES: include already open volumes in connattrsSean Whitton2022-07-27
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* INSTALLER:CHROOT-INSTALLED-TO-VOLUMES-FOR: add LEAVE-OPEN parameterSean Whitton2022-07-23
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* DISK:WITH-OPENED-VOLUMES: add support for leaving the volumes openSean Whitton2022-07-23
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* factor out DISK::HOST-VOLUMES-JUST-ONE-PHYSICAL-DISKSean Whitton2022-07-23
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* add support for passing arbitrary options to cryptsetup luksFormatSean Whitton2022-07-23
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* Revert "add support for passing --cipher to cryptsetup luksFormat"Sean Whitton2022-07-23
| | | | | | This reverts commit 5e7547f8b732c5c3e7b222e61600d79c123774d4. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* add support for passing --cipher to cryptsetup luksFormatSean Whitton2022-07-22
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* DATA.FILES-TREE: say that there is no encoding of special charactersSean Whitton2022-07-21
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* DATA.FILES-TREE: be slightly more explicit about path concatenationSean Whitton2022-07-21
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* FILE:CONTAINS-INI-SETTINGS: fix inserting section's remaining keysSean Whitton2022-06-27
| | | | | | | | | | | When we insert the section's remaining keys they should appear before any blank lines, comments etc. that appear between sections. This undoes a change in generated output inadvertently introduced by 1a19be7ea65fbfa0b192b2bf18a735f230f16675, and also simplifies the code by eliminating redundant regexp matching: that's the job of CONFIG-FILE-MAP. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* MULTIPLE-VALUE-MAPCAN: don't return spurious 2nd value & some testsSean Whitton2022-06-27
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* APPLY-AND-PRINT: add some commentarySean Whitton2022-06-27
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* APT:PINNED: fix quotation in exampleSean Whitton2022-06-27
| | | | | Reported-by: David Bremner <david@tethera.net> Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* REBOOT:AT-END: add fallback schedulingSean Whitton2022-06-27
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* ESEQPROPS-UNTIL: lift restriction on class of the conditionSean Whitton2022-06-27
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* convert some internal shell snippets to single linesSean Whitton2022-06-27
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* add INSTALLER:WITH-CLEANLY-INSTALLED-ONCESean Whitton2022-06-27
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* MULTIPLE-VALUE-MAPCAN: rework for less list traversal in many casesSean Whitton2022-06-27
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* 'SETNS POST-FORK: use MAPL, hopefully in favour of readabilitySean Whitton2022-06-25
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* DISK:OPEN-VOLUME-AND-CONTENTS: avoid using a special variableSean Whitton2022-06-25
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* fix FSTAB:HAS-ENTRIES-FOR-OPENED-VOLUMES for FAT32 filesystemsSean Whitton2022-06-24
| | | | | | | | The property should never have been calling SUBVOLUMES-OF-TYPE because opening volumes does not ever update the VOLUME-CONTENTS slot to contain OPENED-VOLUME values. The structure of the OPENED-VOLUMES connattr is that of a flat list. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* user.lisp: update copyright yearsSean Whitton2022-06-24
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* add USER:GROUP-EXISTSDavid Bremner2022-06-24
| | | | | | | This is essentially a copy of HAS-ACCOUNT, with the equivalent of USER-EXISTS inlined. Signed-off-by: David Bremner <david@tethera.net>
* FILE:CONTAINS-INI-SETTINGS: fix extracting section namesSean Whitton2022-06-18
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* wrap OSICAT:USER-INFO with getent(1) fallbackSean Whitton2022-06-17
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* factor out PROG-CHANGESSean Whitton2022-06-14
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* LIBVIRT:DEFINED-FOR: fix two problems with --os-variantDavid Bremner2022-05-19
| | | | | | | | | | | | | Pass OS values, not HOST values, to LIBVIRT::OS-VARIANT. Recently virt-install(1) began to error by default if the OS variant is omitted. Switch off this requirement as a fallback for versions of Debian newer than known to virt-install(1) (via libosinfo). The argument '--osinfo' is recognized by virtinst 3.2.0 and later; in 4.0.0 it is documented as the preferred form. Signed-off-by: David Bremner <david@tethera.net>
* RECONNECTS :HOSTATTRS: simplifySean Whitton2022-05-14
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* WITH-UNAPPLY: use LDIFFSean Whitton2022-05-14
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* import PARSE-UNIX-NAMESTRING and DIRECTORY-PATHNAME-PSean Whitton2022-05-05
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* add tests for pass(1) data sourceDavid Bremner2022-05-05
| | | | | | | | Test the several cases of transforming (IDEN1 IDEN2) to a filesystem location. Tricky cases include an illegal hostname in IDEN1 and shadowing of an entry by one prefixed with '_'. Signed-off-by: David Bremner <david@tethera.net>
* introduce the pass(1) data sourceDavid Bremner2022-05-05
| | | | | | | IDEN1 is mapped to a containing directory beneath a user defined pass(1) store, and IDEN2 completes the path to a gpg encrypted file. Signed-off-by: David Bremner <david@tethera.net>
* provide macro WITH-RESET-DATA-SOURCESDavid Bremner2022-05-05
| | | | | | As the docstring hints, this will be used in the test suite. Signed-off-by: David Bremner <david@tethera.net>
* run tests with temporary gpg homeDavid Bremner2022-05-05
| | | | | | | | | | | The big picture change here is the introduction of a custom test runner which allows setting up and tearing down various data sources (or other resources) for the test suite. In order to parse the output of gpg, provide a new exported function CONSFIGURATOR:STRIP-PREFIX. Signed-off-by: David Bremner <david@tethera.net>
* refactor use of gnupg in CONSFIGURATOR.DATA.PGPDavid Bremner2022-05-05
| | | | | | | | | | Add a new low level function GPG, and a function GPG-FILE-AS-STRING intended for use in the pgp data source and the future pass(1) data source. Both of these functions support a new parameter *DATA-SOURCE-GNUPGHOME*, which allows the user (or test suite) to control where key material is stored for accessing data sources. Signed-off-by: David Bremner <david@tethera.net>
* add package CONSFIGURATOR.DATA.UTILDavid Bremner2022-05-05
| | | | | | | | | | | | | | This package is intended to provide a home for utility functions used by multiple data sources. Initially move a local function from CONSFIGURATOR.DATA.FILES-TREE, and slightly generalize it to support an extension or TYPE argument. Note that the goal of LITERAL-DATA-PATHNAME is to map (IDEN1 IDEN2) to existing paths in a user-maintained file hierarchy. This is quite different from DATA-PATHNAME, which escapes various characters to map to a safe internal filename, effectively flattening a directory hierarchy into a single level. Signed-off-by: David Bremner <david@tethera.net>
* OS:TYPECASE, OS:DEBIAN-SUITE-CASE: support otherwise clausesSean Whitton2022-05-03
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* add OS:{HOST-,}DEBIAN-SUITE-{E,}CASE combinatorsSean Whitton2022-05-03
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* update copyright noticesSean Whitton2022-04-29
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>