From b046a63f49004b7439a5422e5ab51dfee7ba1958 Mon Sep 17 00:00:00 2001 From: db48x Date: Mon, 26 Dec 2016 14:07:33 +0000 Subject: moderately confused --- .../Are_--check_and_--build_on_the_way_in_or_on_the_way_out__63__.mdwn | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/todo/Are_--check_and_--build_on_the_way_in_or_on_the_way_out__63__.mdwn (limited to 'doc/todo') diff --git a/doc/todo/Are_--check_and_--build_on_the_way_in_or_on_the_way_out__63__.mdwn b/doc/todo/Are_--check_and_--build_on_the_way_in_or_on_the_way_out__63__.mdwn new file mode 100644 index 00000000..fdba0576 --- /dev/null +++ b/doc/todo/Are_--check_and_--build_on_the_way_in_or_on_the_way_out__63__.mdwn @@ -0,0 +1 @@ +I've managed to do a few useful things with propellor, but it feels a bit rough around the edges to me. It looked at first like the --check and --build options would be useful for checking that my configs would at least compile, but it turns out that --build doesn't even exist and --check just returns without doing anything. Should they just be removed, or do they need more work to finish them? -- cgit v1.3-2-g0d8e From 1d868470e4ec6ec6211206003279ac4bc8465c4f Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 26 Dec 2016 12:07:35 -0400 Subject: comment and close --- ...ck_and_--build_on_the_way_in_or_on_the_way_out__63__.mdwn | 2 ++ .../comment_1_7c2b2447254ad44ee1316b47eac130df._comment | 12 ++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 doc/todo/Are_--check_and_--build_on_the_way_in_or_on_the_way_out__63__/comment_1_7c2b2447254ad44ee1316b47eac130df._comment (limited to 'doc/todo') diff --git a/doc/todo/Are_--check_and_--build_on_the_way_in_or_on_the_way_out__63__.mdwn b/doc/todo/Are_--check_and_--build_on_the_way_in_or_on_the_way_out__63__.mdwn index fdba0576..52b3b998 100644 --- a/doc/todo/Are_--check_and_--build_on_the_way_in_or_on_the_way_out__63__.mdwn +++ b/doc/todo/Are_--check_and_--build_on_the_way_in_or_on_the_way_out__63__.mdwn @@ -1 +1,3 @@ I've managed to do a few useful things with propellor, but it feels a bit rough around the edges to me. It looked at first like the --check and --build options would be useful for checking that my configs would at least compile, but it turns out that --build doesn't even exist and --check just returns without doing anything. Should they just be removed, or do they need more work to finish them? + +[[done]] diff --git a/doc/todo/Are_--check_and_--build_on_the_way_in_or_on_the_way_out__63__/comment_1_7c2b2447254ad44ee1316b47eac130df._comment b/doc/todo/Are_--check_and_--build_on_the_way_in_or_on_the_way_out__63__/comment_1_7c2b2447254ad44ee1316b47eac130df._comment new file mode 100644 index 00000000..392f0f1c --- /dev/null +++ b/doc/todo/Are_--check_and_--build_on_the_way_in_or_on_the_way_out__63__/comment_1_7c2b2447254ad44ee1316b47eac130df._comment @@ -0,0 +1,12 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2016-12-26T15:55:36Z" + content=""" +--check does just what it's supposed to do. This is used during bootstrap +to notice if the propellor binary has gotten broken by changes to eg system +libraries. + +--build seems to have been added without being implemented. But it does +seem useful to have a way to simply build propellor so implemented it now. +"""]] -- cgit v1.3-2-g0d8e From ce6b81166498753903d4c9fd0b310a50a7810093 Mon Sep 17 00:00:00 2001 From: db48x Date: Mon, 26 Dec 2016 21:23:03 +0000 Subject: Added a comment: aha --- .../comment_2_b4910f50225a8b763566126861faea11._comment | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/todo/Are_--check_and_--build_on_the_way_in_or_on_the_way_out__63__/comment_2_b4910f50225a8b763566126861faea11._comment (limited to 'doc/todo') diff --git a/doc/todo/Are_--check_and_--build_on_the_way_in_or_on_the_way_out__63__/comment_2_b4910f50225a8b763566126861faea11._comment b/doc/todo/Are_--check_and_--build_on_the_way_in_or_on_the_way_out__63__/comment_2_b4910f50225a8b763566126861faea11._comment new file mode 100644 index 00000000..0c594483 --- /dev/null +++ b/doc/todo/Are_--check_and_--build_on_the_way_in_or_on_the_way_out__63__/comment_2_b4910f50225a8b763566126861faea11._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="db48x" + avatar="http://cdn.libravatar.org/avatar/ad2688127feb555a92154b16d8eeb5d3" + subject="aha" + date="2016-12-26T21:23:03Z" + content=""" +Thanks! +"""]] -- cgit v1.3-2-g0d8e From eadfc8b972e09bd7173fbfffd57539eb3b8b394c Mon Sep 17 00:00:00 2001 From: db48x Date: Tue, 27 Dec 2016 02:12:10 +0000 Subject: --- doc/todo/usage__47__help_text_improvements.mdwn | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/todo/usage__47__help_text_improvements.mdwn (limited to 'doc/todo') diff --git a/doc/todo/usage__47__help_text_improvements.mdwn b/doc/todo/usage__47__help_text_improvements.mdwn new file mode 100644 index 00000000..8ffca2c0 --- /dev/null +++ b/doc/todo/usage__47__help_text_improvements.mdwn @@ -0,0 +1 @@ +I started out looking at how to make usage.mdwn into a man page, but that's a little more work than I wanted to do tonight. Instead, I added more information to the usage message. Commit is fa0e8d83 on iabak:~db48x/propellor if you want it. -- cgit v1.3-2-g0d8e From 1107f528e0ddbaf62c7a171c7da26b00afb18944 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 26 Dec 2016 22:49:07 -0400 Subject: comment --- .../comment_1_66878945cdb57d06849337262d939701._comment | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 doc/todo/usage__47__help_text_improvements/comment_1_66878945cdb57d06849337262d939701._comment (limited to 'doc/todo') diff --git a/doc/todo/usage__47__help_text_improvements/comment_1_66878945cdb57d06849337262d939701._comment b/doc/todo/usage__47__help_text_improvements/comment_1_66878945cdb57d06849337262d939701._comment new file mode 100644 index 00000000..f30eae46 --- /dev/null +++ b/doc/todo/usage__47__help_text_improvements/comment_1_66878945cdb57d06849337262d939701._comment @@ -0,0 +1,13 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2016-12-27T02:46:19Z" + content=""" +I don't like the use of tabs in that; it may be that with some terminal +with an unusual tab stop, the things don't align. + +It would probably be simplest to put the description in the line under the +option. + +BTW, the Makefile can build propellor.1 out of usage.mdwn +"""]] -- cgit v1.3-2-g0d8e From d7faad78217ff4eeac98048a094fc6849b3c44a0 Mon Sep 17 00:00:00 2001 From: db48x Date: Tue, 27 Dec 2016 06:12:52 +0000 Subject: Added a comment --- .../comment_2_d531a45851cdef87a8f7b8182b3d04ce._comment | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 doc/todo/usage__47__help_text_improvements/comment_2_d531a45851cdef87a8f7b8182b3d04ce._comment (limited to 'doc/todo') diff --git a/doc/todo/usage__47__help_text_improvements/comment_2_d531a45851cdef87a8f7b8182b3d04ce._comment b/doc/todo/usage__47__help_text_improvements/comment_2_d531a45851cdef87a8f7b8182b3d04ce._comment new file mode 100644 index 00000000..62cf1fe4 --- /dev/null +++ b/doc/todo/usage__47__help_text_improvements/comment_2_d531a45851cdef87a8f7b8182b3d04ce._comment @@ -0,0 +1,12 @@ +[[!comment format=mdwn + username="db48x" + avatar="http://cdn.libravatar.org/avatar/ad2688127feb555a92154b16d8eeb5d3" + subject="comment 2" + date="2016-12-27T06:12:52Z" + content=""" +/me facepalms; of course it can. I guess I saw the 'git commit' in the install target and disregarded the rest. + +I removed the tabs from the usage. It's a lot longer, but I suppose it gets the job done. + + +"""]] -- cgit v1.3-2-g0d8e From 3d5256bc1132a7ec94210fb2c9c7aa9af3baa4fa Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 28 Dec 2016 13:01:13 -0400 Subject: More informative usage message. Thanks, Daniel Brooks --- CHANGELOG | 1 + doc/todo/usage__47__help_text_improvements.mdwn | 2 ++ 2 files changed, 3 insertions(+) (limited to 'doc/todo') diff --git a/CHANGELOG b/CHANGELOG index f41c556f..eef6c1de 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,7 @@ propellor (3.2.4) UNRELEASED; urgency=medium * GHC's fileSystemEncoding is used for all String IO, to avoid encoding-related crashes in eg, Propellor.Property.File. * Add --build option to simply build config.hs. + * More informative usage message. Thanks, Daniel Brooks -- Joey Hess Sat, 24 Dec 2016 15:06:36 -0400 diff --git a/doc/todo/usage__47__help_text_improvements.mdwn b/doc/todo/usage__47__help_text_improvements.mdwn index 8ffca2c0..80fffb3d 100644 --- a/doc/todo/usage__47__help_text_improvements.mdwn +++ b/doc/todo/usage__47__help_text_improvements.mdwn @@ -1 +1,3 @@ I started out looking at how to make usage.mdwn into a man page, but that's a little more work than I wanted to do tonight. Instead, I added more information to the usage message. Commit is fa0e8d83 on iabak:~db48x/propellor if you want it. + +> merged [[done]] tnx --[[Joey]] -- cgit v1.3-2-g0d8e From 891ba4e31c8c382f7398ec6fd475309015975445 Mon Sep 17 00:00:00 2001 From: spwhitton Date: Sat, 31 Dec 2016 17:54:27 +0000 Subject: report bug --- ...opellor_broken_now_CHANGELOG_not_a_symlink.mdwn | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 doc/todo/Merging_from___47__usr__47__src__47__propellor_broken_now_CHANGELOG_not_a_symlink.mdwn (limited to 'doc/todo') diff --git a/doc/todo/Merging_from___47__usr__47__src__47__propellor_broken_now_CHANGELOG_not_a_symlink.mdwn b/doc/todo/Merging_from___47__usr__47__src__47__propellor_broken_now_CHANGELOG_not_a_symlink.mdwn new file mode 100644 index 00000000..bfba8548 --- /dev/null +++ b/doc/todo/Merging_from___47__usr__47__src__47__propellor_broken_now_CHANGELOG_not_a_symlink.mdwn @@ -0,0 +1,36 @@ +In Joey's master branch, `CHANGELOG` is a real file, whereas previously it was a symlink. This breaks the `/usr/src/propellor` newer version check. + +Steps to reproduce: + +1. Install propellor 3.2.3 or older with apt on Debian or Ubuntu +2. `propellor --init` and select option `A` +3. Prepare a pseudorelease: merge Joey's master branch into [my Debian packaging branch](https://git.spwhitton.name/?p=propellor.git;a=shortlog;h=refs/heads/debian), `dch -v3.2.3+gitYYYYMMDD.fffffff`, `dpkg-buildpackage -uc -b`, `debi -u` +4. `propellor --spin` + +I haven't yet tried reproducing this by building a `.deb` from Joey's master branch, rather than my packaging branch. If the problem does not appear using a `.deb` from Joey's master branch, this is an internal Debian problem, rather than an upstream bug. However, perhaps Joey can immediately see a solution. + +Sample output: + + Auto-merging src/wrapper.hs + Auto-merging src/Utility/UserInfo.hs + Auto-merging src/Utility/SystemDirectory.hs + Auto-merging src/Utility/Misc.hs + Auto-merging src/Utility/FileSystemEncoding.hs + Auto-merging src/Utility/Exception.hs + Auto-merging src/Propellor/Types/CmdLine.hs + Auto-merging src/Propellor/Shim.hs + Auto-merging src/Propellor/Property/Gpg.hs + Auto-merging src/Propellor/Property/Debootstrap.hs + Auto-merging src/Propellor/Property.hs + Auto-merging src/Propellor/PrivData.hs + Auto-merging src/Propellor/Gpg.hs + Auto-merging src/Propellor/CmdLine.hs + Auto-merging debian/changelog + Auto-merging CHANGELOG + CONFLICT (add/add): Merge conflict in CHANGELOG + Automatic merge failed; fix conflicts and then commit the result. + propellor: Failed to run git ["merge","c590ddd8e2fa87baa409b6c29501d4473555ecfb","-s","recursive","-Xtheirs","--quiet","-m","merging upstream version","--allow-unrelated-histories"] + CallStack (from HasCallStack): + error, called at src/Propellor/DotDir.hs:425:17 in main:Propellor.DotDir + +--spwhitton -- cgit v1.3-2-g0d8e From 0db84b872dd2f7831026b089645a01ce43ef70e0 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 1 Jan 2017 17:32:31 -0400 Subject: comment --- .../comment_1_62b47d7c0530c2988b7e6e998878b920._comment | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 doc/todo/Merging_from___47__usr__47__src__47__propellor_broken_now_CHANGELOG_not_a_symlink/comment_1_62b47d7c0530c2988b7e6e998878b920._comment (limited to 'doc/todo') diff --git a/doc/todo/Merging_from___47__usr__47__src__47__propellor_broken_now_CHANGELOG_not_a_symlink/comment_1_62b47d7c0530c2988b7e6e998878b920._comment b/doc/todo/Merging_from___47__usr__47__src__47__propellor_broken_now_CHANGELOG_not_a_symlink/comment_1_62b47d7c0530c2988b7e6e998878b920._comment new file mode 100644 index 00000000..886c2534 --- /dev/null +++ b/doc/todo/Merging_from___47__usr__47__src__47__propellor_broken_now_CHANGELOG_not_a_symlink/comment_1_62b47d7c0530c2988b7e6e998878b920._comment @@ -0,0 +1,11 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2017-01-01T21:29:52Z" + content=""" +I have reverted that change for now. + +I don't think the /usr/src/propellor/ merge has anything specific to do +with the changelog, so there is probably a general case where that merge +fails to work. I guess it involves a file's type changing. +"""]] -- cgit v1.3-2-g0d8e From 8199e351fcaf8f30c53a251d304698baa3152d52 Mon Sep 17 00:00:00 2001 From: spwhitton Date: Tue, 3 Jan 2017 09:07:18 +0000 Subject: Added a comment --- .../comment_2_61463030200038542d293149754d36ed._comment | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/todo/Merging_from___47__usr__47__src__47__propellor_broken_now_CHANGELOG_not_a_symlink/comment_2_61463030200038542d293149754d36ed._comment (limited to 'doc/todo') diff --git a/doc/todo/Merging_from___47__usr__47__src__47__propellor_broken_now_CHANGELOG_not_a_symlink/comment_2_61463030200038542d293149754d36ed._comment b/doc/todo/Merging_from___47__usr__47__src__47__propellor_broken_now_CHANGELOG_not_a_symlink/comment_2_61463030200038542d293149754d36ed._comment new file mode 100644 index 00000000..b1b4a037 --- /dev/null +++ b/doc/todo/Merging_from___47__usr__47__src__47__propellor_broken_now_CHANGELOG_not_a_symlink/comment_2_61463030200038542d293149754d36ed._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="spwhitton" + avatar="http://cdn.libravatar.org/avatar/9c3f08f80e67733fd506c353239569eb" + subject="comment 2" + date="2017-01-03T09:07:18Z" + content=""" +Thanks for looking at this. Yes, it's probably the type-change. There is surely some way to instruct git to DTRT. +"""]] -- cgit v1.3-2-g0d8e From 5b1d191a4fb9362ffe58fe11e98648dc60614cf3 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 6 Jan 2017 00:47:10 -0400 Subject: too --- doc/todo/hostChroot.mdwn | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 doc/todo/hostChroot.mdwn (limited to 'doc/todo') diff --git a/doc/todo/hostChroot.mdwn b/doc/todo/hostChroot.mdwn new file mode 100644 index 00000000..55fa6898 --- /dev/null +++ b/doc/todo/hostChroot.mdwn @@ -0,0 +1,4 @@ +Would be useful to have a `hostChroot :: Host -> Chroot`. + +For a Debian host, this would use debootstrapped and pass all the Host's +properties to it. --[[Joey]] -- cgit v1.3-2-g0d8e From 626972d9ffa1821256065308555c50c465d44485 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 6 Jan 2017 10:57:28 -0400 Subject: update --- doc/todo/hostChroot.mdwn | 3 +++ 1 file changed, 3 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/hostChroot.mdwn b/doc/todo/hostChroot.mdwn index 55fa6898..eccfd641 100644 --- a/doc/todo/hostChroot.mdwn +++ b/doc/todo/hostChroot.mdwn @@ -2,3 +2,6 @@ Would be useful to have a `hostChroot :: Host -> Chroot`. For a Debian host, this would use debootstrapped and pass all the Host's properties to it. --[[Joey]] + +Would need to make privdata use the context of the input Host. And would +need to propigate privdata info, but not other info. --[[Joey]] -- cgit v1.3-2-g0d8e From 42f22dd483d31cd75012287e788b643487996604 Mon Sep 17 00:00:00 2001 From: spwhitton Date: Wed, 1 Feb 2017 04:39:40 +0000 Subject: submit branch --- doc/todo/new_apt_pinning_properties.mdwn | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/todo/new_apt_pinning_properties.mdwn (limited to 'doc/todo') diff --git a/doc/todo/new_apt_pinning_properties.mdwn b/doc/todo/new_apt_pinning_properties.mdwn new file mode 100644 index 00000000..d32bcbb2 --- /dev/null +++ b/doc/todo/new_apt_pinning_properties.mdwn @@ -0,0 +1,8 @@ +My branch `pin` of repo `https://git.spwhitton.name/propellor` adds + +- `Apt.suiteAvailablePinned` +- `Apt.pinnedTo` +- `File.containsBlock` +- a haddock for `File.containsLines` + +There is one TODO in a comment that relates to propellor's algebraic data types. I'd be grateful for help with that. --spwhitton -- cgit v1.3-2-g0d8e From ba10f91a450247191bb97b106a9d8b8670ad44a2 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 1 Feb 2017 16:17:08 -0400 Subject: comment --- ...ent_1_fd9e6775868eaa8d6aee49d06944ef0c._comment | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 doc/todo/new_apt_pinning_properties/comment_1_fd9e6775868eaa8d6aee49d06944ef0c._comment (limited to 'doc/todo') diff --git a/doc/todo/new_apt_pinning_properties/comment_1_fd9e6775868eaa8d6aee49d06944ef0c._comment b/doc/todo/new_apt_pinning_properties/comment_1_fd9e6775868eaa8d6aee49d06944ef0c._comment new file mode 100644 index 00000000..4800608f --- /dev/null +++ b/doc/todo/new_apt_pinning_properties/comment_1_fd9e6775868eaa8d6aee49d06944ef0c._comment @@ -0,0 +1,38 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2017-02-01T20:00:47Z" + content=""" +I wonder if it would be better to separate `suiteAvailablePinned` +into `suiteAvailable` and `suitePinned`? The latter could require +the former. + +`pinnedTo` should probably be DebianLike not UnixLike. +And its `[String]` parameter ought to be `[Package]`. + +Is `File.containsBlock` necessary? Seems that if you care about +ordering of blocks in the file, you generally should use +`File.hasContent` to specify the full content. Rather than using +/etc/apt/preferences.d/10propellor.pref for multiple properties, +you could use a separate file for each `pinnedTo'` with the parameters +encoded in the filename. + +As to the TODO, I tried adding this: + + robustly' :: RevertableProperty DebianLike DebianLike -> RevertableProperty DebianLike DebianLike + robustly' p = p `fallback` (update `before` p) + +And the compiler tells me it's wrong because `update` is not revertable. +But of course, there's no need to revert apt-get update, so this compiles: + + robustly' :: RevertableProperty DebianLike DebianLike -> RevertableProperty DebianLike DebianLike + robustly' p = p `fallback` ((update (doNothing :: Property DebianLike)) `before` p) + +Cleaning it up left an an exersise for the reader. Might be possible +to combine `robustly` and `robustly'` into a single function, but I'm +not able to see how immediately. + +However.. Seems to me that whatever you wanted to use `robustly` with to +spur that TODO, you could just apply it to the first Property of the +RevertableProperty, and not to the second one? +"""]] -- cgit v1.3-2-g0d8e From 5c170d3f8021b2120d3147103e23baf7bac6cc76 Mon Sep 17 00:00:00 2001 From: spwhitton Date: Thu, 2 Feb 2017 17:40:11 +0000 Subject: Added a comment: reply to review --- ...ent_2_c82f7e83f3fcc7648222d9dbf90e5ddd._comment | 66 ++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 doc/todo/new_apt_pinning_properties/comment_2_c82f7e83f3fcc7648222d9dbf90e5ddd._comment (limited to 'doc/todo') diff --git a/doc/todo/new_apt_pinning_properties/comment_2_c82f7e83f3fcc7648222d9dbf90e5ddd._comment b/doc/todo/new_apt_pinning_properties/comment_2_c82f7e83f3fcc7648222d9dbf90e5ddd._comment new file mode 100644 index 00000000..4fd7c824 --- /dev/null +++ b/doc/todo/new_apt_pinning_properties/comment_2_c82f7e83f3fcc7648222d9dbf90e5ddd._comment @@ -0,0 +1,66 @@ +[[!comment format=mdwn + username="spwhitton" + avatar="http://cdn.libravatar.org/avatar/9c3f08f80e67733fd506c353239569eb" + subject="reply to review" + date="2017-02-02T17:40:11Z" + content=""" +Thank you for your feedback, Joey. + +> I wonder if it would be better to separate `suiteAvailablePinned` +> into `suiteAvailable` and `suitePinned`? The latter could require +> the former. + +I see how this could be useful, in particular if you want to make a +suite like Debian experimental available, which won't cause any packages +to be automatically upgraded. + +However, it makes it less convenient, and perhaps dangerous, to revert a +pinned suite. For example, suppose on my Debian testing system I have +`Apt.suitePinned Unstable 100`. If I revert this property, it will +remove the pin but not remove the source. Then my system might get +mass-upgraded to sid if I'm not careful. + +We couldn't have the revert of `Apt.suitePinned` remove the source +because then if I have both `& Apt.suiteAvailable Unstable` and `! +Apt.suitePinned Unstable 100`, the second property would cancel out the +first, which doesn't make sense. + +On balance, I think it's best to keep the current property. A property +adding sources to apt.sources.d should probably force the user to pick a +pin value, to avoid any unexpected upgrades. + +> `pinnedTo` should probably be DebianLike not UnixLike. + +This was my 'TODO'. (Since the property takes a `DebianSuite`, I think +it should be `Debian` not `DebianLike`.) + +I tried applying `tightenTargets` to `pinnedTo`, but that only seems to +affect one half of the revertable property. Do I need to implement a +new tightening function? + +> And its `[String]` parameter ought to be `[Package]`. + +I don't think so. The parameter to `pinnedTo` can be a wildcard +expression or a regex (per `apt_preferences(5)`). Neither of these are +accepted by other existing properties that take `[Package]`, such as +`Apt.installed`. I could add a new type alias, if you prefer. + +> Is `File.containsBlock` necessary? Seems that if you care about +> ordering of blocks in the file, you generally should use +> `File.hasContent` to specify the full content. Rather than using +> /etc/apt/preferences.d/10propellor.pref for multiple properties, +> you could use a separate file for each `pinnedTo'` with the parameters +> encoded in the filename. + +This was what I tried on my first attempt, but it gets very complicated +if the user passes a wildcard expression or a regex instead of a package +name. I would need to convert that wildcard expression or regex to a +cross-platform filename, and the conversion would need to be isomorphic +to avoid any clashes. The `File.containsBlock` seems more sane than +that. + +> As to the TODO, I tried adding this: [...] + +I don't understand how `robustly` is relevant to my TODO -- please see +above. +"""]] -- cgit v1.3-2-g0d8e From 5333f3fb5c1a2ac6c16c8217c52ede2c7f03333f Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 2 Feb 2017 15:44:20 -0400 Subject: response --- ...ent_3_58d323602f293471ce3d2d9b4d271130._comment | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 doc/todo/new_apt_pinning_properties/comment_3_58d323602f293471ce3d2d9b4d271130._comment (limited to 'doc/todo') diff --git a/doc/todo/new_apt_pinning_properties/comment_3_58d323602f293471ce3d2d9b4d271130._comment b/doc/todo/new_apt_pinning_properties/comment_3_58d323602f293471ce3d2d9b4d271130._comment new file mode 100644 index 00000000..b0ff271e --- /dev/null +++ b/doc/todo/new_apt_pinning_properties/comment_3_58d323602f293471ce3d2d9b4d271130._comment @@ -0,0 +1,23 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 3""" + date="2017-02-02T18:45:01Z" + content=""" +That example with reverting one property overriding another property +is a general problem propellor has with conflicting properties. +Normally I don't much worry about it, but I agree an accidental mass +upgrade is a good reason to avoid that problem here. + +Yes please add a new type alias for String (or an ADT) +if Package is not appropriate. + +I had misunderstood which function the TODO was for.. + +Nice surprise that tightenTargets works on RevertableProperty at all. +Since it does, you should be able to tighten one side, revert, tighten the +other side, and re-revert. Or, deconstruct the RevertableProperty, +tighten both sides individually, and reconstruct it. + +I've added a Propellor.Property.File.configFileName that +should be suitable for your purposes, and others.. +"""]] -- cgit v1.3-2-g0d8e From 39afe530d4bd43c0e4f4142a03e375019222a8b8 Mon Sep 17 00:00:00 2001 From: spwhitton Date: Fri, 3 Feb 2017 04:07:58 +0000 Subject: Added a comment --- ...mment_4_add83ed58963e944ccd705a50e8b5a47._comment | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 doc/todo/new_apt_pinning_properties/comment_4_add83ed58963e944ccd705a50e8b5a47._comment (limited to 'doc/todo') diff --git a/doc/todo/new_apt_pinning_properties/comment_4_add83ed58963e944ccd705a50e8b5a47._comment b/doc/todo/new_apt_pinning_properties/comment_4_add83ed58963e944ccd705a50e8b5a47._comment new file mode 100644 index 00000000..9688672b --- /dev/null +++ b/doc/todo/new_apt_pinning_properties/comment_4_add83ed58963e944ccd705a50e8b5a47._comment @@ -0,0 +1,20 @@ +[[!comment format=mdwn + username="spwhitton" + avatar="http://cdn.libravatar.org/avatar/9c3f08f80e67733fd506c353239569eb" + subject="comment 4" + date="2017-02-03T04:07:58Z" + content=""" +> Yes please add a new type alias for String (or an ADT) if Package is not appropriate. + +Propellor won't be parsing any of the regexp or globs, so I've added a new type alias rather than an ADT. + +> Nice surprise that tightenTargets works on RevertableProperty at all. Since it does, you should be able to tighten one side, revert, tighten the other side, and re-revert. Or, deconstruct the RevertableProperty, tighten both sides individually, and reconstruct it. + +I don't understand what you're getting at with the first of these suggestions. + +In any case, now that I'm not using `File.containsBlock`, it's easy to just apply `tightenTargets` to each side. + +> I've added a Propellor.Property.File.configFileName that should be suitable for your purposes, and others.. + +Very nice :) I've updated my branch to use this. I haven't removed `File.containsBlock`, since it might be useful in the future, but you could of course revert the relevant commit. +"""]] -- cgit v1.3-2-g0d8e From edf949ccfd577605f960e2cf5a2b46f5b49bbc0f Mon Sep 17 00:00:00 2001 From: wzhd Date: Fri, 3 Feb 2017 15:41:08 +0000 Subject: Arch Linux Port --- doc/todo/Arch_Linux_Port.mdwn | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 doc/todo/Arch_Linux_Port.mdwn (limited to 'doc/todo') diff --git a/doc/todo/Arch_Linux_Port.mdwn b/doc/todo/Arch_Linux_Port.mdwn new file mode 100644 index 00000000..a899dbb3 --- /dev/null +++ b/doc/todo/Arch_Linux_Port.mdwn @@ -0,0 +1,14 @@ +Hi all, I'm an Arch Linux user and I've been learning Haskell and working on an Arch Liux Port in the last several months. Here's my [GitHub fork](https://github.com/wzhd/propellor/tree/archlinux), and the branch is called archlinux. + +Currently, I've added types, modified Bootstrap.hs, and added a Property for the package manager Pacman. I've been using it for a while and it seems to be working. + +I've made some addtional minor changes to make propellor compile without errors: + +- User.nuked now has type Property Linux +- OS.cleanInstallOnce now has type Property DebianLike, because one of its dependencies, User.shadowConfig only supports DebianLike +- tightenTargets is added to Reboot.toDistroKernel to get the expeted type +- pattern for Arch Linux is added to Debootstrap.extractSuite to silence warning "non-exhaustive pattern match" +- several properties in Parted and Partition are converted to Property Linux +- Rsync.installed and Docker.installed now supports Pacman as well + +Hope you enjoy it! -- cgit v1.3-2-g0d8e From 80431fe0439ec404878d0a236f277d8d9b684329 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 3 Feb 2017 15:28:28 -0400 Subject: review --- ...ent_1_8e39dc177e21e9e20c1b74b59b9926d2._comment | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 doc/todo/Arch_Linux_Port/comment_1_8e39dc177e21e9e20c1b74b59b9926d2._comment (limited to 'doc/todo') diff --git a/doc/todo/Arch_Linux_Port/comment_1_8e39dc177e21e9e20c1b74b59b9926d2._comment b/doc/todo/Arch_Linux_Port/comment_1_8e39dc177e21e9e20c1b74b59b9926d2._comment new file mode 100644 index 00000000..11869a2a --- /dev/null +++ b/doc/todo/Arch_Linux_Port/comment_1_8e39dc177e21e9e20c1b74b59b9926d2._comment @@ -0,0 +1,28 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2017-02-03T19:14:41Z" + content=""" +Wow, nice work! + +Seems that Propellor.Property.Partition.formatted' is still a DebianLike +property really, since it only supports using apt to install the mkfs +programs. It will fail at runtime on Arch. So, I think best to keep it +DebianLike until that's dealt with -- and then the type will be +`DebianLike + ArchLinux` rather than `LinuxLike` + +Same for Propellor.Property.Partition.kpartx. + +Several properties that were changed from DebianLike to Linux really +only support DebianLike and ArchLinux, not all linux distros, so their +types ought to be `DebianLike + ArchLinux`. This includes Docker.installed, +Parted.installed, Rsync.installed. + +A nicer way to inplement those multi-distro `installed` properties is like +this: + + installed :: Property (Debian + ArchLinux) + installed = Apt.installed ["foo"] `pickOS` Pacman.installed ["foo"] + +Make those changes and I will merge it. +"""]] -- cgit v1.3-2-g0d8e From 34e3477ccc051b3a291331da7f2c5d1d2962a506 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 3 Feb 2017 15:31:08 -0400 Subject: Added Apt.suiteAvailablePinned, Apt.pinnedTo. Thanks, Sean Whitton. * Added Apt.suiteAvailablePinned, Apt.pinnedTo. Thanks, Sean Whitton. * Added File.containsBlock Thanks, Sean Whitton. --- debian/changelog | 4 ++++ doc/todo/new_apt_pinning_properties.mdwn | 2 ++ 2 files changed, 6 insertions(+) (limited to 'doc/todo') diff --git a/debian/changelog b/debian/changelog index 30af1b88..81360402 100644 --- a/debian/changelog +++ b/debian/changelog @@ -12,6 +12,10 @@ propellor (3.2.4) UNRELEASED; urgency=medium Thanks, Andrew Cowie. * Added Propellor.Property.File.configFileName and related functions to generate good filenames for config directories. + * Added Apt.suiteAvailablePinned, Apt.pinnedTo. + Thanks, Sean Whitton. + * Added File.containsBlock + Thanks, Sean Whitton. -- Joey Hess Sat, 24 Dec 2016 15:06:36 -0400 diff --git a/doc/todo/new_apt_pinning_properties.mdwn b/doc/todo/new_apt_pinning_properties.mdwn index d32bcbb2..8687b58a 100644 --- a/doc/todo/new_apt_pinning_properties.mdwn +++ b/doc/todo/new_apt_pinning_properties.mdwn @@ -6,3 +6,5 @@ My branch `pin` of repo `https://git.spwhitton.name/propellor` adds - a haddock for `File.containsLines` There is one TODO in a comment that relates to propellor's algebraic data types. I'd be grateful for help with that. --spwhitton + +> merged, thanks. [[done]] --[[Joey]] -- cgit v1.3-2-g0d8e From 59626c761d2303c13553a0e6b425863c9985436e Mon Sep 17 00:00:00 2001 From: wzhd Date: Sat, 4 Feb 2017 01:53:49 +0000 Subject: Added a comment --- ...comment_2_cc4623c156a0d12c88461bc5deec07cd._comment | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 doc/todo/Arch_Linux_Port/comment_2_cc4623c156a0d12c88461bc5deec07cd._comment (limited to 'doc/todo') diff --git a/doc/todo/Arch_Linux_Port/comment_2_cc4623c156a0d12c88461bc5deec07cd._comment b/doc/todo/Arch_Linux_Port/comment_2_cc4623c156a0d12c88461bc5deec07cd._comment new file mode 100644 index 00000000..dc6e3eb1 --- /dev/null +++ b/doc/todo/Arch_Linux_Port/comment_2_cc4623c156a0d12c88461bc5deec07cd._comment @@ -0,0 +1,18 @@ +[[!comment format=mdwn + username="wzhd" + avatar="http://cdn.libravatar.org/avatar/d5a499b7c476ca9960cc8dccdf455bae" + subject="comment 2" + date="2017-02-04T01:53:49Z" + content=""" +Thanks! + + +I didn't find the right way to do it; `pickOS` is so much easier than `withOS` ! + + +`Propellor.Property.Partition` was modified to get rid of some compiling errors in DiskImage and didn't support anything new. So I removed the changes. + + +Instead, I changed some properties in DiskImage from Linux to DebianLike. Is it the correct way to do it? + +"""]] -- cgit v1.3-2-g0d8e From 5ff45a37b1ffde8fe9150815d81236354c89e20b Mon Sep 17 00:00:00 2001 From: spwhitton Date: Sat, 4 Feb 2017 18:53:27 +0000 Subject: submit merge request --- ...o_pin_a_package_to_multiple_suites_with_different_priorities.mdwn | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 doc/todo/modify_Apt.pinnedTo_to_pin_a_package_to_multiple_suites_with_different_priorities.mdwn (limited to 'doc/todo') diff --git a/doc/todo/modify_Apt.pinnedTo_to_pin_a_package_to_multiple_suites_with_different_priorities.mdwn b/doc/todo/modify_Apt.pinnedTo_to_pin_a_package_to_multiple_suites_with_different_priorities.mdwn new file mode 100644 index 00000000..047324ce --- /dev/null +++ b/doc/todo/modify_Apt.pinnedTo_to_pin_a_package_to_multiple_suites_with_different_priorities.mdwn @@ -0,0 +1,5 @@ +Please consider merging the `pin` branch of `https://git.spwhitton.name/propellor` (again). + +I've modified `Apt.pinnedTo` so that it can pin an `AptPrefPackage` to multiple suites with different pin priorities. I've included a sample use-case in the function's haddock. + +--spwhitton -- cgit v1.3-2-g0d8e From 2f50e5f3d1a556b8445fdcb7ac239f85cfe43f6c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 4 Feb 2017 17:18:26 -0400 Subject: Arch Linux is now supported by Propellor! Thanks to Zihao Wang for this port. * Arch Linux is now supported by Propellor! Thanks to Zihao Wang for this port. * Added Propellor.Property.Pacman for Arch's package manager. Maintained by Zihao Wang. * The types of some properties changed; eg from Property DebianLike to Property (DebianLike + ArchLinux). This could require updates to code using those properties, so is a minor API change. --- debian/changelog | 11 ++++++++-- doc/todo/Arch_Linux_Port.mdwn | 2 ++ ...ent_3_d917de766dfe7fded7317d7614d1467f._comment | 25 ++++++++++++++++++++++ propellor.cabal | 3 ++- 4 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 doc/todo/Arch_Linux_Port/comment_3_d917de766dfe7fded7317d7614d1467f._comment (limited to 'doc/todo') diff --git a/debian/changelog b/debian/changelog index 81360402..3a12ca70 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,12 @@ -propellor (3.2.4) UNRELEASED; urgency=medium - +propellor (3.3.0) UNRELEASED; urgency=medium + + * Arch Linux is now supported by Propellor! + Thanks to Zihao Wang for this port. + * Added Propellor.Property.Pacman for Arch's package manager. + Maintained by Zihao Wang. + * The types of some properties changed; eg from Property DebianLike + to Property (DebianLike + ArchLinux). This could require updates + to code using those properties, so is a minor API change. * GHC's fileSystemEncoding is used for all String IO, to avoid encoding-related crashes in eg, Propellor.Property.File. * Add --build option to simply build config.hs. diff --git a/doc/todo/Arch_Linux_Port.mdwn b/doc/todo/Arch_Linux_Port.mdwn index a899dbb3..ac3ee4dc 100644 --- a/doc/todo/Arch_Linux_Port.mdwn +++ b/doc/todo/Arch_Linux_Port.mdwn @@ -12,3 +12,5 @@ I've made some addtional minor changes to make propellor compile without errors: - Rsync.installed and Docker.installed now supports Pacman as well Hope you enjoy it! + +> [[merged|done]]; it was indeed enjoyable. thank you! --[[Joey]] diff --git a/doc/todo/Arch_Linux_Port/comment_3_d917de766dfe7fded7317d7614d1467f._comment b/doc/todo/Arch_Linux_Port/comment_3_d917de766dfe7fded7317d7614d1467f._comment new file mode 100644 index 00000000..27ef8078 --- /dev/null +++ b/doc/todo/Arch_Linux_Port/comment_3_d917de766dfe7fded7317d7614d1467f._comment @@ -0,0 +1,25 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 3""" + date="2017-02-04T20:55:02Z" + content=""" +> Instead, I changed some properties in DiskImage from Linux to +> DebianLike. Is it the correct way to do it? + +Looking at it, kpartx is DebianLike-specific, so imageBuiltFrom which uses it +should be too. The only reason it wasn't marked as DebianLike already and +was type Linux is because Linux used to be the same as DebianLike and so +the type checker didn't see a difference. No longer, thanks to your patch. + +So, it makes complete sense that you have to change this. You're paying +the price of blazing the trail of the first non-DebianLike Linux distro in +Propellor.. + +--- + +Looks like your [[!commit 25f6871e1dda3de252fbc6c8ac6962eb0cd9311a]] +dealt with all my review suggestions. And so, I've merged it. + +Unless you have anything else that needs to be done, I'll release +propellor soon with the added Arch Linux support. Thank you very much! +"""]] diff --git a/propellor.cabal b/propellor.cabal index 1b5c46d6..a33b9824 100644 --- a/propellor.cabal +++ b/propellor.cabal @@ -1,5 +1,5 @@ Name: propellor -Version: 3.2.3 +Version: 3.3.0 Cabal-Version: >= 1.8 License: BSD2 Maintainer: Joey Hess @@ -128,6 +128,7 @@ Library Propellor.Property.Obnam Propellor.Property.OpenId Propellor.Property.OS + Propellor.Property.Pacman Propellor.Property.Parted Propellor.Property.Partition Propellor.Property.Postfix -- cgit v1.3-2-g0d8e From 56a6d545fa789d34cda9a4297272a7723702bc6d Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 4 Feb 2017 17:34:24 -0400 Subject: close --- ...o_to_pin_a_package_to_multiple_suites_with_different_priorities.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/modify_Apt.pinnedTo_to_pin_a_package_to_multiple_suites_with_different_priorities.mdwn b/doc/todo/modify_Apt.pinnedTo_to_pin_a_package_to_multiple_suites_with_different_priorities.mdwn index 047324ce..02be4ad7 100644 --- a/doc/todo/modify_Apt.pinnedTo_to_pin_a_package_to_multiple_suites_with_different_priorities.mdwn +++ b/doc/todo/modify_Apt.pinnedTo_to_pin_a_package_to_multiple_suites_with_different_priorities.mdwn @@ -3,3 +3,5 @@ Please consider merging the `pin` branch of `https://git.spwhitton.name/propello I've modified `Apt.pinnedTo` so that it can pin an `AptPrefPackage` to multiple suites with different pin priorities. I've included a sample use-case in the function's haddock. --spwhitton + +> merged, [[done]] --[[Joey]] -- cgit v1.3-2-g0d8e From 5bacfe57915631be8b1ca5452bbfde1a6d073e57 Mon Sep 17 00:00:00 2001 From: wzhd Date: Sun, 5 Feb 2017 00:59:18 +0000 Subject: Added a comment --- .../comment_4_924c73c0ab6fb39c9b25ae51facf6bb6._comment | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/todo/Arch_Linux_Port/comment_4_924c73c0ab6fb39c9b25ae51facf6bb6._comment (limited to 'doc/todo') diff --git a/doc/todo/Arch_Linux_Port/comment_4_924c73c0ab6fb39c9b25ae51facf6bb6._comment b/doc/todo/Arch_Linux_Port/comment_4_924c73c0ab6fb39c9b25ae51facf6bb6._comment new file mode 100644 index 00000000..f69e2c80 --- /dev/null +++ b/doc/todo/Arch_Linux_Port/comment_4_924c73c0ab6fb39c9b25ae51facf6bb6._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="wzhd" + avatar="http://cdn.libravatar.org/avatar/d5a499b7c476ca9960cc8dccdf455bae" + subject="comment 4" + date="2017-02-05T00:59:18Z" + content=""" +That's great! Thank you so much! +"""]] -- cgit v1.3-2-g0d8e From da400e7af20bf418c13de4456822303d91af83a3 Mon Sep 17 00:00:00 2001 From: "https://me.yahoo.com/a/8E0H4z8LxusTHab4gc2Y8vCD_ObsJE6JVG2Co64SEnICbAtrisRuZjznurYBvSKkr8V5ALg-#075db" Date: Mon, 13 Feb 2017 15:49:21 +0000 Subject: removed --- ...ent_3_d917de766dfe7fded7317d7614d1467f._comment | 25 ---------------------- 1 file changed, 25 deletions(-) delete mode 100644 doc/todo/Arch_Linux_Port/comment_3_d917de766dfe7fded7317d7614d1467f._comment (limited to 'doc/todo') diff --git a/doc/todo/Arch_Linux_Port/comment_3_d917de766dfe7fded7317d7614d1467f._comment b/doc/todo/Arch_Linux_Port/comment_3_d917de766dfe7fded7317d7614d1467f._comment deleted file mode 100644 index 27ef8078..00000000 --- a/doc/todo/Arch_Linux_Port/comment_3_d917de766dfe7fded7317d7614d1467f._comment +++ /dev/null @@ -1,25 +0,0 @@ -[[!comment format=mdwn - username="joey" - subject="""comment 3""" - date="2017-02-04T20:55:02Z" - content=""" -> Instead, I changed some properties in DiskImage from Linux to -> DebianLike. Is it the correct way to do it? - -Looking at it, kpartx is DebianLike-specific, so imageBuiltFrom which uses it -should be too. The only reason it wasn't marked as DebianLike already and -was type Linux is because Linux used to be the same as DebianLike and so -the type checker didn't see a difference. No longer, thanks to your patch. - -So, it makes complete sense that you have to change this. You're paying -the price of blazing the trail of the first non-DebianLike Linux distro in -Propellor.. - ---- - -Looks like your [[!commit 25f6871e1dda3de252fbc6c8ac6962eb0cd9311a]] -dealt with all my review suggestions. And so, I've merged it. - -Unless you have anything else that needs to be done, I'll release -propellor soon with the added Arch Linux support. Thank you very much! -"""]] -- cgit v1.3-2-g0d8e From b29bab35747e6345a4818e5a77c53d029562e3c3 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 13 Feb 2017 12:29:50 -0400 Subject: Revert "removed" This reverts commit da400e7af20bf418c13de4456822303d91af83a3. No idea why this comment was removed. Going to assume it was an accident unless it happens again.. --- ...ent_3_d917de766dfe7fded7317d7614d1467f._comment | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 doc/todo/Arch_Linux_Port/comment_3_d917de766dfe7fded7317d7614d1467f._comment (limited to 'doc/todo') diff --git a/doc/todo/Arch_Linux_Port/comment_3_d917de766dfe7fded7317d7614d1467f._comment b/doc/todo/Arch_Linux_Port/comment_3_d917de766dfe7fded7317d7614d1467f._comment new file mode 100644 index 00000000..27ef8078 --- /dev/null +++ b/doc/todo/Arch_Linux_Port/comment_3_d917de766dfe7fded7317d7614d1467f._comment @@ -0,0 +1,25 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 3""" + date="2017-02-04T20:55:02Z" + content=""" +> Instead, I changed some properties in DiskImage from Linux to +> DebianLike. Is it the correct way to do it? + +Looking at it, kpartx is DebianLike-specific, so imageBuiltFrom which uses it +should be too. The only reason it wasn't marked as DebianLike already and +was type Linux is because Linux used to be the same as DebianLike and so +the type checker didn't see a difference. No longer, thanks to your patch. + +So, it makes complete sense that you have to change this. You're paying +the price of blazing the trail of the first non-DebianLike Linux distro in +Propellor.. + +--- + +Looks like your [[!commit 25f6871e1dda3de252fbc6c8ac6962eb0cd9311a]] +dealt with all my review suggestions. And so, I've merged it. + +Unless you have anything else that needs to be done, I'll release +propellor soon with the added Arch Linux support. Thank you very much! +"""]] -- cgit v1.3-2-g0d8e