path: root/debian
AgeCommit message (Collapse)Author
2018-10-14Added Apt.backportInstalledMin.Joey Hess
This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
2018-10-13name bikesheddingJoey Hess
2018-10-09Borg: Added UsesEnvVar.Joey Hess
For eg, BORG_REMOTE_PATH needed to use borg on This commit was sponsored by Jochen Bartl on Patreon.
2018-08-20Removed HostingProvider.CloudatCost module as it lacks a maintainerJoey Hess
(If anyone would like to maintain it, send a patch adding it back.) (API change)
2018-08-20Sudo.enabledFor: Write to /etc/sudoers.d/000users rather than to /etc/sudoersJoey Hess
(Any old lines it wrote to /etc/sudoers will be removed.) This fixes a potential ordering problem; the property used to append the line to /etc/sudoers, but that would override more specific lines in the include directory. By putting it in a file that is included first, it'll come before all includes, without needing to parse the sudoers file in order to put it before the includedir line. Note that, if there is a more specific line for the user in /etc/sudoers before the includedir, it will be overridden by the line in /etc/sudoers.d/000users. But, this is not a behavior change from before, when the line was appended to the end. This commit was sponsored by Jeff Goeke-Smith on Patreon.
2018-08-20Added Sudo.sudoersDFile property.Joey Hess
This commit was sponsored by Ewen McNeill on Patreon.
2018-08-19Systemd.escapePath functionJoey Hess
Useful when creating mount units.
2018-08-19Split mailname property out of Hostname.saneJoey Hess
Since bad mailname guesses can lead to ugly surprises. (API change) Kept it in the Hostname module for easy discoverability, and similar to Hostname.searchDomain it sets a value based on the hostname so makes sense to keep it in that module. Didn't implement the mailname equivilant of Hostname.setTo, because it's trivial to write the mailname file with a custom value if desired. This commit was sponsored by John Pellman on Patreon.
2018-08-09letsencrypt': Pass --expand to support expanding the list of domainsJoey Hess
2018-08-08releasing package propellor version 5.4.1Joey Hess
2018-07-11remove build-time warning for dockerJoey Hess
Propellor.Cmdline imports it, which made propellor compilation warn.
2018-07-11Merge branch 'master' into joeyconfigJoey Hess
2018-07-11two unmaintained modulesJoey Hess
2018-06-24Dns: Support TXT values longer than bind's maximum string length of 255 ↵Joey Hess
bytes. Thanks, rsiddharth.
2018-06-16changelogJoey Hess
2018-05-18use git verify-commitJoey Hess
Use git verify-commit to verify gpg signatures, rather than the old method of parsing git log output. These two methods should always have the same result. Note that git verify-commit allows signatures with unknown validity, the same as git log's "U" output which was accepted. So any key in the gpg keyring is allowed to sign the commit. Propellor provides gpg with a keyring containing only the allowed keys. Needs git 2.0, which is in even debian oldstable. This commit was sponsored by Ewen McNeill on Patreon.
2018-05-18modernized and simplified the MetaTypes implementationJoey Hess
now that compatability with ghc 7 is no longer needed. Data.Type.Bool contains effectively the same stuff that was implemented here, so removed my code. Tried to use Data.Type.Equality instead of my EqT, but it seems to be some other type of (type level) equality, and didn't compile. Instead went with the simpler EqT implementation that newer ghc versions allow. The rest of the changes are simply better syntax for defining type families. And upon using that syntax, ghc noticed that `type family a + b` does not have kind "ab" like I wrote before, but is kind *. Tested on debian stable with ghc 8.0.1. This commit was sponsored by John Pellman on Patreon.
2018-05-17releasing package propellor version 5.4.0Joey Hess
2018-05-17tried to improve changelog wordingJoey Hess
2018-05-17Apt.installedBackport replaced with Apt.backportInstalledSean Whitton
Apt.installedBackport would do this: apt-get install -t stretch-backports foo bar Apt.backportInstalled does this: apt-get install foo/stretch-backports bar/stretch-backports The Apt.installedBackport behaviour can install the dependencies of foo and bar from stretch-backports even when the versions in stretch will satisfy the dependencies of the backports of foo and bar. So this property can result in very many more backports being installed on the host when intended. But the number of installed backports should always be minimised. Worse, whether this happens is highly dependent on the system state, and the order in which other properties get ensured. For example, & Apt.installed ["dgit"] & Apt.installedBackport ["dgit"] will install only dgit from stretch-backports, but unless debhelper and devscripts happen to already be installed, & Apt.installedBackport ["dgit"] & Apt.installed ["dgit"] will install dgit, debhelper, devscripts and maybe more from backports. This is surprising, difficult to debug, and breaks the expectation that when the order in which properties are ensured is not specified with connectives like `requires` and `before`, ensuring them in any order will produce the same result. Property renamed because user configs should not silently break, as they would if they did not list dependencies that must be installed from stable-backports. Signed-off-by: Sean Whitton <>
2018-05-17Restic.installed: stop trying to install a backport on jessieSean Whitton
No such backport exists in the archive. Signed-off-by: Sean Whitton <>
2018-05-09releasing package propellor version 5.3.6Joey Hess
2018-05-06changelogJoey Hess
2018-05-03Update shim each time propellor is run in a container, to deal with library ↵Joey Hess
version changes. Surprised this didn't come up before, since propellor was run against progressively old versions of libraries when propelling eg, a chroot. It finally broke on an arm box, where libm got updated to a new version and propellor used a symbol from the new version. The comment says that propellor may be running from an existing shim in which case it's reused. That could be a nested chroot or other container, or perhaps propellor was deployed via a precompiled tarball which is built using a shim. The code used to use "checkAlreadyShimmed shim" which I don't see how it deals with either of those scenarios. Changed to "checkAlreadyShimmed propellorbin", which I think will deal with them, but I've not tested such scenarios. Added code to delete old versions of libraries out of the shim directory to avoid masses of old ones piling up over time. Property.Chroot sets up the shim directory and then bind mounts it into the chroot. To avoid deleting the source of a bind mount, made this only delete files in the shim directory, but not the shim directory itself.
2018-05-02changelogJoey Hess
2018-04-30Revert "Added dependency on concurrent-output; removed embedded copy."Joey Hess
This reverts commit 02eca2ae4cf51d8e83d94d8359e15ac053451109. This seems to have broken propellor badly, in testing I'm seeing it crash at the end of a run with "thread blocked indefinitely in an STM transaction" and also during the run it printed out some odd output like: apache2: apache2: dummy IN SSHFP 4 1 35df80973f5877e4041f1b70947385eb2f6a0822 dummy IN SSHFP 4 2 3a0bb426e76eebc5c56e3b0f1428aa9d18539e9621bf8f9e3b7f56a4e7d81c85 Which seems like it might be output of commands that propellor is supposed to be reading? Seems likely that there's a bug or two that have crept into then concurrent-output library since the version embedded in propellor.
2018-04-23stack.yaml: Updated to lts-9.21.Joey Hess
Also tested with lts-11.6 / ghc 8.2.2 and it does build, however the stack in debian stable (and even unstable currently) does not support that version's data.
2018-04-23Added dependency on concurrent-output; removed embedded copy.Joey Hess
Removed deps on transformers, text, stm. Updated debian/control and Propellor.Bootstrap accordingly. Sorted the lists of deps to make it easier to keep them in sync. This commit was sponsored by Nick Daly on Patreon.
2018-04-23semigroup monoid change fallout; drop ghc 7 supportJoey Hess
Fix build with ghc 8.4, which broke due to the Semigroup Monoid change. See Dropped support for building propellor with ghc 7 (as in debian oldstable), to avoid needing to depend on the semigroups transitional package, but also because it's just too old to be worth supporting. If we indeed drop ghc 7 support entirely, some code to support "jessie" can be removed; concurrent-output can be de-embedded, and the Singletons code can be simplified. This commit was sponsored by Jack Hill on Patreon.
2018-04-22releasing package propellor version 5.3.5Joey Hess
2018-04-22separate Hs-Source-Dirs for binariesJoey Hess
This is a trick I only just learned about, see Significantly increased propellor build speed when your config.hs is in a fork of the propellor repository, by avoiding redundant builds of propellor library. Also avoids needing to list all the build deps 3 times. Also avoids cabal 2.x wanting every module to be listed 3 times. Note that the bulk of wrapper.hs had to move into the propellor library, since that code depended on stuff not exposed by the library. This commit was sponsored by Henrik Riomar on Patreon.
2018-04-18changelogJoey Hess
2018-03-21releasing package propellor version 5.3.4Joey Hess
2018-03-20Firewall: Reorder iptables parameters that are order dependant to make ↵Joey Hess
--to-dest and --to-source work. Thanks, Russell Sim
2018-03-01Apt.trustsKey: Use apt-key to add key rather than manually driving gpg, ↵Joey Hess
which seems to not work anymore. Thanks, Russell Sim.
2018-02-27typoJoey Hess
2018-02-26releasing package propellor version 5.3.3Joey Hess
2018-02-23Added Propllor.Property.Openssl module contributed by contributed by Félix ↵Joey Hess
2018-02-22Avoid crashing if initial fetch from origin fails when spinning a host.Joey Hess
2018-02-19Warn again about new upstream version when ~/.propellor was cloned from the ↵Joey Hess
Debian git bundle using an older version of propellor that set up an upstream remote. This commit was sponsored by Jake Vosloo on Patreon.
2018-02-18releasing package propellor version 5.3.2Joey Hess
2018-02-17changelogJoey Hess
2018-02-11add Propellor.Property.AtomicJoey Hess
Added Propellor.Property.Atomic, which can make a non-atomic property that operates on a directory into an atomic property. Also has a generic version that could be used for things other than directories that can be updated atomically. (Inspired by Vaibhav Sagar's talk on Functional Devops in a Dysfunctional World at LCA 2018.) This commit was sponsored by Fernando Jimenez on Patreon.
2018-02-11add Git.pulled propertyJoey Hess
This commit was sponsored by Nick Daly on Patreon.
2018-02-04releasing package propellor version 5.3.1Joey Hess
2018-02-04Last release mistakenly contained my personal branch not master.Joey Hess
* Last release mistakenly contained my personal branch not master. * contrib/post-merge-hook documentation updated to recommend also using it as a post-checkout hook, to avoid such problems.
2018-02-01releasing package propellor version 5.3.0Joey Hess
2018-02-01Merge branch 'joeyconfig'Joey Hess
2018-02-01Laptop: New module, starting with powertopAutoTuneOnBoot.Joey Hess
This commit was sponsored by Brock Spratlen on Patreon.
2018-02-01Grub: Added properties to configure /etc/default/grub.Joey Hess
This commit was sponsored by Ewen McNeill on Patreon.