path: root/debian
AgeCommit message (Collapse)Author
2019-07-16Systemd.machined: Fix a bug that caused the systemd-container package to not ↵Joey Hess
be installed when used with Debian buster. jessie (oldoldstable) is the only still supported release to have a systemd from before the systemd-container package was split out.
2019-07-16Apt.update: Pass --allow-releaseinfo-change when updating Unstable or TestingJoey Hess
So that code name changes that happen in those suites during a stable release don't prevent updating the rolling suites.
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-02releasing package propellor version 5.9.0Joey Hess
2019-07-02use ConstraintKindsJoey Hess
This is just a bit prettier code than manually needing to use constraint ~ True
2019-07-02improve changelogJoey Hess
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.
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-01optionally use type-errors to detect stucknessJoey Hess
Use the type-errors library to detect when the type checker gets stuck unable to reduce type-level operations on MetaTypes, and avoid displaying massive error messages in such a case. But, since type-errors is a new library not available in eg Debian yet, added a WithTypeErrors build flag. When the library is not available, cabal will automatically disable that build flag, and it will build without the type-errors library. This is most often used when combining properties of different types. If the MetaTypes don't have an OS in common, the error message used to be "Property " followed by pages of MetaTypes operations. Now it looks like this: • Cannot combine Properties: Property <unknown> Property HasInfo + Debian + Buntish + ArchLinux + FreeBSD (Property <unknown> is often due to a partially applied Property constructor, or due to passing the wrong type to a Property constructor.) Also it's used in ensureProperty to detect a case where the outer MetaTypes need to be inferred in order to check if the inner MetaTypes match, but the type checker is unable to infer it: • ensureProperty outer Property type is not able to be inferred here. Consider adding a type annotation. • When checking the inferred type writeConfig :: forall (outer :: [Propellor.Types.MetaTypes.MetaType]) t. And it's used in tightenTargets to detect when ghc is unable to infer the desired type of Property: • Unable to infer desired Property type in this use of tightenTargets. Consider adding a type annotation. • When checking the inferred type mk :: forall (tightened :: [Propellor.Types.MetaTypes.MetaType]).
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-06-15changelogJoey Hess
2019-04-26releasing package propellor version 5.8.0Joey Hess
2019-04-22updateJoey 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-09update changelogJoey Hess
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-05releasing package propellor version 5.7.0Joey Hess
2019-04-03changelog for spwhitton's cron patch setJoey Hess
2019-04-03mention Localdir.removed propertyJoey Hess
2019-04-03changelog for spwhitton's patch setJoey Hess
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.built no longer includes Apt.stdSourcesList by default, in order to ↵Joey Hess
support non-Debian OS's. (API change) To upgrade: Simply add Sbuild.osDebianStandard to all Sbuild.built calls which have osDebian. Thanks, Sean Whitton
2019-01-20releasing package propellor version 5.6.1Joey Hess
2019-01-20changelogJoey Hess
2019-01-18releasing package propellor version 5.6.0Joey Hess
2019-01-18Fix --spin crash when ~/.ssh/ directory did not already exist.Joey Hess
2019-01-18Merge branch 'joeyconfig'Joey Hess
2019-01-18Avoid exposing the constructor of OuterMetaTypesWitness, to avoid the kind ↵Joey Hess
of mistake that led to the withOS bug.
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-30Merged Utility changes from git-annexJoey Hess
Last done in May 2017..
2018-12-30Fix build with ghc 8.6.3Joey Hess
Ghc started complaining that the SingI constraints needs UndecidableInstances. I'm not clear why, when it used to work without that extension. UndecidableInstances were already used in MetaTypes..
2018-12-04libghc-stm-dev package won't be in new versions of debianJoey Hess
In Bootstrap, still try to install the package to support bootstrapping to old systems. If it's not available the bootstrapping will still succeed. The added apt-cache check is only to avoid apt complaining when asked to install a not available package. In debian/control, depend on ghc that includes stm, although propellor still supports being used with older versions of ghc Of course this control file is not being used for the package in debian any longer afaik, so something else will be done there.
2018-11-11merged libvirtJoey Hess
2018-10-23patch appliedJoey Hess
2018-10-20releasing package propellor version 5.5.0Joey Hess
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.