summaryrefslogtreecommitdiff
path: root/debian
AgeCommit message (Collapse)Author
2017-03-15Added Monoid instances for Property and RevertableProperty.Joey Hess
* Added Monoid instances for Property and RevertableProperty. * Removed applyToList. Instead, use mconcat. (API change) Eg, if you had: applyToList accountFor [User "joey", User "root"] use instead: mconcat (map accountFor [User "joey", User "root"]) mappend x y is basically the same as x `before` y. In particular, if x fails to be ensured, it won't ensure y. This seems to make sense, since applyToList had that behavior, and so does the Monoid for Propellor Result. The alternative would be to try to ensure both and combine the results. However, I don't see any reason to do it that way. It would be nice if the description of both properties were displayed when ensuring the combination. But then, it would need to display eg: ensuring x..ok ensuring y..failed ensuring x and ensuring y..failed Without a way to get rid of that redundant last line, I don't want to do that. Note that the haddocks for the Monoid instances need a really wide screen to display! This is IMHO an infelicity in haddock, and I can't do anything about it really. This commit was sponsored by Fernando Jimenez on Patreon.
2017-03-15Property types changed to use a Maybe (Propellor Result). (API change)Joey Hess
* Property types changed to use a Maybe (Propellor Result). (API change) * When Nothing needs to be done to ensure a property, propellor will avoid displaying its description at all. The doNothing property is an example of such a property. This is mostly in preparation for Monoid instances for Property types, but is's also nice that anything that uses doNothing will avoid printing out any message at all. At least, I think it probably is. It might potentially be confusing for something that sometimes takes an action and sometimes resolves to doNothing and in either case has a description set to not always show the description. If this did turn out to be confusing, the change to doNothing could be reverted. This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
2017-03-11don't propagate DNS info from DiskImage chrootsJoey Hess
* DiskImage building properties used to propagate DNS info out from the chroot used to build the disk image to the Host. That is no longer done, since that chroot only exists as a side effect of the disk image creation and servers will not be running in it. * The IsInfo types class's propagateInfo function changed to use a PropagateInfo data type. (API change) This is particularly important when using hostChroot, since the host could well have DNS settings then. This commit was sponsored by Ole-Morten Duesund on Patreon.
2017-03-11Implemented hostChrootJoey Hess
As originally seen in my slides at Linux.Conf.Au 2017 in January. Now that it's not vaporware, it allows one Host to build a disk image that has all the properties of another Host. It was easier than I thought to implement this! As expected, Info propagation was slightly tricky. Also, I originally had a lot of machinery to try to use Info to detect infinitely nested chroot loops. But, my machinery didn't work, and when I tested it, ghc did a much better job, causing a "warning: <<loop>>" message to be output instead of such a property using infinite disk space. This commit was sponsored by Bruno BEAUFILS on Patreon.
2017-03-11Changed Chroot data type to include Info propigationJoey Hess
This will allow for different Chroots that propigate info differently. hostChroot will use this. This commit was sponsored by Peter Hogg on Patreon.
2017-03-08Remove make from propellor's dependency listJoey Hess
It's not used by propellor any longer. Has not been used for a long time actually.
2017-03-08Makefile: Removed "run" target which was default target.Joey Hess
"make" now only builds propellor, does not run it. Note that propellor 1.0.0 and earlier relied on this target for the Cron.runPropellor property's cronjob to work, so upgrading directly to this version from 1.0.0 would break that cron job. (Debian has 0.9.1 in stable, and 3.2.3 will be in the next stable release. Upgrading between Debian releases is supposed to be done without skipping a release, so that's ok.)
2017-03-08propellor spinJoey Hess
2017-03-01Fixed https url to propellor git repository.Joey Hess
2017-03-01releasing package propellor version 3.4.0Joey Hess
2017-03-01github mirror of propellor is goneJoey Hess
* The github mirror of propellor's git repository has been removed, since github's terms of service has started imposing unwanted licensing requirements. * propellor --init: The option to clone propellor's git repository used to use the github mirror, and has been changed to use a different mirror.
2017-02-26convert fromIPAddr to valJoey Hess
2017-02-26use ConfigurableValue where applicableJoey Hess
* Removed fromPort (use val instead). (API change) * Removed several Show instances that were only used for generating configuration, replacing with ConfigurableValue instances. (API change) It's somewhat annoying that IsInfo requires a Show instance. That's needed to be able to display Info in ghci, but some non-derived Show instances had to be kept to support that.
2017-02-26Added ConfigurableValue type classJoey Hess
* Added ConfigurableValue type class, for values that can be used in a config file, or to otherwise configure a program. * The val function converts such values to String. This was motivated by the bug caused by type Port = Int changing to newtype Port = Port Int deriving Show After that change, some things that used show port to generate config files were broken. By using the ConfigurableValue type class instead, such breakage can be prevented.
2017-02-20releasing package propellor version 3.3.1Joey Hess
2017-02-20changelog for fixJoey Hess
2017-02-13deb.debian.orgJoey Hess
* Apt: Removed the mirrors.kernel.org line from stdSourcesList etc. The mirror CDN has a new implementation that should avoid the problems with httpredir that made an extra mirror sometimes be needed. * Switch Debian CDN address to deb.debian.org. httpredir.debian.org points to the same IPs as deb.debian.org now, so this shouldn't change anything except to use the now preferred name.
2017-02-07releasing package propellor version 3.3.0Joey Hess
2017-02-07improve wordingJoey Hess
2017-02-04Arch Linux is now supported by Propellor! Thanks to Zihao Wang for this port.Joey Hess
* Arch Linux is now supported by Propellor! Thanks to Zihao Wang for this port. * Added Propellor.Property.Pacman for Arch's package manager. Maintained by Zihao Wang. * The types of some properties changed; eg from Property DebianLike to Property (DebianLike + ArchLinux). This could require updates to code using those properties, so is a minor API change.
2017-02-03Added Apt.suiteAvailablePinned, Apt.pinnedTo. Thanks, Sean Whitton.Joey Hess
* Added Apt.suiteAvailablePinned, Apt.pinnedTo. Thanks, Sean Whitton. * Added File.containsBlock Thanks, Sean Whitton.
2017-02-02Added Propellor.Property.File.configFileName and related functions to ↵Joey Hess
generate good filenames for config directories. spwhitton has a branch that could use this, and there are several places in propellor that do something ad-hoc that would have been better implemented using this. I was not able to switch any of the existing ad-hoc stuff, but this can be used going forward for new stuff. This commit was sponsored by Anthony DeRobertis on Patreon.
2017-01-26Merge branch 'joeyconfig'Joey Hess
2017-01-25stack.yaml: Compile with GHC 8.0.1 against lts-7.16. Thanks, Andrew Cowie.Joey Hess
2017-01-19Apt.noPDiffs added. Thanks, Sean Whitton.Joey Hess
2017-01-19Tor.hiddenService' added to support multiple ports. Thanks, Félix Sipma.Joey Hess
2017-01-01Merge branch 'joeyconfig'Joey Hess
2017-01-01Revert "switch CHANGELOG to be the real file and debian/changelog the symlink"Joey Hess
This reverts commit fa974cfaaac31b25ae911b5e970507d0589e567b. That broke merging from /usr/src/propellor
2016-12-10switch CHANGELOG to be the real file and debian/changelog the symlinkJoey Hess
Hope this makes it eaiser for spwhitton. Thought about deleting the whole debian directory from upstream, but Propellor.Bootstrap has a not referencing debian/control and maybe there is value in new dependencies being added to both places in tandem?
2016-11-22releasing package propellor version 3.2.3Joey Hess
2016-11-20Debootstap: Fix too tight permissions lock down of debootstrapped chroots, ↵Joey Hess
which prevented non-root users from doing anything in the chroot.
2016-11-12The propellor wrapper checks if ./config.hs exists; if so it runs using the ↵Joey Hess
configuration in the current directory, rather than ~/.propellor/config.hs The config,hs name now seems a bit badly chosen, propellor.hs would be less ambiguous. To avoid accidentially running with a config.hs for something else, the file content has to contain "Propellor". Note that checkRepoUpToDate is only run for ~/.propellor/. I guess propellor configs in other directories won't have been set up that way, and it would take some changes to make that not hardcode use of dotPropellor. There's a new security boundary here, since running propellor looks at the cwd, whose contents might not be user the user's control. The security checks I added for this seem pretty good, but even if they can be bypassed, this is not much different than `make` using the Makefile in cwd. This commit was sponsored by Ole-Morten Duesund on Patreon.
2016-11-11Improve extraction of gpg secret key id list, to work with gpg 2.1.Joey Hess
2016-11-11releasing package propellor version 3.2.2Joey Hess
2016-11-11creditJoey Hess
2016-11-11Clean up build warnings about redundant constraints when built with ghc 8.0.Joey Hess
Only a couple of the constraints were really redundant. The rest are essential to propellor's tracking of Info propigation, so I silenced the warning for those. It would be better to only silence the warning for the functions with the extra constraints, but IIRC warnings can only be silenced on an entire file basis. This commit was sponsored by Andreas on Patreon.
2016-10-21fix changelogJoey Hess
2016-10-21propellor spinJoey Hess
2016-10-03prep releaseJoey Hess
2016-10-03Debootstap.installed: Fix inverted logic that made this never install ↵Joey Hess
debootstrap. Thanks, mithrandi. This commit was sponsored by Jake Vosloo on Patreon.
2016-09-24Simplify Debootstrap.sourceInstall since #770217 was fixed.Joey Hess
2016-09-10releasing package propellor version 3.2.0Joey Hess
2016-09-10Merge branch 'joeyconfig'Joey Hess
2016-09-05changelog tweaksSean Whitton
2016-09-05Sbuild.built: ccache usage now toggleableSean Whitton
2016-09-05piupartsConf{,For} doesn't require Sbuild.builtSean Whitton
Instead, do nothing if the corresponding schroot config does not yet exist. This change is needed because I intend to introduce an additional parameter to Sbuild.built{,For} in a subsequent commit, and it would overcomplicate things to make that an item of Info.
2016-09-05add UNRELEASED-arch-piuparts alias for dgitSean Whitton
2016-09-05add UNRELEASED-arch-sbuild alias for dgitSean Whitton
2016-09-05fix sbuild haddock formattingSean Whitton
2016-09-01Tor.hiddenServiceAvailable: The hidden service hostname file may not be ↵Joey Hess
available immedaitely after configuring tor; avoid ugly error in this case.