amir1376 / ab-download-manager

A Download Manager that speeds up your downloads
https://abdownloadmanager.com
Apache License 2.0
3.11k stars 155 forks source link

Add RPM package or Flatpak #175

Open Linux-Is-Best opened 1 week ago

Linux-Is-Best commented 1 week ago

It would be great if there was either an RPM package (Fedora, openSUSE), or as an alternative, a Flatpak. The benefit of a flatpak would be it could run on both RPM or DEB based system. A lot of Linux developers tend to go the flatpak route for that reason.

My reasoning for this request is a lot of folks, I know, have been moving away from Debian-based Linux distributions (disclosure, myself, included). But would like to use your download manager.

Either solution would be great.

amir1376 commented 1 week ago

why you are not using the installation script ?

amanullahmenjli commented 1 week ago

why you are not using the installation script ?

One of the main advantages of using Linux distros is having all installed programs managed by a package manager (or two if you use flatpak too) which facilitates keeping everything organized and regularly updated.

amir1376 commented 1 week ago

I'm planning to add an auto update feature to the app (which you may saw that in apps like discord postman etc...) for this to work I need to have write access to the installation directory because of that I may not be able to add rpm package and remove the deb package too. instead we can improve that installation script until then

amanullahmenjli commented 1 week ago

I think making auto updates optional and allowing the app to be available at least of flathub would be a better solution for linux users. I personally don't like when apps try to manage their own updates and prefer to let that job for my package manager or for flatpak.

amanullahmenjli commented 1 week ago

If you don't want to publish it yourself for flathub would it be fine if I do it as a contributor so it can be labeled as officially published by the app devs on flathub?

amir1376 commented 1 week ago

I think making auto updates optional and allowing the app to be available at least of flathub would be a better solution for linux users. I personally don't like when apps try to manage their own updates and prefer to let that job for my package manager or for flatpak.

Of course I will make this optional. you can manually upgrade it using a script.

Unfortunately I don't know much about the flathub you mentioned. and I don't know if it may causes problem later or not.

For example I plan to add Native Messaging feature later to allow browsers to wake up the app when its not running. this feature needs an executable inside the app's directory (which I know that AppImage does not support this thing)

amanullahmenjli commented 1 week ago

Of course I will make this optional. you can manually upgrade it using a script.

That's great to hear.

Unfortunately I don't know much about the flathub you mentioned. and I don't know if it may causes problem later or not.

Flathub is a store or repository that flatpak users can get software from. I'm not sure if flatpak can cause issues or not but I'll try to build this project on my machine with flatpak and see if it can cause any issues then report how it goes here.

For example I plan to add Native Messaging feature later to allow browsers to wake up the app when its not running. this feature needs an executable inside the app's directory (which I know that AppImage does not support this thing)

Can you tell me more about how this feature is going to work?

amir1376 commented 1 week ago

Can you tell me more about how this feature is going to work?

You can read more about Native Messaging here

but in short it requires a file to be exists in installation folder and browser can execute it for communication. for example

───app
    \───bin
     |    \───ABDownloadManager (for now we have only this)
     |    \───ABDownloadManager_NativeMassagingHost
     |    \─── ....
     \...

app (and external apps like browsers) requires to have at least read only access to its installation directory. if its converted to a single executable binary (AppImage) then it may not support some features later.