@@ -372,6 +372,14 @@ pub(crate) struct InstallToFilesystemOpts {
372
372
373
373
#[ clap( flatten) ]
374
374
pub ( crate ) config_opts : InstallConfigOpts ,
375
+
376
+ #[ clap( long) ]
377
+ #[ cfg( feature = "composefs-backend" ) ]
378
+ pub ( crate ) composefs_native : bool ,
379
+
380
+ #[ cfg( feature = "composefs-backend" ) ]
381
+ #[ clap( flatten) ]
382
+ pub ( crate ) compoesfs_opts : InstallComposefsOpts ,
375
383
}
376
384
377
385
#[ derive( Debug , Clone , clap:: Parser , PartialEq , Eq ) ]
@@ -1861,7 +1869,17 @@ pub(crate) async fn install_to_filesystem(
1861
1869
// IMPORTANT: and hence anything that is done before MUST BE IDEMPOTENT.
1862
1870
// IMPORTANT: In practice, we should only be gathering information before this point,
1863
1871
// IMPORTANT: and not performing any mutations at all.
1864
- let state = prepare_install ( opts. config_opts , opts. source_opts , opts. target_opts , None ) . await ?;
1872
+ let state = prepare_install (
1873
+ opts. config_opts ,
1874
+ opts. source_opts ,
1875
+ opts. target_opts ,
1876
+ #[ cfg( feature = "composefs-backend" ) ]
1877
+ opts. composefs_native . then_some ( opts. compoesfs_opts ) ,
1878
+ #[ cfg( not( feature = "composefs-backend" ) ) ]
1879
+ None ,
1880
+ )
1881
+ . await ?;
1882
+
1865
1883
// And the last bit of state here is the fsopts, which we also destructure now.
1866
1884
let mut fsopts = opts. filesystem_opts ;
1867
1885
@@ -2129,6 +2147,14 @@ pub(crate) async fn install_to_existing_root(opts: InstallToExistingRootOpts) ->
2129
2147
source_opts : opts. source_opts ,
2130
2148
target_opts : opts. target_opts ,
2131
2149
config_opts : opts. config_opts ,
2150
+ #[ cfg( feature = "composefs-backend" ) ]
2151
+ composefs_native : false ,
2152
+ #[ cfg( feature = "composefs-backend" ) ]
2153
+ compoesfs_opts : InstallComposefsOpts {
2154
+ insecure : false ,
2155
+ bootloader : Bootloader :: Grub ,
2156
+ uki_addon : None ,
2157
+ } ,
2132
2158
} ;
2133
2159
2134
2160
install_to_filesystem ( opts, true , cleanup) . await
0 commit comments