REPBUILD: Fix
This commit is contained in:
parent
3c45720fa3
commit
0e8fb17f3a
984
Cargo.lock
generated
984
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -1,3 +1,3 @@
|
||||||
[workspace]
|
[workspace]
|
||||||
resolver = "2"
|
resolver = "2"
|
||||||
members = ["kernel"]
|
members = ["kernel", "repbuild"]
|
||||||
|
|
|
@ -5,7 +5,7 @@ edition = "2021"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
derive_more = "0.99"
|
derive_more = "0.99"
|
||||||
error-stack = "0.3"
|
error-stack = "0.4"
|
||||||
fatfs = "0.3"
|
fatfs = "0.3"
|
||||||
|
|
||||||
[dependencies.reqwest]
|
[dependencies.reqwest]
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
|
use error_stack::Report;
|
||||||
|
|
||||||
use {
|
use {
|
||||||
derive_more::Display,
|
derive_more::Display,
|
||||||
error_stack::{bail, report, Context, IntoReport, Result, ResultExt},
|
error_stack::{bail, report, Context, Result, ResultExt},
|
||||||
fatfs::{FileSystem, FormatVolumeOptions, FsOptions, ReadWriteSeek},
|
fatfs::{FileSystem, FormatVolumeOptions, FsOptions, ReadWriteSeek},
|
||||||
std::{fmt::Display, fs::File, io, path::Path, process::Command},
|
std::{fmt::Display, fs::File, io, path::Path, process::Command},
|
||||||
};
|
};
|
||||||
|
@ -86,14 +88,14 @@ fn get_fs() -> Result<FileSystem<impl ReadWriteSeek>, io::Error> {
|
||||||
|
|
||||||
io::copy(
|
io::copy(
|
||||||
&mut File::open("limine/BOOTX64.EFI")
|
&mut File::open("limine/BOOTX64.EFI")
|
||||||
.into_report()
|
.map_err(Report::from)
|
||||||
.attach_printable("copying Limine bootloader (have you pulled the submodule?)")?,
|
.attach_printable("copying Limine bootloader (have you pulled the submodule?)")?,
|
||||||
&mut bootdir.create_file("bootx64.efi")?,
|
&mut bootdir.create_file("bootx64.efi")?,
|
||||||
)?;
|
)?;
|
||||||
|
|
||||||
io::copy(
|
io::copy(
|
||||||
&mut File::open("limine/BOOTAA64.EFI")
|
&mut File::open("limine/BOOTAA64.EFI")
|
||||||
.into_report()
|
.map_err(Report::from)
|
||||||
.attach_printable(
|
.attach_printable(
|
||||||
"copying Limine bootloader arm version (have you pulled the submodule?)",
|
"copying Limine bootloader arm version (have you pulled the submodule?)",
|
||||||
)?,
|
)?,
|
||||||
|
@ -162,7 +164,7 @@ fn build(release: bool, target: Target) -> Result<(), Error> {
|
||||||
)
|
)
|
||||||
.map(|_| ())
|
.map(|_| ())
|
||||||
})()
|
})()
|
||||||
.into_report()
|
.map_err(Report::from)
|
||||||
.change_context(Error::Io)
|
.change_context(Error::Io)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -215,7 +217,7 @@ fn run(release: bool, target: Target) -> Result<(), Error> {
|
||||||
|
|
||||||
match com
|
match com
|
||||||
.status()
|
.status()
|
||||||
.into_report()
|
.map_err(Report::from)
|
||||||
.change_context(Error::ProcessSpawn)?
|
.change_context(Error::ProcessSpawn)?
|
||||||
{
|
{
|
||||||
s if s.success() => Ok(()),
|
s if s.success() => Ok(()),
|
||||||
|
@ -242,18 +244,18 @@ fn fetch_ovmf(target: Target) -> Result<String, OvmfFetchError> {
|
||||||
.write(true)
|
.write(true)
|
||||||
.read(true)
|
.read(true)
|
||||||
.open(ovmf_path)
|
.open(ovmf_path)
|
||||||
.into_report()
|
.map_err(Report::from)
|
||||||
.change_context(OvmfFetchError::Io)?,
|
.change_context(OvmfFetchError::Io)?,
|
||||||
Ok(_) => return Ok(ovmf_path.to_owned()),
|
Ok(_) => return Ok(ovmf_path.to_owned()),
|
||||||
Err(e) => return Err(report!(e).change_context(OvmfFetchError::Io)),
|
Err(e) => return Err(report!(e).change_context(OvmfFetchError::Io)),
|
||||||
};
|
};
|
||||||
let mut bytes = reqwest::blocking::get(ovmf_url)
|
let mut bytes = reqwest::blocking::get(ovmf_url)
|
||||||
.into_report()
|
.map_err(Report::from)
|
||||||
.change_context(OvmfFetchError::Fetch)?;
|
.change_context(OvmfFetchError::Fetch)?;
|
||||||
|
|
||||||
bytes
|
bytes
|
||||||
.copy_to(&mut file)
|
.copy_to(&mut file)
|
||||||
.into_report()
|
.map_err(Report::from)
|
||||||
.change_context(OvmfFetchError::Io)?;
|
.change_context(OvmfFetchError::Io)?;
|
||||||
|
|
||||||
Ok(ovmf_path.to_owned())
|
Ok(ovmf_path.to_owned())
|
||||||
|
|
Loading…
Reference in a new issue