summaryrefslogtreecommitdiff
path: root/src/Propellor
AgeCommit message (Collapse)Author
2015-10-29generalize what can be outputJoey Hess
This adds a dependency on Text, but I don't mind propellor depending on it and am somewhat surprised it doesn't already. Using Text also lets this use encodeUtf8 instead of the nasty hack it was using to go from String -> ByteString.
2015-10-28propellor spinJoey Hess
2015-10-28propellor spinJoey Hess
2015-10-28have to flush concurrent output before printing result when chainingJoey Hess
2015-10-28fix bad MVar use, use STMJoey Hess
I had 2 MVars both involved in the same lock, and it seemed intractable to avoid deadlocks with them. STM makes it easy. At this point, the concurrent process stuff seems to work pretty well, but I'm not 100% sure it's not got some bugs.
2015-10-28need withConcurrentOutput to flush any buffered concurrent outputJoey Hess
2015-10-28use outputConcurrent interfaceJoey Hess
This interface will fix the current deadlock when a process is running and the thread that ran it wants to output to the console. The locking and buffering is not implemented yet.
2015-10-28remove debugJoey Hess
Found problem.. actionMessage is blocking.
2015-10-28propellor spinJoey Hess
2015-10-28propellor spinJoey Hess
2015-10-28propellor spinJoey Hess
2015-10-28split out generic ConcurrentOutput module to UtilityJoey Hess
2015-10-28concurrency docsJoey Hess
2015-10-27use execProcessConcurrent everywhereJoey Hess
Found a reasonable clean way to make Utility.Process use execProcessConcurrent, while still allowing copying updates to it from git-annex.
2015-10-27concurrent version of createProcessJoey Hess
Have not yet wired everything up to use this, that currently uses Utility.Process.
2015-10-27make Propellor.Message use lock to handle concurrent threads outputting messagesJoey Hess
Not yet handled: Output from concurrent programs.
2015-10-27use a shared global for the MessageHandleJoey Hess
2015-10-27Explicit Info/NoInfo for RevertableProperty (API change)Joey Hess
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
2015-10-26Add File.isCopyOfPer Olofsson
Signed-off-by: Per Olofsson <pelle@dsv.su.se>
2015-10-24propellor spinJoey Hess
2015-10-24improve RevertableProperty combiningJoey Hess
* Various property combinators that combined a RevertableProperty with a non-revertable property used to yield a RevertableProperty. This was a bug, because the combined property could not be fully reverted in many cases. Fixed by making the combined property instead be a Property HasInfo. * combineWith now takes an addional parameter to control how revert actions are combined (API change).
2015-10-24Added Propellor.Property.Concurrent for concurrent properties.Joey Hess
Note that no output multiplexing is currently done.
2015-10-24simpliftJoey Hess
2015-10-23commentsJoey Hess
2015-10-23Hostname.sane and Hostname.setTo can now safely be used as a property of a ↵Joey Hess
chroot, and won't affect the hostname of the host system.
2015-10-23generalize checkJoey Hess
Hmm, do I really need my own type class for LiftPropellor? This seems like a general problem so I am probably reinventing the wheel.
2015-10-23allow specifying filesystem mount optionsJoey Hess
2015-10-23refactorJoey Hess
2015-10-23Changed how the operating system is provided to Chroot (API change).Joey Hess
* 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.
2015-10-23Add File.basedOnPer Olofsson
Signed-off-by: Per Olofsson <pelle@dsv.su.se>
2015-10-23propellor spinJoey Hess
2015-10-23HostName: Improve domain extraction code.Joey Hess
2015-10-23propellor spinJoey Hess
2015-10-23propellor spinJoey Hess
2015-10-23propellor spinJoey Hess
2015-10-23propellor spinJoey Hess
2015-10-23propellor spinJoey Hess
2015-10-23propellor spinJoey Hess
2015-10-23propellor spinJoey Hess
2015-10-23propellor spinJoey Hess
2015-10-23propellor spinJoey Hess
2015-10-23propellor spinJoey Hess
2015-10-23propellor spinJoey Hess
2015-10-23propellor spinJoey Hess
2015-10-23Added Mount.fstabbed property to generate /etc/fstab to replicate current ↵Joey Hess
mounts.
2015-10-23reorder for doc clarityJoey Hess
2015-10-23export ChrootTarball and improve docsJoey Hess
2015-10-23chroot: add a ChrootTarball chroot typeBen Boeckel
This extracts a minimal tarball into a target directory. (cherry picked from commit 33ac6c1c4bb2581d6f5a27254e52956e5a257326)
2015-10-22hasInsecurePasswordJoey Hess
2015-10-22propellor spinJoey Hess