diff --git a/backend/src/setup.rs b/backend/src/setup.rs index 64a670a8d..6d9829d50 100644 --- a/backend/src/setup.rs +++ b/backend/src/setup.rs @@ -440,22 +440,24 @@ async fn migrate( old_guid: &str, embassy_password: String, ) -> Result<(Arc, 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)) } diff --git a/backend/src/update/mod.rs b/backend/src/update/mod.rs index 2634cedb6..5cc3f88d3 100644 --- a/backend/src/update/mod.rs +++ b/backend/src/update/mod.rs @@ -81,7 +81,7 @@ async fn maybe_do_update( marketplace_url: Url, ) -> Result>, 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(), diff --git a/build/lib/scripts/postinst b/build/lib/scripts/postinst index aaca2d0f2..b81e72a57 100755 --- a/build/lib/scripts/postinst +++ b/build/lib/scripts/postinst @@ -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/*