diff options
-rw-r--r-- | fsmgr.hs | 7 | ||||
-rw-r--r-- | src/ConfigFile.hs | 4 |
2 files changed, 10 insertions, 1 deletions
@@ -175,6 +175,13 @@ buildRoot config@DiskImageConfig{..} finalOut = do | |||
175 | in do | 175 | in do |
176 | forM_ (unpack <$> binaries) go | 176 | forM_ (unpack <$> binaries) go |
177 | forM_ (unpack <$> optionalBinaries) $ ignoreErrors . go | 177 | forM_ (unpack <$> optionalBinaries) $ ignoreErrors . go |
178 | {- 3.2 data files -} | ||
179 | let go b = do | ||
180 | need [b] | ||
181 | target <- absPath mountpoint | ||
182 | putQuiet $ show (target, b) | ||
183 | cmd_ "cp -L" [b] [target ++ b] | ||
184 | in forM_ (unpack <$> dataFiles) go | ||
178 | {- 3.5 skel -} | 185 | {- 3.5 skel -} |
179 | let go f = when (not $ null f) $ do | 186 | let go f = when (not $ null f) $ do |
180 | homeDir <- getHomeDir | 187 | homeDir <- getHomeDir |
diff --git a/src/ConfigFile.hs b/src/ConfigFile.hs index d7fe60d..7ba2439 100644 --- a/src/ConfigFile.hs +++ b/src/ConfigFile.hs | |||
@@ -59,6 +59,7 @@ data DiskImageConfig = DiskImageConfig { | |||
59 | , unitFiles :: Vector Text | 59 | , unitFiles :: Vector Text |
60 | , binaries :: Vector Text | 60 | , binaries :: Vector Text |
61 | , optionalBinaries :: Vector Text | 61 | , optionalBinaries :: Vector Text |
62 | , dataFiles :: Vector Text | ||
62 | , chrootCommands :: Vector Text | 63 | , chrootCommands :: Vector Text |
63 | , skelFiles :: Vector Text | 64 | , skelFiles :: Vector Text |
64 | , optionalSkelFiles :: Vector Text | 65 | , optionalSkelFiles :: Vector Text |
@@ -79,6 +80,7 @@ diskImageConfigParser = object $ | |||
79 | <*> defaultField "unit-files" Vector.empty (array string) | 80 | <*> defaultField "unit-files" Vector.empty (array string) |
80 | <*> defaultField "binaries" Vector.empty (array string) | 81 | <*> defaultField "binaries" Vector.empty (array string) |
81 | <*> defaultField "binaries-optional" Vector.empty (array string) | 82 | <*> defaultField "binaries-optional" Vector.empty (array string) |
83 | <*> defaultField "files" Vector.empty (array string) | ||
82 | <*> defaultField "chroot-commands" Vector.empty (array string) | 84 | <*> defaultField "chroot-commands" Vector.empty (array string) |
83 | <*> defaultField "skel-files" Vector.empty (array string) | 85 | <*> defaultField "skel-files" Vector.empty (array string) |
84 | <*> defaultField "skel-files-optional" Vector.empty (array string) | 86 | <*> defaultField "skel-files-optional" Vector.empty (array string) |
@@ -86,7 +88,7 @@ diskImageConfigParser = object $ | |||
86 | <*> defaultField "apt-update" False bool | 88 | <*> defaultField "apt-update" False bool |
87 | 89 | ||
88 | convSeeded :: DiskImageConfig -> DiskImageConfig | 90 | convSeeded :: DiskImageConfig -> DiskImageConfig |
89 | convSeeded x@(DiskImageConfig (ParentImageConfigFile f) _ _ _ _ _ _ _ _ _ (Just size) _) = x { initialImage = SeededImage size f } | 91 | convSeeded x@(DiskImageConfig (ParentImageConfigFile f) _ _ _ _ _ _ _ _ _ _ (Just size) _) = x { initialImage = SeededImage size f } |
90 | convSeeded x = x | 92 | convSeeded x = x |
91 | 93 | ||
92 | readCfg :: FilePath -> Action DiskImageConfig | 94 | readCfg :: FilePath -> Action DiskImageConfig |