hwittenborn / celeste

GUI file synchronization client that can sync with any cloud provider
GNU General Public License v3.0
1.13k stars 38 forks source link

Can't install it on Ubuntu 23.04 arm64 #117

Open SmartLayer opened 1 year ago

SmartLayer commented 1 year ago
$ snap install celeste
error: snap "celeste" is not available on stable for this architecture (arm64) but exists on other
       architectures (amd64).

Would really appreciate it if you can make binary available to arm64 arch. I can sponsor you for it to be worth your time.

Prebuilt also doesn't work on Ubuntu 23.04 - which is a pity because I think it's a better fit than snap for system-level apps (like celeste - compared to desktop apps such as firefox).

$ sudo apt install celeste
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package celeste

The reason is failed apt-get update:

W: Skipping acquire of configured file 'lunar/binary-arm64/Packages' as repository 'https://proget.makedeb.org prebuilt-mpr InRelease' doesn't have the component 'lunar' (component misspelt in sources.list?)
W: Skipping acquire of configured file 'lunar/i18n/Translation-en_US' as repository 'https://proget.makedeb.org prebuilt-mpr InRelease' doesn't have the component 'lunar' (component misspelt in sources.list?)
W: Skipping acquire of configured file 'lunar/i18n/Translation-en' as repository 'https://proget.makedeb.org prebuilt-mpr InRelease' doesn't have the component 'lunar' (component misspelt in sources.list?)
W: Skipping acquire of configured file 'lunar/dep11/Components-arm64.yml' as repository 'https://proget.makedeb.org prebuilt-mpr InRelease' doesn't have the component 'lunar' (component misspelt in sources.list?)
W: Skipping acquire of configured file 'lunar/dep11/icons-48x48.tar' as repository 'https://proget.makedeb.org prebuilt-mpr InRelease' doesn't have the component 'lunar' (component misspelt in sources.list?)
W: Skipping acquire of configured file 'lunar/dep11/icons-64x64.tar' as repository 'https://proget.makedeb.org prebuilt-mpr InRelease' doesn't have the component 'lunar' (component misspelt in sources.list?)
W: Skipping acquire of configured file 'lunar/dep11/icons-64x64@2.tar' as repository 'https://proget.makedeb.org prebuilt-mpr InRelease' doesn't have the component 'lunar' (component misspelt in sources.list?)
W: Skipping acquire of configured file 'lunar/cnf/Commands-arm64' as repository 'https://proget.makedeb.org prebuilt-mpr InRelease' doesn't have the component 'lunar' (component misspelt in sources.list?)
hwittenborn commented 1 year ago

Hey! I actually have plans in the near future for getting arm64 packaging going, I'm just working on AppImage packaging at the moment, and then things like the Flatpak/Snap will be built from that. Both will be available for arm64 after that's done as well, as the AppImages will also be available for both architectures.

If you'd like to give a sponsorship for it, even if it's one-time, I'd appreciate it a ton! I'm about to head into college and I'm going to be quite stringent on my budget. Any help you could provide would be appreciated a ton, especially to help pay for things like makedeb's servers and storage providers.

I'm going to be getting arm64 support for those three platforms going regardless, but Prebuilt-MPR arm64 support has yet to be started (I've been quite busy with projects like this), and a sponsorship would definitely be appreciated to get that part going.

hwittenborn commented 1 year ago

That apt-get error is because the Prebuilt-MPR doesn't support arm64 yet as well, once that's going everything would work just fine.

hwittenborn commented 1 year ago

Also noting that the AppImage packaging is taking a while because I'm having to write a custom AppImage packaging tool (see #16). I'm just working out some final quirks in the packaging tool, and then I'll be adding the AppImages for Celeste here.

SmartLayer commented 1 year ago

If you'd like to give a sponsorship for it, even if it's one-time, I'd appreciate it a ton! I'm about to head into college and I'm going to be quite stringent on my budget. Any help you could provide would be appreciated a ton, especially to help pay for things like makedeb's servers and storage providers.

How much time do you think you need to work on this in order to prioritise my need? multiply by how much you expect to earn as a software guy per hour, then you get a number. I'll do it on https://github.com/sponsors/hwittenborn?frequency=one-time&sponsor=weiwu-zhang is that okay?

hwittenborn commented 1 year ago

I'd expect to be putting in about 10 hours to get this all the way to completion. My goal after college is to be making $80K/year which comes out to about $38/hour, so $380 would be a good amount for me to get this all done quickly.

I understand that's quite a bit of money though, and if that's too much to ask for I'm more than fine lowering that to whatever works comfortably for you.

I'll do it on https://github.com/sponsors/hwittenborn?frequency=one-time&sponsor=weiwu-zhang is that okay?

Yeah that's the place to do it all, I have makedeb sponsorships going there too, it just makes it easiest for me to manage everything.

SmartLayer commented 1 year ago

I'd expect to be putting in about 10 hours to get this all the way to completion. My goal after college is to be making $80K/year which comes out to about $38/hour, so $380 would be a good amount for me to get this all done quickly.

I understand that's quite a bit of money though, and if that's too much to ask for I'm more than fine lowering that to whatever works comfortably for you.

I'll do it on https://github.com/sponsors/hwittenborn?frequency=one-time&sponsor=weiwu-zhang is that okay?

Yeah that's the place to do it all, I have makedeb sponsorships going there too, it just makes it easiest for me to manage everything.

I just sent $150 which I think is a fair pay for this task, check.

hwittenborn commented 1 year ago

That's more than fine @weiwu-zhang, thank you for the support a ton! Can confirm everything went through as well.

I'm aiming to have this all done by the end of the week (if not sooner) - it's going to be the main thing I'm working on, but I'm not confident on when the AppImage packaging tool will be done. If I get the packaging tool done sooner then this will all be out before then as well - is there a specific time you need it all done by?

Your primary installation type was from the Prebuilt-MPR by the way, correct? If so I can probably go ahead and get that going without the AppImage tool and get the AppImage stuff going after actually, since the Prebuilt-MPR would be building the package from source regardless.

SmartLayer commented 1 year ago

I use Prebuilt-MPR because I wish to have something-arm64.deb. anything like that will do. thanks.

hwittenborn commented 1 year ago

Sounds good! I'll try to have something going by the end of the day tomorrow, and I'll be aiming to have everything else done by Friday. I'll send a message once I got more updates.

hwittenborn commented 1 year ago

Hey @weiwu-zhang, I'm still working on arm64 support in the Prebuilt-MPR, but I'm not positive it'll be done tonight. I'm almost done with the implementation for adding arm64 support, but a few Prebuilt-MPR packages will need to be built in the repo before Celeste will be able to, and those packages will take a few hours to build.

I'm aiming for the Prebuilt-MPR Celeste package to be done by sometime tomorrow, and then it'll be straight to the AppImage like I said before. Just wanted to send a heads up about it not being done quite yet.

hwittenborn commented 1 year ago

Things are taking a bit longer than I initially was planning for @weiwu-zhang. The Prebuilt-MPR codebase required a decently sized rewrite to get everything working properly, but the approach I ended up using turned out to be fairly bad to work with and now I'm in the middle of getting a new system going that works properly. I'm almost done with it though, and then it'll just be me testing things today (and possibly early tomorrow) before Celeste gets built for arm64 there.

I'm terribly sorry for the delay, but it really should all be done soon. I don't want to say when since that's proven to not necessarily be the case, but I'm going to get this done within the next two days.

SmartLayer commented 1 year ago

Thanks for the update!

hwittenborn commented 1 year ago

Hey again @weiwu-zhang, this is still taking a bit longer than I expected. I'm still busy getting it all working properly, but I wanted to send an update that this is still being worked on. I don't quite have an ETA, but I didn't want to leave you in the dark about why nothing's been out yet.

hwittenborn commented 1 year ago

I've finally got an update @weiwu-zhang: I've finished up the new update system in the Prebuilt-MPR, and now I just have to get Celeste built in the Prebuilt-MPR.

It'll take a day or two for everything to get built, these packages have to be built before Celeste will be able to (as they're needed for Celeste to build):

First: - rustc - golang-go

Second: - rustup - just

Last: - celeste

golang-go won't take that long to build (An hour or two at most for arm64, as the Prebuilt-MPR uses emulation to build on arm64), but the other three packages will all take quite a bit longer since they're Rust packages.

I'm providing all of that so you know what'll be causing any major delays at this point, but it should be pretty smooth at this point (the only issue I expect might happen is rustc times out on ARM builds, but I've got a solution for that in case it does happen).

The next update I'll send will probably be when Celeste actually comes out for arm64, I'll let you know if anything else happens though.

SmartLayer commented 1 year ago

Thanks for the update!

hwittenborn commented 1 year ago

This took a bit longer than I thought, but this should be the final update before Celeste is available for arm64 in the Prebuilt-MPR @weiwu-zhang. It's currently building in https://github.com/makedeb/prebuilt-mpr/pull/256 (ignore the failures on jammy, Celeste doesn't support Ubuntu 22.04 anyway) and shouldn't take too much longer to build.

I'm going to be heading to bed real soon, but I'll be getting that merged once I wake up. I wanted to say again that I really appreciate the financial support you've given, it's going to help a ton for some stuff I'm trying to work on!

hwittenborn commented 1 year ago

Celeste now has arm64 packages available for Ubuntu 23.04 @weiwu-zhang :). If you could give them a test go make sure everything works fine I'd appreciate it a ton (there's some non-arm64 usability issues that are noted in other issues, I'm mostly just concerned if Celeste successfully pops up with a login prompt for you).

hwittenborn commented 1 year ago

Once we can confirm everything's working fine this issue can go ahead and get closed. I'm going to be working on AppImage packaging so the other platforms can get arm64 packaging as well.

SmartLayer commented 1 year ago

@hwittenborn I followed this instruction: https://docs.makedeb.org/prebuilt-mpr/getting-started/

to run this

wget -qO - 'https://proget.makedeb.org/debian-feeds/prebuilt-mpr.pub' | gpg --dearmor | sudo tee /usr/share/keyrings/prebuilt-mpr-archive-keyring.gpg 1> /dev/null
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/prebuilt-mpr-archive-keyring.gpg] https://proget.makedeb.org prebuilt-mpr $(lsb_release -cs)" | sudo tee /etc/apt/sources.list.d/prebuilt-mpr.list
sudo apt update

verify:

$ cat /etc/apt/sources.list.d/prebuilt-mpr.list 
deb [arch=amd64 signed-by=/usr/share/keyrings/prebuilt-mpr-archive-keyring.gpg] https://proget.makedeb.org prebuilt-mpr lunar

but it's not there

$ sudo apt install 'celeste:arm64=0.5.5-1'
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package celeste:arm64
$ apt-cache search celeste
hugin-tools - panorama photo stitcher - commandline tools

I finally made it work by download the deb file and:

$ sudo mv /tmp/celeste_arm64_0.5.5-1.deb /var/cache/apt/archives/
$ sudo dpkg -i  /var/cache/apt/archives/celeste_arm64_0.5.5-1.deb
hwittenborn commented 1 year ago

That's an issue with the Prebuilt-MPR installation instructions @weiwu-zhang - if you change arch=amd64 to arch=arm64 it should fix the issue.

That architecture was hardcoded in the docs due to the Prebuilt-MPR previously only supporting arm64, but I'll change the instructions to be more generic shortly.

hwittenborn commented 1 year ago

Prebuilt-MPR docs got updated in https://github.com/makedeb/makedeb-docs/commit/4469d82faf9b8300494a818bd40b8010558fdbf2.