From ba4f7cb05fd473d233206e360fe8b2e62b27796d Mon Sep 17 00:00:00 2001 From: spwhitton Date: Sat, 21 May 2016 13:34:41 +0000 Subject: submit merge request --- doc/todo/merge_request:_Propellor.Property.Sbuild.mdwn | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 doc/todo/merge_request:_Propellor.Property.Sbuild.mdwn (limited to 'doc') diff --git a/doc/todo/merge_request:_Propellor.Property.Sbuild.mdwn b/doc/todo/merge_request:_Propellor.Property.Sbuild.mdwn new file mode 100644 index 00000000..3156fdb4 --- /dev/null +++ b/doc/todo/merge_request:_Propellor.Property.Sbuild.mdwn @@ -0,0 +1,18 @@ +Please consider merging branch `sbuild` of repository `https://git.spwhitton.name/propellor`. + +This branch adds the following features: + +- A new module `Propellor.Property.Sbuild` with properties for configuring sbuild schroots +- A new module `Propellor.Property.Schroot` with a property supporting those in `Propellor.Property.Sbuild` +- A new module `Propellor.Property.Ccache` with a property supporting those in `Propellor.Property.Sbuild` +- An export of `extractSuite` from `Propellor.Property.Debootstrap`, used in `Propellor.Property.Sbuild` +- Two new types of iptables matching rules in `Propellor.Property.Firewall`. + +The additions to `Propellor.Property.Firewall` were made to support `Sbuild.blockNetwork`, which is a hack from the Debian Wiki which doesn't seem to work with the latest version of sbuild. I left the additions to `Propellor.Property.Firewall` in my branch since they are probably independently useful. I left the `blockNetwork` property commented-out in `Sbuild.hs` in case I or someone else can make it work at a later date. + +I get the following strange warning from GHC thanks to my new export from `Propellor.Property.Debootstrap`. I can't figure out the problem and would be grateful for help. + + src/Propellor/Property/Debootstrap.hs:8:9: Warning: + `extractSuite' is exported by `extractSuite' and `extractSuite' + +--spwhitton -- cgit v1.3-2-g0d8e From 02a25686e5159471afb942767d8896a42ada4a30 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 21 May 2016 13:08:42 -0400 Subject: followup --- .../comment_4_0e98f5ea8af2e14ead239e5b777afb26._comment | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 doc/todo/spin_without_remote_compilation/comment_4_0e98f5ea8af2e14ead239e5b777afb26._comment (limited to 'doc') diff --git a/doc/todo/spin_without_remote_compilation/comment_4_0e98f5ea8af2e14ead239e5b777afb26._comment b/doc/todo/spin_without_remote_compilation/comment_4_0e98f5ea8af2e14ead239e5b777afb26._comment new file mode 100644 index 00000000..28307a2d --- /dev/null +++ b/doc/todo/spin_without_remote_compilation/comment_4_0e98f5ea8af2e14ead239e5b777afb26._comment @@ -0,0 +1,14 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 4""" + date="2016-05-21T17:06:37Z" + content=""" +There's a patch implementing this now, in: + + https://git.gueux.org/propellor.git precompiled + +I have not found the increased memory too onerous, it's still working +down to 500 mb cheap VMs. So I'm looking for details about cases where +it causes ghc to use too much memory. + +"""]] -- cgit v1.3-2-g0d8e From 127ebb05b4b5d4138aef017b1d0d87dd8680262b Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 21 May 2016 13:34:39 -0400 Subject: todo --- doc/todo/use_ghc_8.0_custom_compile_errors.mdwn | 27 +++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 doc/todo/use_ghc_8.0_custom_compile_errors.mdwn (limited to 'doc') diff --git a/doc/todo/use_ghc_8.0_custom_compile_errors.mdwn b/doc/todo/use_ghc_8.0_custom_compile_errors.mdwn new file mode 100644 index 00000000..7eed443a --- /dev/null +++ b/doc/todo/use_ghc_8.0_custom_compile_errors.mdwn @@ -0,0 +1,27 @@ + + +This could be used in propellor to improve compile time errors. + +For example, a RevertableProperty is sometimes used where only a regular +Property is accepted. In this case, the error could suggest that the user +apply `setupRevertableProperty` to extract the setup side of the RevertableProperty. + +And, when a Property HasInfo is provided to ensureProperty, propellor could +explain, in the compile error, why it can't let the user do that. + +Custom errors need a type class to be used. So, could do something like this: + + class NeedsProperty a where + withProperty :: (Property metatype -> b) -> b + + instance NeedsProperty (Property metatype) where withProperty = id + + instance TypeError (Text "Use setupRevertableProperty ...") + => NeedsProperty RevertableProperty where + withProperty = error "unreachable" + +(While propellor needs to be buildable with older versions of ghc, +the `instance TypeError` can just be wrapped in an ifdef to make it only be +used by the new ghc.) + +[[!tag user/joey]] -- cgit v1.3-2-g0d8e From 32a0a80777db7c1537f9f0f7c861c34c95ef58fa Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 21 May 2016 14:04:55 -0400 Subject: review --- ...ent_1_b3343283b2d7d49ab70a95d762d0e081._comment | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 doc/todo/merge_request:_Propellor.Property.Sbuild/comment_1_b3343283b2d7d49ab70a95d762d0e081._comment (limited to 'doc') diff --git a/doc/todo/merge_request:_Propellor.Property.Sbuild/comment_1_b3343283b2d7d49ab70a95d762d0e081._comment b/doc/todo/merge_request:_Propellor.Property.Sbuild/comment_1_b3343283b2d7d49ab70a95d762d0e081._comment new file mode 100644 index 00000000..89583ffc --- /dev/null +++ b/doc/todo/merge_request:_Propellor.Property.Sbuild/comment_1_b3343283b2d7d49ab70a95d762d0e081._comment @@ -0,0 +1,25 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2016-05-21T17:41:11Z" + content=""" +Re not running propellor in the sbuild chroot, I have in the past used +schroot for things where it would have made sense to run propellor +in the chroot. OTOH, systemd-container is a better fit for such uses cases +now, probably. + +Is the ~/.sbuildrc necessary to use the sbuild properties? If so, +would it make sense to have a property that configures it? + +You could use Utility.DataUnits for Ccache's MaxSize. This would be +more flexible and consistent with other things in propellor. + +Limit could be a monoid. This would perhaps simplify hasGroupCache +as it could only be used once to set multiple limits. + +Maybe instead of Ccache.hasGroupCache, call it Ccache.hasCache? + +That is a weird build warning! But, I don't see it with ghc 7.10.3. +Normally you'd see that warning when the module's export list exported the same +symbol twice. +"""]] -- cgit v1.3-2-g0d8e From fe80b0157c0de7c2a2155e5d268b965c3a0f443d Mon Sep 17 00:00:00 2001 From: spwhitton Date: Sun, 22 May 2016 01:48:28 +0000 Subject: Added a comment --- ...ent_2_d8afe7b1fd49df5794c9abf2be732f8b._comment | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 doc/todo/merge_request:_Propellor.Property.Sbuild/comment_2_d8afe7b1fd49df5794c9abf2be732f8b._comment (limited to 'doc') diff --git a/doc/todo/merge_request:_Propellor.Property.Sbuild/comment_2_d8afe7b1fd49df5794c9abf2be732f8b._comment b/doc/todo/merge_request:_Propellor.Property.Sbuild/comment_2_d8afe7b1fd49df5794c9abf2be732f8b._comment new file mode 100644 index 00000000..44a2a542 --- /dev/null +++ b/doc/todo/merge_request:_Propellor.Property.Sbuild/comment_2_d8afe7b1fd49df5794c9abf2be732f8b._comment @@ -0,0 +1,58 @@ +[[!comment format=mdwn + username="spwhitton" + subject="comment 2" + date="2016-05-22T01:48:27Z" + content=""" +Thanks for your feedback. + +> Re not running propellor in the sbuild chroot, I have in the past used +> schroot for things where it would have made sense to run propellor in +> the chroot. OTOH, systemd-container is a better fit for such uses +> cases now, probably. + +I was thinking that if someone wanted to use a schroot and run +propellor in it, useful properties could be appended to +`Propellor.Property.Schroot`. As far as types go, I think that the +types in `Propellor.Property.Chroot` would be sufficient. + +> Is the ~/.sbuildrc necessary to use the sbuild properties? If so, +> would it make sense to have a property that configures it? + +The only probably which *needs* the suggested ~/.sbuildrc is +`Sbuild.piupartsConfFor`. With the other properties and no +~/.sbuildrc, you should be able to go ahead and use sbuild(1) to +perform a clean build. + +I don't think there is a way to write a non-intrusive property to add +anything to a user's ~/.sbuildrc. That's because they will probably +have different preferences for the options to pass to piuparts than I +give in the example, and we would have to merge the adt-run code with +any existing post-build-commands. I'm not sure propellor should have +a perl config file parser. + +> You could use Utility.DataUnits for Ccache's MaxSize. This would be +> more flexible and consistent with other things in propellor. + +Done. + +> Limit could be a monoid. This would perhaps simplify hasGroupCache as +> it could only be used once to set multiple limits. + +Done. + +> Maybe instead of Ccache.hasGroupCache, call it Ccache.hasCache? + +Done, I think that's better. I was originally thinking that the name +`Ccache.hasCache` might be for a property `User -> Property +DebianLike`. However, if someone wanted to write a property configuring +a user cache, it would probably have the standard location +`~/.ccache`. This cache would be implicitly created when required, so +the name `Ccache.hasCache` would be needed. + +> That is a weird build warning! But, I don't see it with ghc +> 7.10.3. Normally you'd see that warning when the module's export list +> exported the same symbol twice. + +I'm on GHC 7.10.3, too... + +"""]] -- cgit v1.3-2-g0d8e From 65ac730c006184472a7d0cb19deffdd69839530f Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 22 May 2016 13:55:42 -0400 Subject: comment --- .../comment_3_679468488a88f0a3f28ea0be548691a0._comment | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/todo/merge_request:_Propellor.Property.Sbuild/comment_3_679468488a88f0a3f28ea0be548691a0._comment (limited to 'doc') diff --git a/doc/todo/merge_request:_Propellor.Property.Sbuild/comment_3_679468488a88f0a3f28ea0be548691a0._comment b/doc/todo/merge_request:_Propellor.Property.Sbuild/comment_3_679468488a88f0a3f28ea0be548691a0._comment new file mode 100644 index 00000000..7d5da612 --- /dev/null +++ b/doc/todo/merge_request:_Propellor.Property.Sbuild/comment_3_679468488a88f0a3f28ea0be548691a0._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2016-05-22T17:53:42Z" + content=""" +Would it make sense to move the ~/.sbuildrc example into the documentation +for the property that uses it? +"""]] -- cgit v1.3-2-g0d8e From 7024be7db4021f059380afde9a0f48b99d456bf4 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 22 May 2016 16:06:01 -0400 Subject: add news item for propellor 3.0.4 --- doc/news/version_3.0.3.mdwn | 6 ------ doc/news/version_3.0.4.mdwn | 8 ++++++++ 2 files changed, 8 insertions(+), 6 deletions(-) delete mode 100644 doc/news/version_3.0.3.mdwn create mode 100644 doc/news/version_3.0.4.mdwn (limited to 'doc') diff --git a/doc/news/version_3.0.3.mdwn b/doc/news/version_3.0.3.mdwn deleted file mode 100644 index 75ea3c33..00000000 --- a/doc/news/version_3.0.3.mdwn +++ /dev/null @@ -1,6 +0,0 @@ -propellor 3.0.3 released with [[!toggle text="these changes"]] -[[!toggleable text=""" - * Remove Propellor.DotDir from the propellor library, as its use of - Paths\_propellor prevents use of the module out of propellor's tree. - This module is only needed for the wrapper program anyway, which - handles --init."""]] \ No newline at end of file diff --git a/doc/news/version_3.0.4.mdwn b/doc/news/version_3.0.4.mdwn new file mode 100644 index 00000000..f6e1eac2 --- /dev/null +++ b/doc/news/version_3.0.4.mdwn @@ -0,0 +1,8 @@ +propellor 3.0.4 released with [[!toggle text="these changes"]] +[[!toggleable text=""" + * Run letsencrypt with --noninteractive. + * Fix build with ghc 8.0.1. + Thanks, davean. + * Module added for the Borg backup system. + Thanks, Félix Sipma. + * Fix build with directory-1.2.6.2."""]] \ No newline at end of file -- cgit v1.3-2-g0d8e From 4141e566dbf681ca3321009db462ada22657930c Mon Sep 17 00:00:00 2001 From: spwhitton Date: Sun, 22 May 2016 22:39:24 +0000 Subject: Added a comment --- .../comment_4_bae208f52cb01eeb6d95a06dd4d5466a._comment | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 doc/todo/merge_request:_Propellor.Property.Sbuild/comment_4_bae208f52cb01eeb6d95a06dd4d5466a._comment (limited to 'doc') diff --git a/doc/todo/merge_request:_Propellor.Property.Sbuild/comment_4_bae208f52cb01eeb6d95a06dd4d5466a._comment b/doc/todo/merge_request:_Propellor.Property.Sbuild/comment_4_bae208f52cb01eeb6d95a06dd4d5466a._comment new file mode 100644 index 00000000..fc7a8005 --- /dev/null +++ b/doc/todo/merge_request:_Propellor.Property.Sbuild/comment_4_bae208f52cb01eeb6d95a06dd4d5466a._comment @@ -0,0 +1,9 @@ +[[!comment format=mdwn + username="spwhitton" + subject="comment 4" + date="2016-05-22T22:39:24Z" + content=""" +I've copied the relevant part to the documentation for that property. + +I'd like to retain the whole suggested ~/.sbuildrc content at the top of the haddock. The purpose of the suggested config.hs lines is to set up everything you need to be able to run sbuild with both piuparts and adt-run -- the \"complete setup\". You don't get all of that by just running `sbuild-createchroot` from a command line. So having both the config.hs lines and the ~/.sbuildrc lines at the top of the haddock makes it clear what the module can do for the user. +"""]] -- cgit v1.3-2-g0d8e From 864d47361ba34d851a9bbb34a6242854c042e556 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 23 May 2016 11:23:25 -0400 Subject: Modules added for Sbuild and Ccache. Thanks, Sean Whitton --- debian/changelog | 7 +++++++ doc/todo/merge_request:_Propellor.Property.Sbuild.mdwn | 2 ++ 2 files changed, 9 insertions(+) (limited to 'doc') diff --git a/debian/changelog b/debian/changelog index 261989c2..02bf0d1e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +propellor (3.0.5) UNRELEASED; urgency=medium + + * Modules added for Sbuild and Ccache. + Thanks, Sean Whitton + + -- Joey Hess Mon, 23 May 2016 11:19:28 -0400 + propellor (3.0.4) unstable; urgency=medium * Run letsencrypt with --noninteractive. diff --git a/doc/todo/merge_request:_Propellor.Property.Sbuild.mdwn b/doc/todo/merge_request:_Propellor.Property.Sbuild.mdwn index 3156fdb4..96c08d53 100644 --- a/doc/todo/merge_request:_Propellor.Property.Sbuild.mdwn +++ b/doc/todo/merge_request:_Propellor.Property.Sbuild.mdwn @@ -16,3 +16,5 @@ I get the following strange warning from GHC thanks to my new export from `Prope `extractSuite' is exported by `extractSuite' and `extractSuite' --spwhitton + +> [[merged|done]]; thank you! --[[Joey]] -- cgit v1.3-2-g0d8e