pop-os / distinst

Installer Backend
GNU Lesser General Public License v3.0
221 stars 43 forks source link

Update dependencies and refactor mount operations #329

Open korewaChino opened 7 months ago

korewaChino commented 7 months ago

This pull request updates the dependencies of the project and refactors the mount operations using the new Mount builder API from sys-mount. It also includes the update the sys-mount crate to version 3.0.1, which fixes the issue with the abandoned loopdev create.

Additionally, the Cargo.lock file is updated and the toolchain version is changed to 1.70 to accommodate the new versions of the home crate and regex.

Fixes #318

jacobgkau commented 7 months ago

@mmstick So we know what to do for testing this, does the Pop!_OS installer use this repo at all anymore, or does it only use https://github.com/pop-os/distinst-v2 now? If it no longer uses this, I guess we'd just check that the CLI still works?

korewaChino commented 7 months ago

@mmstick So we know what to do for testing this, does the Pop!_OS installer use this repo at all anymore, or does it only use https://github.com/pop-os/distinst-v2 now? If it no longer uses this, I guess we'd just check that the CLI still works?

there's literally only one crate in distinst v2.

I don't think it's finished at all.

jacobgkau commented 7 months ago

I don't think it's finished at all.

distinst-v2 is certainly being consumed by the Pop!_OS installer GUI. At the very least, its Debian package is a dependency of the installer: https://github.com/pop-os/installer/blob/f4d851490beac08ba8b6b371332a7e2de007e259/debian/control#L24

The v2 dbus service was integrated into the GUI installer back in 2021: https://github.com/pop-os/installer/pull/237

It's quite possible the installer still relies on v1 in addition to v2 (looks like that's probably the case, or at least was at the time of that PR), which is why I wanted to check with Michael, who would know for sure.

mmstick commented 7 months ago

The distinst daemon was only partially completed. It was to be a gradual rewrite of the library as a service. Currently, it is only used for detecting refreshable operating systems. So the bulk of the installation is still carried out by the original distinst library.