| Age | Commit message (Collapse) | Author |
|
|
|
* Properties that run an arbitrary command, such as cmdProperty
and scriptProperty are converted to use UncheckedProperty, since
they cannot tell on their own if the command truely made a change or not.
(API Change)
Transition guide:
- When GHC complains about an UncheckedProperty, add:
`assume` MadeChange
- Since these properties used to always return MadeChange, that
change is always safe to make.
- Or, if you know that the command should modifiy a file, use:
`changesFile` filename
* A few properties have had their Result improved, for example
Apt.buldDep and Apt.autoRemove now check if a change was made or not.
|
|
RevertableProperty used to be assumed to contain info, but this is now made
explicit, with RevertableProperty HasInfo or RevertableProperty NoInfo.
Transition guide:
- If you define a RevertableProperty, expect some type check
failures like: "Expecting one more argument to ‘RevertableProperty’".
- Change it to "RevertableProperty NoInfo"
- The compiler will then tell you if it needs "HasInfo" instead.
- If you have code that uses the RevertableProperty constructor
that fails to type check, use the more powerful <!> operator
|
|
chroot, and won't affect the hostname of the host system.
|
|
* Where before debootstrapped and bootstrapped took a System parameter,
the os property should now be added to the Chroot.
* Follow-on change to Systemd.container, which now takes a System parameter.
Two motivations for this change:
1. When using ChrootTarball, there may be no particular System that
makes sense for the contents of the tarball, so don't force the user to
specify one.
2. When creating a chroot for a disk image with the same properties
as an existing Host, using hostProperties host to get them, this
allows inheriting the os property from the host, and doesn't require
it to be redundantly passed to Chroot.debootstrapped.
|
|
|
|
So other ways to bootstrap chroots can easily be added in separate modules.
(API change)
|
|
|
|
via origfile.propellor-new~, instead of to a randomly named temp file.
This allows them to clean up any temp file that may have been left by an
interrupted run of propellor.
Also converted the new isSymlinkedTo property to use the same
implementation, with some simplifications.
|
|
|
|
|
|
This involved some code changes, including some renaming of instance
methods. (ABI change)
|
|
Convert Info to use Data.Dynamic, so properties can export and consume
info of any type that is Typeable and a Monoid, including data types
private to a module. (API change)
Thanks to Joachim Breitner for the idea.
|
|
|
|
|
|
This property masks, and when reverted unmasks, systemd services. This is just
`systemctl mask service` and `systemctl unmask service`. It's useful for
turning off a system service that you intend to run with --user.
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
|
|
|
|
|
|
|
|
|
|
|
|
needed by systemd 220 for machined to see the container as a machine
|
|
|
|
|
|
It was using whatever was in /lib/systemd/system/systemd-nspawn@.service,
but systemd 220 added --network-veth to that, which can break existing
setups. So don't do that.
|
|
|
|
While needed for chroot provisioning, it confuses system when
systemd-nspawn runs it inside the container.
|
|
|
|
|
|
|
|
220.)
|
|
|
|
environment variables.
|
|
Propellor.Property.Cmd, so they are available for use in constricting your own Properties when using propellor as a library.
Several imports of Utility.SafeCommand now redundant.
|
|
* Property has been converted to a GADT, and will be Property NoInfo
or Property HasInfo.
This was done to make sure that ensureProperty is only used on
properties that do not have Info.
Transition guide:
- Change all "Property" to "Property NoInfo" or "Property WithInfo"
(The compiler can tell you if you got it wrong!)
- To construct a RevertableProperty, it is useful to use the new
(<!>) operator
- Constructing a list of properties can be problimatic, since
Property NoInto and Property WithInfo are different types and cannot
appear in the same list. To deal with this, "props" has been added,
and can built up a list of properties of different types,
using the same (&) and (!) operators that are used to build
up a host's properties.
|
|
|
|
|
|
This is more general; it doesn't need to contain a Host.
It would, for example, be possible to make Property itself be an instance
of PropAccum.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also, lost the systemd-nspawn parameters; I'll do that some other way.
|
|
Need to propigate the full container info, not the subset used in chroot
deployment.
|