Botspot / pi-apps

Raspberry Pi App Store for Open Source Projects
GNU General Public License v3.0
1.88k stars 206 forks source link

build-FreeFileSync-on-raspberry-pi #2058

Open rekab72 opened 2 years ago

rekab72 commented 2 years ago

Cool ideas?

botspot,

You are an excellent scripter! Can you take a look at this process and see if there is a way to script the whole process? It may then be worthy on inclusion in pi-apps.

I am working to modify the manual process to compile 64bit.

Note; I personally like grsync way better but I do get request for FFS.

https://github.com/pmkees/build-FreeFileSync-on-raspberry-pi

Botspot commented 2 years ago

Interesting. How does this compare to my CloudBuddy project?

Botspot commented 2 years ago

After poking around on their website, I agree that this would be a worthy addition to Pi-Apps.

@rekab72, once I reviewed the build instructions you linked to, I think it would be best to avoid building FFS locally on everybody's system. It would be better to build a .deb file, then distribute that with Pi-Apps. that would take care of dependencies and would avoid having to install newer build on everybody's systems.

rekab72 commented 2 years ago

@Botspot That would be optimal but I have heard that FFS often changes (see note below) and thats why a pre-built Pi version was abandoned. Also, I have previously built 11.17 RaspberryPiOS ARM64 RPi 400. There are some tweaks to the posted instructions.

Kamil Páral <notifications@github.com>
Re: [flathub/org.freefilesync.FreeFileSync] RaspberryPiOS ARM64 - Version 10.15 installed not current release from flathub (Issue #67)
Mon, 10 Jan • 06:18
FFS is no longer available for aarch64 on Flathub, because I no longer build it from source (it proved to be extremely complicated and error-prone due to the upstream habit of patching system libraries), and upstream doesn't provide aarch64 builds. What you got is an extremely old build from the time when it was last built from source. (I reported that problem as flathub/flathub#2755 ).

You need to build FFS from source yourself, get is elsewhere, or start maintaining this Flathub repo, build it from source here and deal with all the pain that arises from it :-)
Botspot commented 2 years ago

Also, I have previously built 11.17 RaspberryPiOS ARM64 RPi 400. There are some tweaks to the posted instructions.

Perfect!

@Botspot That would be optimal but I have heard that FFS often changes (see note below) and thats why a pre-built Pi version was abandoned.

Based on the quotation you attached, I think it is a better interpretation to say that Flathub often changes, some of which break functionality. According to the quotation, the cause for instability seems to be Flatpak, not FFS.

Flatpak is an application distribution model that uses sandboxing to isolate each app. Each application is basically its own chroot with limited permissions. While this idea sounds good at first, flatpak introduces a lot of bloat and additional failure points. Ultimately, I think Flatpak's security model is flawed ideologically. It says "Don't trust your apps, put them in a cage", but in the open-source world we should say "Look at the source code to trust the app."

Pi-Apps approaches app-distribution with a different philosophy. No sandboxes to be found here. As a result, I think that regular .deb releases of FFS would work just fine.

theofficialgman commented 2 years ago

the instructions here are a good start https://github.com/pmkees/build-FreeFileSync-on-raspberry-pi however they are very dangerous as they install projects over system libraries, VERY BAD and not allowed in debs.

the easiest solution would be to create an appimage with these newer libraries and freefilesync self contained (like done for prusaslicer). alternatively, those newer dependencies could be installed to a special location (like /opt/freefilesync) and freefilesync told to link to those libraries if a deb is preferred