FreeTubeApp / FreeTube

An Open Source YouTube app for privacy
https://freetubeapp.io/
GNU Affero General Public License v3.0
13.37k stars 825 forks source link

Repository Debian #871

Open dominiquefournier opened 3 years ago

dominiquefournier commented 3 years ago

Hi I would like to suggest to create a Debian repository in the website. The FreeTube package can be updated each time it change by "apt-get update;apt-get upgrade". It is possible to use "apt-ftparchive" program to generate the needed files and gpg to sign the repository

PrestonN commented 3 years ago

This is something that I plan on looking into. I just need to find the time to do so. I have a lot of other things I need to work on so this probably won't be done any time soon. I'll make an announcement when it's available however.

stephenjudge commented 3 years ago

@PrestonN If you haven't already done so, may I suggest you look into using the Suse Open Build Service. It is an automate packaging service that will build your app into various packages (RPM,DEB,Snap etc.) and hosts an apt compatible repository for you. This saves you having to build your own repository. https://openbuildservice.org/

I personally prefer to use DEB via a repository or Snap, mostly because that have automated updated functions. In the case of Snap I prefer it to Flatpak because it's easier to install, manage and update Snaps.

PrestonN commented 3 years ago

@stephenjudge We already use GitHub Actions to create our builds, which does the same thing as the service you linked. All of our builds, including Flatpak, are already automated.

stephenjudge commented 3 years ago

@PrestonN I think what this issue is requesting, and certainly what I am requesting is the ability to use a repository to install FreeTube from rather than just direct link DEB files. By installing via repository with our distribution package manager, we can install FreeTube from the terminal and automatically get updates as they are pushed to the repository. Simply having direct download DEB files does not give us the convenience of automatically installing updates.

The common paths to using a repository system is to either request the app is packaged and added to one of the official Debian repositories, or build and host your own repository, or use a repository service such as those provided by Canonical's Launchpad or Suse Open Build Service.

You may be able to build your app automatically with GitHub, but GitHub is not providing you with a repository that we can add to our package managers, whereas Launchpad or OBS does. This is why I suggested using OBS.

You can see an example of an app built with OBS and how OBS provides a way for a user to install the app via a repository, with this app Syncthing-GTK. This app is also hosted on GitHub @ https://github.com/kozec/syncthing-gtk

stephenjudge commented 3 years ago

@PrestonN Side note, you can also build and have FreeTube added to the Snap store directly from GitHub at https://snapcraft.io/build

PrestonN commented 3 years ago

The Flatpak builds currently solves this. Flatpak can automatically update your FreeTube instance whenever it's available. I plan to branch out to other methods but until then that is the method that I recommend.

It's been a while since I've looked into the topic, however I do believe I may be able to setup a Debian repository using GitHub. Again I could be wrong about it however if it's possible I'd rather do it that way so that I don't have to use new services for one new build.

stephenjudge commented 3 years ago

@PrestonN I understand that Flatpak builds are an option, though I favour Snap over Flatpak, simply because sudo snap install freetube is so much easier to find and install than the Flatpak method. As I've mentioned, building and listing a Snap package can be done directly from GitHub, the Snapcraft Build page I linked above has the details.

If you can setup a Debian repository using GitHub then this would also be a great option, it's just that in general installing DEB files from direct downloads is not a great option. Anyway you have my thoughts, I'll leave it at that, thanks.

dominiquefournier commented 3 years ago

Snap or flatpack are cool but I prefer the Debian standard repository. The OBS solution may be the easier one. If you prefer, you can add the Debian repo to your website easily after creating the Deb package.

julianfairfax commented 3 years ago

I'd also appreciate this feature being added. If it would have an APT repo with the debs you already build, it would improve the integration with the system, and it would be a welcome change for me. Thanks for all the work you've put into this wonderful app!