summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/README.mdwn6
-rw-r--r--doc/forum/compiling_5.5.0_fails_with_lts_13.0.mdwn74
-rw-r--r--doc/forum/compiling_5.5.0_fails_with_lts_13.0/comment_1_58051e973d4b4c269b1fa90517a3adc6._comment11
-rw-r--r--doc/forum/compiling_5.5.0_fails_with_lts_13.0/comment_2_c96da2520b700b2c39769d53febc3ae8._comment7
-rw-r--r--doc/forum/installing_apt_packages_without_running_new_services.mdwn3
-rw-r--r--doc/forum/installing_apt_packages_without_running_new_services/comment_1_7c64eb0d72d9f84ecc62136b0367ef3d._comment16
-rw-r--r--doc/todo/haskell-stm_now_bundled_with_ghc_in_Debian_sid.mdwn7
-rw-r--r--doc/todo/haskell-stm_now_bundled_with_ghc_in_Debian_sid/comment_1_dbb0a50414b1ac58cad8584a7c99078e._comment17
-rw-r--r--doc/todo/support_for_libvirt_KVM_VMs/comment_13_066d41df795b69e096487ae7334824d0._comment8
-rw-r--r--doc/todo/want_Cron.runPropellor_that_does_nothing_if_no_network.mdwn9
-rw-r--r--doc/todo/want_Cron.runPropellor_that_does_nothing_if_no_network/comment_1_9469ea9eaf70e57ba1b36891978725cf._comment11
11 files changed, 166 insertions, 3 deletions
diff --git a/doc/README.mdwn b/doc/README.mdwn
index 88726a6d..76d05255 100644
--- a/doc/README.mdwn
+++ b/doc/README.mdwn
@@ -37,11 +37,11 @@ see [configuration for the Haskell newbie](https://propellor.branchable.com/hask
## quick start
1. Get propellor installed on your development machine (ie, laptop).
- `cabal install propellor`
+ `apt-get install propellor`
or
- `stack install propellor`
+ `cabal install propellor`
or
- `apt-get install propellor`
+ `cabal unpack propellor; cd propellor-version; stack install`
2. Run `propellor --init` ; this will set up a `~/.propellor/` git
repository for you.
3. Edit `~/.propellor/config.hs`, and add a host you want to manage.
diff --git a/doc/forum/compiling_5.5.0_fails_with_lts_13.0.mdwn b/doc/forum/compiling_5.5.0_fails_with_lts_13.0.mdwn
new file mode 100644
index 00000000..7b543f7f
--- /dev/null
+++ b/doc/forum/compiling_5.5.0_fails_with_lts_13.0.mdwn
@@ -0,0 +1,74 @@
+Running `stack install propellor` today fails in two ways:
+
+First up:
+
+ In the dependencies for propellor-5.5.0:
+ IfElse needed, but the stack configuration has no specified version (latest
+ matching version is 0.85) needed since propellor is a build target.
+
+ Some different approaches to resolving this:
+
+ * Consider trying 'stack solver', which uses the cabal-install solver to
+ attempt to find some working build configuration. This can be convenient
+ when dealing with many complicated constraint errors, but results may be
+ unpredictable.
+
+ * Recommended action: try adding the following to your extra-deps
+ in /Users/thom/.stack/global-project/stack.yaml:
+
+ IfElse-0.85@sha256:6939b94acc6a55f545f63a168a349dd2fbe4b9a7cca73bf60282db5cc6aa47d2
+
+
+Once that's added, propellor fails to compile with:
+
+
+ [ 39 of 174] Compiling Propellor.Types ( src/Propellor/Types.hs, .stack-work/dist/x86_64-osx/Cabal-2.4.0.1/build/Propellor/Types.o )
+
+ /private/var/folders/0v/w1nt655j39q9954g7y_2_jlh0000gn/T/stack8634/propellor-5.5.0/src/Propellor/Types.hs:187:10: error:
+ • Illegal nested constraint ‘SingI (Combine x y)’
+ (Use UndecidableInstances to permit this)
+ • In the instance declaration for
+ ‘Combines (Property (MetaTypes x)) (Property (MetaTypes y))’
+ |
+ 187 | instance (CheckCombinable x y ~ 'CanCombine, SingI (Combine x y)) => Combines (Property (MetaTypes x)) (Property (MetaTypes y)) where
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ /private/var/folders/0v/w1nt655j39q9954g7y_2_jlh0000gn/T/stack8634/propellor-5.5.0/src/Propellor/Types.hs:190:10: error:
+ • Illegal nested constraint ‘SingI (Combine x y)’
+ (Use UndecidableInstances to permit this)
+ • In the instance declaration for
+ ‘Combines (RevertableProperty (MetaTypes x) (MetaTypes x')) (RevertableProperty (MetaTypes y) (MetaTypes y'))’
+ |
+ 190 | instance (CheckCombinable x y ~ 'CanCombine, CheckCombinable x' y' ~ 'CanCombine, SingI (Combine x y), SingI (Combine x' y')) => Combines (RevertableProperty (MetaTypes x) (MetaTypes x')) (RevertableProperty (MetaTypes y) (MetaTypes y')) where
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ /private/var/folders/0v/w1nt655j39q9954g7y_2_jlh0000gn/T/stack8634/propellor-5.5.0/src/Propellor/Types.hs:190:10: error:
+ • Illegal nested constraint ‘SingI (Combine x' y')’
+ (Use UndecidableInstances to permit this)
+ • In the instance declaration for
+ ‘Combines (RevertableProperty (MetaTypes x) (MetaTypes x')) (RevertableProperty (MetaTypes y) (MetaTypes y'))’
+ |
+ 190 | instance (CheckCombinable x y ~ 'CanCombine, CheckCombinable x' y' ~ 'CanCombine, SingI (Combine x y), SingI (Combine x' y')) => Combines (RevertableProperty (MetaTypes x) (MetaTypes x')) (RevertableProperty (MetaTypes y) (MetaTypes y')) where
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ /private/var/folders/0v/w1nt655j39q9954g7y_2_jlh0000gn/T/stack8634/propellor-5.5.0/src/Propellor/Types.hs:195:10: error:
+ • Illegal nested constraint ‘SingI (Combine x y)’
+ (Use UndecidableInstances to permit this)
+ • In the instance declaration for
+ ‘Combines (RevertableProperty (MetaTypes x) (MetaTypes x')) (Property (MetaTypes y))’
+ |
+ 195 | instance (CheckCombinable x y ~ 'CanCombine, SingI (Combine x y)) => Combines (RevertableProperty (MetaTypes x) (MetaTypes x')) (Property (MetaTypes y)) where
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ /private/var/folders/0v/w1nt655j39q9954g7y_2_jlh0000gn/T/stack8634/propellor-5.5.0/src/Propellor/Types.hs:197:10: error:
+ • Illegal nested constraint ‘SingI (Combine x y)’
+ (Use UndecidableInstances to permit this)
+ • In the instance declaration for
+ ‘Combines (Property (MetaTypes x)) (RevertableProperty (MetaTypes y) (MetaTypes y'))’
+ |
+ 197 | instance (CheckCombinable x y ~ 'CanCombine, SingI (Combine x y)) => Combines (Property (MetaTypes x)) (RevertableProperty (MetaTypes y) (MetaTypes y')) where
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+
+I can reproduce this by bumping the lts version to 13.0 in master's stack.yaml and uttering `stack build`.
diff --git a/doc/forum/compiling_5.5.0_fails_with_lts_13.0/comment_1_58051e973d4b4c269b1fa90517a3adc6._comment b/doc/forum/compiling_5.5.0_fails_with_lts_13.0/comment_1_58051e973d4b4c269b1fa90517a3adc6._comment
new file mode 100644
index 00000000..5227cf3d
--- /dev/null
+++ b/doc/forum/compiling_5.5.0_fails_with_lts_13.0/comment_1_58051e973d4b4c269b1fa90517a3adc6._comment
@@ -0,0 +1,11 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2018-12-30T17:10:47Z"
+ content="""
+Unfortunately `stack install propellor` ignores the working stack.yaml
+shipped with propellor, and tries to use the default resolver and package
+set.
+
+I've adjusted the README to not suggest using that broken command.
+"""]]
diff --git a/doc/forum/compiling_5.5.0_fails_with_lts_13.0/comment_2_c96da2520b700b2c39769d53febc3ae8._comment b/doc/forum/compiling_5.5.0_fails_with_lts_13.0/comment_2_c96da2520b700b2c39769d53febc3ae8._comment
new file mode 100644
index 00000000..f02ef69b
--- /dev/null
+++ b/doc/forum/compiling_5.5.0_fails_with_lts_13.0/comment_2_c96da2520b700b2c39769d53febc3ae8._comment
@@ -0,0 +1,7 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 2"""
+ date="2018-12-30T18:38:51Z"
+ content="""
+I've made the necessary changes to support ghc 8.6.3.
+"""]]
diff --git a/doc/forum/installing_apt_packages_without_running_new_services.mdwn b/doc/forum/installing_apt_packages_without_running_new_services.mdwn
new file mode 100644
index 00000000..d044ef05
--- /dev/null
+++ b/doc/forum/installing_apt_packages_without_running_new_services.mdwn
@@ -0,0 +1,3 @@
+How would one create a Property that installs a package without starting the corresponding service?
+
+I'm asking because sometimes the default config is broken, so you need to fix it before starting the service.
diff --git a/doc/forum/installing_apt_packages_without_running_new_services/comment_1_7c64eb0d72d9f84ecc62136b0367ef3d._comment b/doc/forum/installing_apt_packages_without_running_new_services/comment_1_7c64eb0d72d9f84ecc62136b0367ef3d._comment
new file mode 100644
index 00000000..41fa4078
--- /dev/null
+++ b/doc/forum/installing_apt_packages_without_running_new_services/comment_1_7c64eb0d72d9f84ecc62136b0367ef3d._comment
@@ -0,0 +1,16 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2018-12-01T21:39:14Z"
+ content="""
+One way is to enable Propellor.Property.Service.noServices
+during the install and revert it afterwards, but that does prevent any
+services being started while it's enabled.
+
+I don't know of a very good way to do this on a Debian system. If you can
+find one, I'm sure propellor can use it.
+
+It might be possible, when systemd is used, to first apply
+Propellor.Property.Systemd.disabled on the service that has not been
+installed yet. I have not checked if that works.
+"""]]
diff --git a/doc/todo/haskell-stm_now_bundled_with_ghc_in_Debian_sid.mdwn b/doc/todo/haskell-stm_now_bundled_with_ghc_in_Debian_sid.mdwn
new file mode 100644
index 00000000..4305e396
--- /dev/null
+++ b/doc/todo/haskell-stm_now_bundled_with_ghc_in_Debian_sid.mdwn
@@ -0,0 +1,7 @@
+haskell-stm is included with ghc and won't be shipped as an installable package in Debian buster.
+
+Propellor needs to stop trying to install haskell-stm on Debian buster or newer (and it should also be dropped from debian/control of course, but that can happen on the Debian side).
+
+--spwhitton
+
+> [[done]] --[[Joey]]
diff --git a/doc/todo/haskell-stm_now_bundled_with_ghc_in_Debian_sid/comment_1_dbb0a50414b1ac58cad8584a7c99078e._comment b/doc/todo/haskell-stm_now_bundled_with_ghc_in_Debian_sid/comment_1_dbb0a50414b1ac58cad8584a7c99078e._comment
new file mode 100644
index 00000000..a53a144a
--- /dev/null
+++ b/doc/todo/haskell-stm_now_bundled_with_ghc_in_Debian_sid/comment_1_dbb0a50414b1ac58cad8584a7c99078e._comment
@@ -0,0 +1,17 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2018-12-04T18:58:48Z"
+ content="""
+Bootstrap's package installation ignores errors, so if the package is not
+available, it will at worst display an error message and continue.
+
+However, I went ahead and made it check with apt-cache if the package is
+available, to avoid the user seeing an apt error here.
+
+I suppose users of Arch and FreeBSD may want to make similar changes, if
+their package managers also display errors; I don't know if they do or even
+if this change is going to affect those distributions.
+Probably better to let those users deal with it if similar changes are made
+to those distributions, so I'm going to close this.
+"""]]
diff --git a/doc/todo/support_for_libvirt_KVM_VMs/comment_13_066d41df795b69e096487ae7334824d0._comment b/doc/todo/support_for_libvirt_KVM_VMs/comment_13_066d41df795b69e096487ae7334824d0._comment
new file mode 100644
index 00000000..07b32566
--- /dev/null
+++ b/doc/todo/support_for_libvirt_KVM_VMs/comment_13_066d41df795b69e096487ae7334824d0._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 13"""
+ date="2018-11-11T20:58:35Z"
+ content="""
+I've merged the branch, unsure if this should remain open for anything
+discussed above, so leaving it for now.
+"""]]
diff --git a/doc/todo/want_Cron.runPropellor_that_does_nothing_if_no_network.mdwn b/doc/todo/want_Cron.runPropellor_that_does_nothing_if_no_network.mdwn
new file mode 100644
index 00000000..831dc1e0
--- /dev/null
+++ b/doc/todo/want_Cron.runPropellor_that_does_nothing_if_no_network.mdwn
@@ -0,0 +1,9 @@
+I don't have `Cron.runPropellor` on my laptop because it is often offline. But I would like a cronjob that tries to spin the host if it's online. Mainly to keep sbuild chroots up-to-date.
+
+I was wondering what the cleanest way to implement this would be. `Cron.runPropellor` could be split into `Cron.runPropellor` and `Cron.runPropellorWhenOnline`, the latter of which does `wget http://google.com >/dev/null` and exits if that command fails.
+
+Or there could be some kind of property which, when set on a host, causes all spins to abort if the host if offline.
+
+And is wgetting Google's homepage the right way to check that we have Internet access?
+
+--spwhitton
diff --git a/doc/todo/want_Cron.runPropellor_that_does_nothing_if_no_network/comment_1_9469ea9eaf70e57ba1b36891978725cf._comment b/doc/todo/want_Cron.runPropellor_that_does_nothing_if_no_network/comment_1_9469ea9eaf70e57ba1b36891978725cf._comment
new file mode 100644
index 00000000..638a8d6b
--- /dev/null
+++ b/doc/todo/want_Cron.runPropellor_that_does_nothing_if_no_network/comment_1_9469ea9eaf70e57ba1b36891978725cf._comment
@@ -0,0 +1,11 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2018-12-08T16:15:43Z"
+ content="""
+Perhaps runPropellor could be parameterized in some way, so
+you can provide whatever check you decide you want.
+
+This is where [[todo/integrate_shell-monad]] would come in handy, to
+build up and manipulate the shell script for the cron job.
+"""]]