summaryrefslogtreecommitdiff
path: root/doc/todo
diff options
context:
space:
mode:
Diffstat (limited to 'doc/todo')
-rw-r--r--doc/todo/Default_of_new_style_builds_breaks_Bootstrap.OSOnly.mdwn29
-rw-r--r--doc/todo/Default_of_new_style_builds_breaks_Bootstrap.OSOnly/comment_1_b09c0c736838132b7dd69a1c510ff877._comment13
-rw-r--r--doc/todo/Fix_Borg.init_on_recent_borg_versions__44___fix_Borg.restored.mdwn11
-rw-r--r--doc/todo/Fix_Borg.init_on_recent_borg_versions__44___fix_Borg.restored/comment_1_4a662d7ab4f49a914718ca6e6f69ee86._comment29
-rw-r--r--doc/todo/Fix_Borg.init_on_recent_borg_versions__44___fix_Borg.restored/comment_2_0a595f3481c37280bf3d9d9545b2e954._comment10
-rw-r--r--doc/todo/Fix_Borg.init_on_recent_borg_versions__44___fix_Borg.restored/comment_3_c605e8c4b6e13fb1a5168ad34c3c7f46._comment16
-rw-r--r--doc/todo/Support_for_mirroring_bare_git_repos.mdwn2
-rw-r--r--doc/todo/Support_for_mirroring_bare_git_repos/comment_1_f8d0ade5f31f85c1db50b3ec6a9a3818._comment19
-rw-r--r--doc/todo/cabal_new-build_cruft.mdwn17
-rw-r--r--doc/todo/depend_on_concurrent-output.mdwn23
10 files changed, 169 insertions, 0 deletions
diff --git a/doc/todo/Default_of_new_style_builds_breaks_Bootstrap.OSOnly.mdwn b/doc/todo/Default_of_new_style_builds_breaks_Bootstrap.OSOnly.mdwn
new file mode 100644
index 00000000..b3a3cd90
--- /dev/null
+++ b/doc/todo/Default_of_new_style_builds_breaks_Bootstrap.OSOnly.mdwn
@@ -0,0 +1,29 @@
+It looks like ghc in Debian unstable is defaulting to new style cabal builds which bypasses `Bootstrap.bootstrapWith Bootstrap.OSOnly`:
+
+ ...
+ git branch origin/spw3conf gpg signature verified; merging
+ Already up to date.
+ Build profile: -w ghc-8.8.3 -O1
+ In order, the following will be built (use -v for more details):
+ - IfElse-0.85 (lib:IfElse) (requires build)
+ - first-class-families-0.8.0.0 (lib) (requires build)
+ - hsc2hs-0.68.7 (exe:hsc2hs) (requires download & build)
+ - old-locale-1.0.0.7 (lib) (requires build)
+ - syb-0.7.1 (lib) (requires build)
+ - th-abstraction-0.3.2.0 (lib) (requires build)
+ - network-bsd-2.8.1.0 (lib) (requires build)
+ - type-errors-0.2.0.0 (lib) (requires build)
+ - hslogger-1.3.1.0 (lib) (requires build)
+ - propellor-5.10.1 (lib) (first run)
+ - propellor-5.10.1 (exe:propellor-config) (first run)
+ Downloading hsc2hs-0.68.7
+ Configuring IfElse-0.85...
+ Preprocessing library for IfElse-0.85..
+ Building library for IfElse-0.85..
+ [1 of 1] Compiling Control.Monad.IfElse ( Control/Monad/IfElse.hs, dist/build/Control/Monad/IfElse.o )
+ Downloaded hsc2hs-0.68.7
+ ...
+
+I think the simplest fix is to replace `cabal build` with `cabal v1-build` in `Propellor.Bootstrap.buildCommand`?
+
+--spwhitton
diff --git a/doc/todo/Default_of_new_style_builds_breaks_Bootstrap.OSOnly/comment_1_b09c0c736838132b7dd69a1c510ff877._comment b/doc/todo/Default_of_new_style_builds_breaks_Bootstrap.OSOnly/comment_1_b09c0c736838132b7dd69a1c510ff877._comment
new file mode 100644
index 00000000..0ca694ff
--- /dev/null
+++ b/doc/todo/Default_of_new_style_builds_breaks_Bootstrap.OSOnly/comment_1_b09c0c736838132b7dd69a1c510ff877._comment
@@ -0,0 +1,13 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2020-06-17T22:01:21Z"
+ content="""
+Simplest yes, but also kicking the can down the road as they'll
+presumably remove 1- at some point.
+
+I've implemented new-build support in
+[[!commit 745784f61bdd678e20b1b18743f18d458836a802]].
+Have not actually tested it on bootstrapping a new host yet, but I assume
+it will work barring some dumb typo.
+"""]]
diff --git a/doc/todo/Fix_Borg.init_on_recent_borg_versions__44___fix_Borg.restored.mdwn b/doc/todo/Fix_Borg.init_on_recent_borg_versions__44___fix_Borg.restored.mdwn
new file mode 100644
index 00000000..08d5cf86
--- /dev/null
+++ b/doc/todo/Fix_Borg.init_on_recent_borg_versions__44___fix_Borg.restored.mdwn
@@ -0,0 +1,11 @@
+Recent versions of Borg require the `--encryption` option to initialize a repository.
+
+Also, `borg extract` needs an archive name and it extracts the backup in the current directory.
+
+I have made a fix for this, please pull the `borg-fixes` branch at `http://git.ni.fr.eu.org/nicolas/propellor.git`.
+
+Tested with borg version 1.1.9.
+
+My haskell level is still not that great, I would love to get comments on my code.
+
+Thanks.
diff --git a/doc/todo/Fix_Borg.init_on_recent_borg_versions__44___fix_Borg.restored/comment_1_4a662d7ab4f49a914718ca6e6f69ee86._comment b/doc/todo/Fix_Borg.init_on_recent_borg_versions__44___fix_Borg.restored/comment_1_4a662d7ab4f49a914718ca6e6f69ee86._comment
new file mode 100644
index 00000000..7c5d7eb5
--- /dev/null
+++ b/doc/todo/Fix_Borg.init_on_recent_borg_versions__44___fix_Borg.restored/comment_1_4a662d7ab4f49a914718ca6e6f69ee86._comment
@@ -0,0 +1,29 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2020-07-31T15:11:20Z"
+ content="""
+pull failed
+
+ joey@darkstar:~/src/propellor>git fetch http://git.ni.fr.eu.org/nicolas/propellor.git
+ fatal: Couldn't find remote ref HEAD
+
+I wonder if perhaps you forgot to run `git update-server-info`?
+Or possibly this is just not an url that actually points to the raw git
+repo, it looks like a gitweb installation and gitweb does not serve git
+repos IIRC.
+
+Hardcoding `BORG_PASSPHRASE` into a propellor configuration does not seem
+good. It could use `withPrivData` to get the passphrase.
+
+If `latestArchive` didn't work, it should probably display a
+`warningMessage` rather than just failing with no indication why.
+
+There is the small problem that borg 1.0.9 is in debian oldstable and if
+someone were using propellor with it, which is supported, the changes
+to extraction would break that. Not as bad as extraction currently being
+broken for everyone with a current version of borg though! But,
+it would be easy to at least detect the old version and refuse to use it to
+restore. Either by borg --version or by using withOS and to match against
+the debian version, like Propellor.Property.Systemd.machined does.
+"""]]
diff --git a/doc/todo/Fix_Borg.init_on_recent_borg_versions__44___fix_Borg.restored/comment_2_0a595f3481c37280bf3d9d9545b2e954._comment b/doc/todo/Fix_Borg.init_on_recent_borg_versions__44___fix_Borg.restored/comment_2_0a595f3481c37280bf3d9d9545b2e954._comment
new file mode 100644
index 00000000..0cd6f1a7
--- /dev/null
+++ b/doc/todo/Fix_Borg.init_on_recent_borg_versions__44___fix_Borg.restored/comment_2_0a595f3481c37280bf3d9d9545b2e954._comment
@@ -0,0 +1,10 @@
+[[!comment format=mdwn
+ username="Nicolas.Schodet"
+ avatar="http://cdn.libravatar.org/avatar/0d7ec808ec329d04ee9a93c0da3c0089"
+ subject="comment 2"
+ date="2020-08-01T14:58:33Z"
+ content="""
+HEAD was pointing to a non-existant master branch, sorry about that.
+
+I will try to fix the other issues, thanks for the review.
+"""]]
diff --git a/doc/todo/Fix_Borg.init_on_recent_borg_versions__44___fix_Borg.restored/comment_3_c605e8c4b6e13fb1a5168ad34c3c7f46._comment b/doc/todo/Fix_Borg.init_on_recent_borg_versions__44___fix_Borg.restored/comment_3_c605e8c4b6e13fb1a5168ad34c3c7f46._comment
new file mode 100644
index 00000000..81fb2234
--- /dev/null
+++ b/doc/todo/Fix_Borg.init_on_recent_borg_versions__44___fix_Borg.restored/comment_3_c605e8c4b6e13fb1a5168ad34c3c7f46._comment
@@ -0,0 +1,16 @@
+[[!comment format=mdwn
+ username="Nicolas.Schodet"
+ avatar="http://cdn.libravatar.org/avatar/0d7ec808ec329d04ee9a93c0da3c0089"
+ subject="Branch updated"
+ date="2020-08-10T21:41:11Z"
+ content="""
+Hello, I updated my branch with:
+
+- a different commit message with a withPrivData example,
+- a fix for --glob-archive and --last not supported on borg 1.0.9,
+- a warning message if no archive is found.
+
+Not sure if it was clear: the restored function did not work either on borg 1.0.9 before my changes.
+
+Tested on buster and stretch.
+"""]]
diff --git a/doc/todo/Support_for_mirroring_bare_git_repos.mdwn b/doc/todo/Support_for_mirroring_bare_git_repos.mdwn
new file mode 100644
index 00000000..3c5da097
--- /dev/null
+++ b/doc/todo/Support_for_mirroring_bare_git_repos.mdwn
@@ -0,0 +1,2 @@
+Since "git pull" has the potential to fail because of merge problems (this is not theoretical, it happened to me today), I'd prefer to just fetch into a bare repo.
+I don't know the best way to go about this. Maybe a "Git.fetched" function that does not assume a non-bare repo (as Git.cloned currently does).
diff --git a/doc/todo/Support_for_mirroring_bare_git_repos/comment_1_f8d0ade5f31f85c1db50b3ec6a9a3818._comment b/doc/todo/Support_for_mirroring_bare_git_repos/comment_1_f8d0ade5f31f85c1db50b3ec6a9a3818._comment
new file mode 100644
index 00000000..fb6ff177
--- /dev/null
+++ b/doc/todo/Support_for_mirroring_bare_git_repos/comment_1_f8d0ade5f31f85c1db50b3ec6a9a3818._comment
@@ -0,0 +1,19 @@
+[[!comment format=mdwn
+ username="david"
+ avatar="http://cdn.libravatar.org/avatar/22c2d800db6a7699139df604a67cb221"
+ subject="first attempt"
+ date="2020-05-16T23:44:41Z"
+ content="""
+This isn't very general, but it seems to work
+
+[[!format haskell \"\"\"
+bareMirror :: String -> String -> Property DebianLike
+bareMirror dir url = propertyList (\"bare mirror of \" ++ url ++ \" in \" ++ dir ) $ props
+ & Git.installed
+ & Git.bareRepo dir (User \"root\") Git.SharedAll
+ & Git.repoConfigured dir (\"remote.origin.url\", url)
+ & Git.repoConfigured dir (\"remote.origin.mirror\", \"true\")
+ & Git.repoConfigured dir (\"remote.origin.fetch\", \"+refs/*:refs/*\")
+ & Cmd.cmdProperty \"git\" [\"-C\", dir, \"fetch\", \"origin\" ] `changesFileContent` (dir </> \"HEAD\")
+\"\"\"]]
+"""]]
diff --git a/doc/todo/cabal_new-build_cruft.mdwn b/doc/todo/cabal_new-build_cruft.mdwn
new file mode 100644
index 00000000..586e9fde
--- /dev/null
+++ b/doc/todo/cabal_new-build_cruft.mdwn
@@ -0,0 +1,17 @@
+cabal new-build (now the default with recent cabal versions) stores stuff
+in dist-newstyle, versioned by the ghc version and the package version.
+
+So, as propellor builds itself on a host over and over again,
+and the host is upgraded and propellor is upgraded, dist-newstyle will
+accumulate cruft used by old builds.
+
+cabal clean can remove it of course, but then it won't update the build
+incrementally.
+
+What would be good is, a way to detect that the versioning has changed,
+and only then run cabal clean. One way to do that, would be when updating
+the propellor symlink to the cabal built binary, compare the old and new
+binary location. If they're not the same, the versioning has changed,
+and so cabal clean and re-build. --[[Joey]]
+
+(Note that stack probably has the same problem too.)
diff --git a/doc/todo/depend_on_concurrent-output.mdwn b/doc/todo/depend_on_concurrent-output.mdwn
index c3641385..48dd829e 100644
--- a/doc/todo/depend_on_concurrent-output.mdwn
+++ b/doc/todo/depend_on_concurrent-output.mdwn
@@ -27,3 +27,26 @@ Waiting on concurrent-output reaching Debian stable.
> from debian. That is a somewhat old version and perhaps it was buggy?
> However, I have not had any luck reproducing the problem there running
> readProcess in ghci. --[[Joey]]
+>
+> > Tried again in 2020, same bugs still happened. On a system running
+> > debian unstable with concurrent-output 1.10.9, and a system running stable that
+> > had cabal installed concurrent-output 1.10.11.
+> >
+> > The former system (kite) had the strange output problem.
+> >
+> > The latter system (keysafe) seemed ok but crashed at the end with
+> > a STM transaction deadlock. Seemed to only happen when spinning the
+> > host remotely, or not always; I tried to reproduce it running propellor
+> > manually to bisect concurrent-output but without success.
+> >
+> > This is really looking like a reversion, or several, in newer
+> > versions of concurrent-output. The code bundled with propellor is
+> > the same as concurrent-output 1.7.4.
+
+> > > I think I've fixed it, concurrent-output (>= 1.10.12 || <= 1.7.4)
+> > > will be needed to avoid the bug. Will be several years until that's
+> > > in debian stable..
+> > >
+> > > I've updated the embedded concurrent-output copy, and it should
+> > > be kept up-to-date as concurrent-output changes, to avoid more
+> > > such reversions. --[[Joey]]