diff options
Diffstat (limited to 'doc')
6 files changed, 87 insertions, 0 deletions
diff --git a/doc/forum/Inherited_Variables.../comment_5_6fbd29f568ec8b97be47874e2aac57a3._comment b/doc/forum/Inherited_Variables.../comment_5_6fbd29f568ec8b97be47874e2aac57a3._comment new file mode 100644 index 00000000..16819bd6 --- /dev/null +++ b/doc/forum/Inherited_Variables.../comment_5_6fbd29f568ec8b97be47874e2aac57a3._comment @@ -0,0 +1,20 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 5""" + date="2017-02-03T19:32:58Z" + content=""" +What you're looking for is not a regexp, but Haskell's [pattern +matching](https://www.haskell.org/tutorial/patterns.html). + +For example: + + myproperty :: Property Debian + myproperty = withOS "some desc here" $ \w o -> case o of + -- Pattern match on the OS, to get the Debian stable release + (Just (System (Debian _kernel (Stable release)) _arch)) -> + ensureProperty w $ Apt.setSourcesListD (sourcesLines release) "mysources" + _ -> unsupportedOS + + sourcesLines :: Release -> [Line] + sourcesLines release = undefined +"""]] 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! 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. +"""]] 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? + +"""]] 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 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]] |
