summaryrefslogtreecommitdiff
path: root/src/Propellor/Property
AgeCommit message (Collapse)Author
2019-07-16remove /updates from security urlJoey Hess
According to Ansgar Burchardt's mail, it should look like: deb http://security.debian.org/debian-security bullseye-security main Kept as it was for oldstable etc.
2019-07-12use "-security" suffix for bullseye and upJoey Hess
The suite for stable releases from bullseye on will be suffixed with "-security". Only 3 past stable releases continue to use the old unsuffixed name.
2019-07-10Apt: Debian has changed the name of the suite for testing security updates ↵Joey Hess
from testing to testing-security. The testing-security suite appeared 4 days ago. I don't know where this change is documented; wish I had known about it before the stable release, as now stable has a propellor that doesn't work with testing.
2019-07-02use ConstraintKindsJoey Hess
This is just a bit prettier code than manually needing to use constraint ~ True
2019-07-02Revert "Revert "custom type error messages""Joey Hess
This reverts commit 665ea0d3d9e1b0e90278fd659dee0ef8642030da.
2019-07-02Revert "custom type error messages"Joey Hess
This reverts commits 14f6ae30809d8bbdb10b91cc59757e865a365df8 de21ef26861db458b0dfb0212cf501f9f8ed459b e20662e6a8881db55394a6366be17ca4e509bc2a Until this bug is resolved, these custom error types hide more basic errors. https://gitlab.haskell.org/ghc/ghc/issues/16894
2019-07-01fix build with ghc 8.0.1Joey Hess
Something in commit 14f6ae30809d8bbdb10b91cc59757e865a365df8 ghc 8.0.1 in a few cases unable to infer types when ensureProperty or tightenTargets is used. Newer versions of ghc, including 8.4.4 were able to infer these types. Perhaps it tries harder, or an inference bug was fixed. Seemed best to work around the problem to keep supporting ghc 8.0.1 and the current Debian stable. Since only 3 uses out of hundreds in propellor were affected, it's pretty unlikely it will affect user's properties, but I mentioned in in the changelog anyway. Hopefully a new Debian release will soon mean I no longer need to support 8.0.1, but the code changes also generally made it clearer and easier to read. And, I made custom type errors suggesting adding annotations to help any user who does encounter it. (Included in commit de21ef26861db458b0dfb0212cf501f9f8ed459b; may also help with other cases than an old ghc.)
2019-07-01custom type error messagesJoey Hess
* Avoid displaying an excessive amount of type error messages when many properties have been combined in a props list. * Added custom type error messages when Properties don't combine due to conflicting metatypes. * Added custom type error messages for ensureProperty and tightenTargets. * ensureProperty: The constraints have been simplified to EnsurePropertyAllowed. (API change) * ensureProperty: The contraints have been simplified to TightenTargetsAllowed. (API change) * CheckCombinable generates a Bool. (API change) This commit was sponsored by Jake Vosloo on Patreon.
2019-07-01Merge branch 'master' into joeyconfigJoey Hess
2019-07-01fixJoey Hess
2019-06-30moar watchdogJoey Hess
2019-06-15Merge branch 'joeyconfig'Joey Hess
2019-06-15Libvirt.installed: install libvirt-daemon-systemDavid Bremner
Several things recommend libvirt-daemon, but not for whatever reason libvirt-daemon-system. This means the libvirt-daemon is not started, which can cause virt-install to fail. Installing libvirt-daemon explicitly is probably overkill, but avoids problems in case the dependencies of libvirt-daemon-system change.
2019-05-13propellor spinJoey Hess
2019-05-04propellor spinJoey Hess
2019-04-22Merge branch 'joeyconfig'Joey Hess
2019-04-22fix Git.pulled always reporting a changeSean Whitton
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
2019-04-18wordingJoey Hess
To me, "standardly" seemed to imply the property might be included by default, but it is not.
2019-04-17propellor spinJoey Hess
2019-04-17propellor spinJoey Hess
2019-04-17propellor spinJoey Hess
2019-04-16Ssh.userKeys, Ssh.userKeyAt: Create .ssh directory when it does not yet exist.Joey Hess
* Ssh.userKeys, Ssh.userKeyAt: Create .ssh directory when it does not yet exist. * Ssh.userKeyAt: When a relative filepath is provided, it's put inside the user's .ssh directory.
2019-04-09Add User.ownsWithPrimaryGroupSean Whitton
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
2019-04-08change from inChroot to granular container capabilities infoJoey Hess
* Removed inChroot, instead use hasContainerCapability FilesystemContained. (API change) * Hostname: Properties that used to not do anything in a systemd or docker container will now change the container's hostname, since it's namespaced. More container capabilities can easily be added later, to fine grain control what properties will run in different kinds of containers. This changed CmdLine's Read instance, which should be ok, because propellor inside the container is always updated at the same time as propellor outside, so when it chains into the chroot, it will know to expect the capability list. Docker was not setting InChroot before, but now sets both container capabilities, so chroot setting will also work in it. Note that, things that used to check inChroot before would not work in docker, but things that check FilesystemContained now will. It may be that some of those properties don't really work properly in docker. And, Grub.installed used to run grub-mkconfig in a docker container before, I doubt that made sense (was it even safe?); it doesn't do it now. This commit was sponsored by Trenton Cronholm on Patreon.
2019-04-08Fix bug in File.containsShellSettingJoey Hess
It replaced whole shell conffile content with the setting if the file did not previously contain a line setting the key to some value. InsertSection is passed the whole content of the file, which does not contain the section yet (here the section is a single line). Probably this was not noticed because it's common for a shell config file to contain default values, so the buggy InsertSection rarely gets used. This commit was sponsored by Ethan Aubin.
2019-04-03remove old cron jobJoey Hess
2019-04-03remove unidiomatic parens before `func`Joey Hess
2019-04-03remove space before tab indentationJoey Hess
2019-04-03make Cron.runPropellor revertableSean Whitton
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
2019-04-03add Cron.jobDroppedSean Whitton
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
2019-04-03Sbuild.built applies Localdir.removed to schrootsSean Whitton
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
2019-04-03add Localdir.removedSean Whitton
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
2019-04-03add Mount.partialBindMountsOf functionSean Whitton
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
2019-04-03rename Propellor.Property.{PropellorRepo -> Localdir}Sean Whitton
This is to accommodate a new property in that module which is about /usr/local/propellor, but not only about the git repo there. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
2019-04-01Added Utility.FileMode to the modules exported by Propellor.UtilitiesJoey Hess
Since File.mode uses FileMode, it seems it ought to be exported by propellor somewhere. I don't want to make propellor Property modules themselves export core data types though, so this is a compromise of dubious utility.
2019-04-01sbuild: break Apt.stdSourcesList out of Sbuilt.builtSean Whitton
Apt.stdSourcesList supports only Debian, so having it inside Sbuilt.built was blocking using Sbuild.built with non-Debian schroots. Note that we cannot break out the installation of eatmydata and ccache, because Sbuild.built assumes that those are available in the schroot config files that it writes out. This is a minimal fix. If it becomes clear that there are properties which would be wanted in every Buntish schroot, say, we might replace Sbuild.osDebianStandard with an Sbuild.standard property which uses pickOS to install the right set of properties. Reported-by: David Bremner <david@tethera.net> Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
2019-03-25propellor spinJoey Hess
2019-02-18updateJoey Hess
2019-01-20fix Libvirt.hs haddock buildSean Whitton
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
2019-01-20Revert "propellor: fix haddock markup in Propellor.Property.Libvirt"Joey Hess
This reverts commit 278ca887cc734ea60af429d545a6da446a0cc6aa.
2019-01-20propellor: fix haddock markup in Propellor.Property.LibvirtSergei Trofimovich
'cabal haddock' fails as: src/Propellor/Property/Libvirt.hs:35:1: error: parse error (possibly incorrect indentation or mismatched brackets) Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2019-01-18Merge branch 'master' into joeyconfigJoey Hess
2019-01-18fix withOS type level bugJoey Hess
withOS had a type level bug that allowed ensureProperty to be used inside it with a Property that does not match the type of the withOS itself. Propellor.Property.Cron.runPropellor is a Property DebianLike; it was incorrectly a Property UnixLike before and that wrong type was hidden by the withOS bug. This commit was sponsored by Jack Hill on Patreon.
2018-12-30Merge branch 'master' into joeyconfigJoey Hess
2018-12-12propellor spinJoey Hess
2018-12-11updateJoey Hess
2018-12-10propellor spinJoey Hess
2018-12-04remove obsolete stm packageJoey Hess
2018-12-01Merge branch 'joeyconfig'Joey Hess
2018-11-16propellor spinJoey Hess