[[!comment format=mdwn username="bardur.arantsson" avatar="http://cdn.libravatar.org/avatar/a0be0039b44d33262b7ae650a0803ad5" subject="comment 3" date="2017-05-12T06:50:49Z" content=""" Ok, so I've tried to use this to build a Chroot (a reasonable starting point for building containers), using the following program: module Main ( main ) where import Propellor import Propellor.Engine import Propellor.Property.DiskImage import qualified Propellor.Property.Apt as Apt import qualified Propellor.Property.User as User import Propellor.Property.Chroot main :: IO () main = mainProperties $ host \"whatever\" $ props & provisioned (mychroot \"out\") where mychroot d = debootstrapped mempty d $ props & osDebian Unstable X86_64 & Apt.installed [\"linux-image-amd64\"] & User.hasPassword (User \"root\") & User.accountFor (User \"demo\") & User.hasPassword (User \"demo\") It seems that \"debootstrap\" finishes: I: Configuring apt-transport-https... I: Configuring tasksel... I: Configuring tasksel-data... I: Configuring libc-bin... I: Configuring systemd... I: Configuring ca-certificates... I: Base system installed successfully. But fails immediately afterwards: ldd: /usr/local/propellor/propellor: No such file or directory ** warning: user error (ldd [\"/usr/local/propellor/propellor\"] exited 1) whatever chroot out exists ... failed whatever overall ... failed (I should probably have used a different hostname than \"whatever\", but... whatever :).) So it seems that the chroot support still expects propellor to be installed on the host system? I should mention that I've done an extremely small patch to Propellor locally, just to the ChrootBootstrapper instance for ArchLinux to allow it to call debootstrap on Arch Linux -- it seems to exist as a package these days, not sure if it did when that Propellor code was written. Anyway... """]]