ashos icon indicating copy to clipboard operation
ashos copied to clipboard

Add Rust branch

Open ochibani opened this issue 3 years ago • 19 comments

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.

ochibani avatar Apr 08 '23 00:04 ochibani

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.

i2 avatar Apr 08 '23 01:04 i2

Good progress! I'll leave this PR open till it's in good shape and the three mentioned issues are resolved.

i2 avatar Apr 24 '23 20:04 i2

@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.

i2 avatar May 01 '23 11:05 i2

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!

i2 avatar May 06 '23 19:05 i2

For now, I am unable to catch up with changes, but don't worry, I will add them to the code.

ochibani avatar May 06 '23 22:05 ochibani

I'll begin working on the cli, while also investigating and updating the code.

ochibani avatar Jun 15 '23 15:06 ochibani

Nice progress so far!

i2 avatar Aug 23 '23 00:08 i2

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.

ochibani avatar Aug 24 '23 17:08 ochibani

@i2 I don't think mutab_dir does really work even in python code.

ochibani avatar Sep 18 '23 21:09 ochibani

@i2 Deploy the same snapshot will destroy the last booted deployment. Do you think we should make an extra tmp?

ochibani avatar Sep 20 '23 02:09 ochibani

@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 avatar Sep 20 '23 10:09 i2

@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"?

ochibani avatar Sep 22 '23 03:09 ochibani

@i2 We need to manage /var directory to make real factory reset.

ochibani avatar Nov 22 '23 15:11 ochibani

@i2 I will begin adding new features and may make some major changes.

ochibani avatar Dec 23 '23 04:12 ochibani

I will begin adding auto-completion support for bash, fish, and zsh.

ochibani avatar Feb 06 '24 01:02 ochibani

Add support for apt and dnf should be the last task here.

ochibani avatar Feb 08 '24 06:02 ochibani

@i2 I need help to make fn efi_boot_order() & fn rollback() work properly.

ochibani avatar Dec 03 '24 15:12 ochibani

@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 avatar Dec 04 '24 16:12 i2

@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.

ochibani avatar Dec 07 '24 16:12 ochibani