| Age | Commit message (Collapse) | Author |
|
Fix build with ghc 8.4, which broke due to the Semigroup Monoid change.
See https://prime.haskell.org/wiki/Libraries/Proposals/SemigroupMonoid
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.
|
|
|
|
* DiskImage: Fix rsync crash when a mount point does not exist in the
chroot.
* Fix bug in unmountBelow that caused unmounting of nested mounts to
fail.
This commit was sponsored by Jack Hill on Patreon.
|
|
Installing u-boot to the boot sector is not needed by some boards
(my CubieTruck boots without it), but may be by others.
Tricky part was making u-boot be written to a disk image when building one.
This commit was sponsored by Jake Vosloo on Patreon.
|
|
* Added Mount.isMounted.
* Grub.bootsMounted: Bugfix.
|
|
Removed mountNow as a top-level property, as I don't think it makes
sense for anything except for mounted to use it.
db45x's patch turns out to have introduced a bug in mounted's use of
"mountNow src". That made mountNow check if the device was a mount
point, which it isn't. The fix would have been to use "mountNow mnt",
but my inlining of mountnow just basically reverted the part of the
patch that introduced the bug.
swapOn does not involve the fstab so moved to the Mount module.
(Also noticed that Mount.mounted is a kind of weird property, given that
it fails the next time ran. It's only used internally by some chroot
properties, so I left it as-is, but added a comment. It might make sense
to make Mount.mounted check like mountNow does if the thing is already
mounted.)
|
|
It would be bad if unmount somehow failed and then another property tried
to reformat the mounted device or rm -rf the mount point. While I don't see
anything that does that, and while lazy umount can't fail as far as I know,
it was throwing an exception that stopped propellor and let's cautiously
keep it that way.
|
|
|
|
|
|
|
|
* Properties that run an arbitrary command, such as cmdProperty
and scriptProperty are converted to use UncheckedProperty, since
they cannot tell on their own if the command truely made a change or not.
(API Change)
Transition guide:
- When GHC complains about an UncheckedProperty, add:
`assume` MadeChange
- Since these properties used to always return MadeChange, that
change is always safe to make.
- Or, if you know that the command should modifiy a file, use:
`changesFile` filename
* A few properties have had their Result improved, for example
Apt.buldDep and Apt.autoRemove now check if a change was made or not.
|
|
|
|
|
|
|
|
|
|
mounts.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Propellor.Property.Cmd, so they are available for use in constricting your own Properties when using propellor as a library.
Several imports of Utility.SafeCommand now redundant.
|
|
|