Fix/migrate (#1962)

* fix: Locale issue from importing from pi

* fix: Need to mount the migrate correctly

* fix: Build.

* chore: remove version hack
This commit is contained in:
J M
2022-11-23 13:18:27 -07:00
committed by Aiden McClelland
parent 0ecd920ad9
commit f12df8ded4
3 changed files with 19 additions and 18 deletions

View File

@@ -440,22 +440,24 @@ async fn migrate(
old_guid: &str,
embassy_password: String,
) -> Result<(Arc<String>, Hostname, OnionAddressV3, X509), Error> {
use crate::util::Invoke;
*ctx.setup_status.write().await = Some(Ok(SetupStatus {
bytes_transferred: 0,
total_bytes: 110,
complete: false,
}));
let _ = crate::disk::main::mount_fs(
let _ = crate::disk::main::import(
&old_guid,
"/media/embassy/migrate",
"main",
RepairStrategy::Preen,
DEFAULT_PASSWORD,
)
.await?;
let mut main_transfer = Rsync::new(
"/media/embassy/migrate/main",
"/embassy-data/main",
"/media/embassy/migrate/main/",
"/embassy-data/main/",
RsyncOptions {
delete: true,
force: true,
@@ -471,18 +473,10 @@ async fn migrate(
}));
}
main_transfer.wait().await?;
crate::disk::main::unmount_fs(&old_guid, "/media/embassy/migrate", "main").await?;
let _ = crate::disk::main::mount_fs(
&old_guid,
"/media/embassy/migrate",
"package-data",
RepairStrategy::Preen,
DEFAULT_PASSWORD,
)
.await?;
let mut package_data_transfer = Rsync::new(
"/media/embassy/migrate/package-data",
"/embassy-data/package-data",
"/media/embassy/migrate/package-data/",
"/embassy-data/package-data/",
RsyncOptions {
delete: true,
force: true,
@@ -498,9 +492,9 @@ async fn migrate(
}));
}
package_data_transfer.wait().await?;
crate::disk::main::unmount_fs(&old_guid, "/media/embassy/migrate", "package-data").await?;
let (hostname, tor_addr, root_ca) = setup_init(&ctx, Some(embassy_password)).await?;
crate::disk::main::export(&old_guid, "/media/embassy/migrate").await?;
Ok((guid, hostname, tor_addr, root_ca))
}

View File

@@ -81,7 +81,7 @@ async fn maybe_do_update(
marketplace_url: Url,
) -> Result<Option<Arc<Revision>>, Error> {
let mut db = ctx.db.handle();
let latest_version = reqwest::get(format!(
let latest_version: Version = reqwest::get(format!(
"{}/eos/v0/latest?eos-version={}&arch={}",
marketplace_url,
Current::new().semver(),

View File

@@ -90,6 +90,13 @@ rm -rf /var/lib/tor/*
echo "fs.inotify.max_user_watches=1048576" > /etc/sysctl.d/97-embassy.conf
# Old pi was set with this locale, because of pg we are now stuck with including that locale
locale-gen en_GB en_GB.UTF-8
echo "locales locales/locales_to_be_generated multiselect en_GB.UTF-8 UTF-8" | debconf-set-selections
update-locale LANGUAGE
rm "/etc/locale.gen"
dpkg-reconfigure --frontend noninteractive locales
rm -f /etc/motd
ln -sf /usr/lib/embassy/motd /etc/update-motd.d/00-embassy
chmod -x /etc/update-motd.d/*