Add Rust branch
This is a rust code that is still being tested. The goal is to follow the same approach that the Python code was written in order to have working rust code, and then to improve it. I think the code can be improved in the future, like using libbtrfsutil, dropping python-anytree, and using the command line less. The benefit from this is having a single executable binary file that can be easily packaged.
Thanks for the PR. I will do it. In fact, I was about to announce this. Removing anytree and making ash more solid, cross-platform has been high on my priority list for the project.
Good progress! I'll leave this PR open till it's in good shape and the three mentioned issues are resolved.
@ochibani There would be some updates in the next few days. I would say, keep a close eye on the python code changes and reflect them on Rust as they come. Thanks!
Also, I'd recommend joining private #dev channel on Discord. We also have Matrix.
If you look at the new code submissions recently, you might realize I'm slowly relaxing the strict POSIX requirement and implementing functions etc. pythonically. (again python might not be target language and it's just what's used right now) I highly recommend following the same thing as much as you can so merge could be easy in future. As much as you can avoid shell.
Good work!
For now, I am unable to catch up with changes, but don't worry, I will add them to the code.
I'll begin working on the cli, while also investigating and updating the code.
Nice progress so far!
Nice progress so far!
All commands were ported with a few tweaks, but there are still a few issues that need to be addressed. You are welcome to try the code on Arch.
@i2 I don't think mutab_dir does really work even in python code.
@i2 Deploy the same snapshot will destroy the last booted deployment. Do you think we should make an extra tmp?
@i2 Deploy the same snapshot will destroy the last booted deployment. Do you think we should make an extra tmp?
I'll test this in a bit. Thanks!
@i2 Deploy the same snapshot will destroy the last booted deployment. Do you think we should make an extra tmp?
I'll test this in a bit. Thanks!
There is no point in utilizing the same snapshot for recovery, as it will be destroyed in both cases. And I think we should pin the base snapshot to the Grub menu for recovery. Last thing, I want to ask why for boot_location contain "/.snapshots/rootfs/snapshot-deploy-aux/boot"?
@i2 We need to manage /var directory to make real factory reset.
@i2 I will begin adding new features and may make some major changes.
I will begin adding auto-completion support for bash, fish, and zsh.
Add support for apt and dnf should be the last task here.
@i2 I need help to make fn efi_boot_order() & fn rollback() work properly.
@i2 I need help to make fn efi_boot_order() & fn rollback() work properly.
What would you need help with? (I can take a look this Saturday/Sunday)
@i2 I need help to make fn efi_boot_order() & fn rollback() work properly.
What would you need help with? (I can take a look this Saturday/Sunday)
My device does not support secure boot, so I don't know efi_boot_order() is going to work.