summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cady <d@cryptonomic.net>2022-01-11 02:42:30 -0500
committerAndrew Cady <d@cryptonomic.net>2022-01-11 02:42:30 -0500
commit3bb23d7b56a6801ba9d7dfd29598ad0479e68efb (patch)
treeda597be455e60a8cbd5dfaf0f0d0aced53463873
parent102adb560cdeb584825f25d90522ea05ad8fc93d (diff)
parentdb4130d7344e5aba9cc984165f19a2d62650fd71 (diff)
Merge commit 'db4130d'
-rwxr-xr-xbtrfs-shrink1
-rw-r--r--fsmgr.hs7
-rw-r--r--src/ConfigFile.hs4
3 files changed, 11 insertions, 1 deletions
diff --git a/btrfs-shrink b/btrfs-shrink
index 12f0e8e..26c1365 100755
--- a/btrfs-shrink
+++ b/btrfs-shrink
@@ -61,6 +61,7 @@ main()
61 truncate= 61 truncate=
62 mountpoint="$1".mnt.tmp 62 mountpoint="$1".mnt.tmp
63 mkdir -p "$mountpoint" 63 mkdir -p "$mountpoint"
64 btrfs dev scan -u
64 mount -t btrfs "$1" "$mountpoint" 65 mount -t btrfs "$1" "$mountpoint"
65 result=$? 66 result=$?
66 67
diff --git a/fsmgr.hs b/fsmgr.hs
index dbde290..2ee7c7c 100644
--- a/fsmgr.hs
+++ b/fsmgr.hs
@@ -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
88convSeeded :: DiskImageConfig -> DiskImageConfig 90convSeeded :: DiskImageConfig -> DiskImageConfig
89convSeeded x@(DiskImageConfig (ParentImageConfigFile f) _ _ _ _ _ _ _ _ _ (Just size) _) = x { initialImage = SeededImage size f } 91convSeeded x@(DiskImageConfig (ParentImageConfigFile f) _ _ _ _ _ _ _ _ _ _ (Just size) _) = x { initialImage = SeededImage size f }
90convSeeded x = x 92convSeeded x = x
91 93
92readCfg :: FilePath -> Action DiskImageConfig 94readCfg :: FilePath -> Action DiskImageConfig