summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess2017-12-03 14:23:22 -0400
committerJoey Hess2017-12-03 14:23:22 -0400
commitd6cbcbecdf58910002744deb9cf31cd14af06ead (patch)
treec194e6151a1f78663de9946b4b6a3ec8e32e738d
parentbf492dc0c78c6d2405ed592fbf20004a3a2c92a5 (diff)
parent2476617d9c0c90fc017bedadd4993ad46d2c3ae6 (diff)
Merge branch 'joeyconfig'
l---------config.hs2
-rw-r--r--debian/changelog6
-rw-r--r--doc/todo/privdata_propigation_into_diskimages.mdwn6
-rw-r--r--joeyconfig.hs6
-rw-r--r--privdata/relocate1
-rw-r--r--src/Propellor/Property/Bootstrap.hs14
6 files changed, 27 insertions, 8 deletions
diff --git a/config.hs b/config.hs
index ec313725..97d90636 120000
--- a/config.hs
+++ b/config.hs
@@ -1 +1 @@
-config-simple.hs \ No newline at end of file
+joeyconfig.hs \ No newline at end of file
diff --git a/debian/changelog b/debian/changelog
index ef3e66ac..b738f874 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+propellor (5.1.1) UNRELEASED; urgency=medium
+
+ * bootstrappedFrom: Set up local privdata file.
+
+ -- Joey Hess <id@joeyh.name> Wed, 29 Nov 2017 11:45:08 -0400
+
propellor (5.1.0) unstable; urgency=medium
[ Sean Whitton ]
diff --git a/doc/todo/privdata_propigation_into_diskimages.mdwn b/doc/todo/privdata_propigation_into_diskimages.mdwn
new file mode 100644
index 00000000..80a42d23
--- /dev/null
+++ b/doc/todo/privdata_propigation_into_diskimages.mdwn
@@ -0,0 +1,6 @@
+When building a disk image with propellor bootstrapped in it, the decrypted
+privdata file is not written, so propellor can't be run on the booted
+system without first doing a propellor --spin from the dev laptop. Not a
+big problem but worth fixing some time. --[[Joey]]
+
+> [[fixed|done]] --[[Joey]]
diff --git a/joeyconfig.hs b/joeyconfig.hs
index d39b7ed8..00c22ccc 100644
--- a/joeyconfig.hs
+++ b/joeyconfig.hs
@@ -183,12 +183,6 @@ honeybee = host "honeybee.kitenet.net" $ props
& cubietech_Cubietruck
& hasPartition
- ( partition EXT2
- `mountedAt` "/boot"
- `partLocation` Beginning
- `setSize` MegaBytes 200
- )
- & hasPartition
( partition EXT4
`mountedAt` "/"
`addFreeSpace` MegaBytes 500
diff --git a/privdata/relocate b/privdata/relocate
new file mode 100644
index 00000000..271692d8
--- /dev/null
+++ b/privdata/relocate
@@ -0,0 +1 @@
+.joeyconfig
diff --git a/src/Propellor/Property/Bootstrap.hs b/src/Propellor/Property/Bootstrap.hs
index f0759dae..25a6af33 100644
--- a/src/Propellor/Property/Bootstrap.hs
+++ b/src/Propellor/Property/Bootstrap.hs
@@ -14,6 +14,8 @@ import Propellor.Base
import Propellor.Bootstrap
import Propellor.Types.Info
import Propellor.Property.Chroot
+import Propellor.PrivData.Paths
+import Utility.FileMode
import Data.List
import qualified Data.ByteString as B
@@ -63,8 +65,18 @@ bootstrappedFrom reposource = check inChroot $
go :: Property Linux
go = property "Propellor bootstrapped" $ do
system <- getOS
+ -- gets Host value representing the chroot this is run in
+ chroothost <- ask
+ -- load privdata from outside the chroot, and filter
+ -- to only the privdata needed inside the chroot.
+ privdata <- liftIO $ filterPrivData chroothost
+ <$> readPrivDataFile privDataLocal
bootstrapper <- getBootstrapper
- assumeChange $ exposeTrueLocaldir $ const $
+ assumeChange $ exposeTrueLocaldir $ const $ do
+ liftIO $ createDirectoryIfMissing True $
+ takeDirectory privDataLocal
+ liftIO $ writeFileProtected privDataLocal $
+ show privdata
runShellCommand $ buildShellCommand
[ "cd " ++ localdir
, checkDepsCommand bootstrapper system