Rapid Photo Downloader ready for gentoo

@damonlynch

as you know from our other thread, I’m very grateful, as 0.9.17 now easily installs in gentoo.

It’s today’s behaviour is, to insist on

  • installation per user (which might end up in multiple installations per machine)
  • install to ~/.local/bin

Gentoo (and I believe other distros as well) usually install as root (and btw is quite restrictive with sudo) and everything not in repos should be in /usr/local/bin (executable by normal users indeed)

If the installation could be modified towards this architecture, it would be further more simplified to go into gentoo :slight_smile:

Do you see any chance, in the future RPD could move in this direction?

Cheers
Axel

No. The Rapid Photo Downloader install script uses Python’s pip, which is a widely used tool in the Python world. Pip installs Python user packages according to Linux standards.

The Gentoo community needs to update the Gentoo package for Rapid Photo Downloader, which is now many years out of date. You could lead that effort if you like.

You find me confused, RPD is absolutely the only software out of hundreds of software packages that want to be installed in the user’s home directory. I do not see where gentoo has an obsolete structure. But I’m not a software pro :blush:

This is a long way of addressing your confusion:

Currently Rapid Photo Downloader can be installed two ways: from the Linux distribution’s software repository, or from the installation script I write and maintain.

In an ideal world, it would be better to install the program from the distribution’s software repository. The program would be installed into the standard location programs go. The main problem with that method is that the version is often out of date, or there can be packaging bugs. There can be bugs because Rapid Photo Downloader has a lot of dependencies, which makes it easier for things to go wrong compared to a more simple program.

So I maintain the installation script to be able to deal with complexity of the different Linux distributions. The installation script has two primary tasks: install dependencies using the distribution’s package manager, and then use pip to install a bunch of Python dependencies and the program itself.

Best practice with pip is to install as much as possible on the user’s home directory. Installing Python packages as root with pip is highly recommended against and can easily result in a system that no longer works properly.

If pip did not exist, the installation script would not exist, and users would need to wait 6 or more months to be able to access new versions.

I tried to make a snap package but due to a still outstanding bug in the snap packager, that failed.

AppImage was tried but that effort also failed due to the complexity of the dependencies.

I’ve not tried Flatpak. As far as I know, nobody has attempted to build a Flatpak for Rapid Photo Downloader.

The installation script is a compromise. It’s far from ideal. It means no visibility in the application “stores” the mainstream distributions ship with these days. It takes me time to maintain it. It’s confusing for users who don’t know how to use the command line.

Also please keep in mind that anyone who maintains a FOSS program always needs to make compromises, because we have limited time, and the Linux distribution landscape is so fractured.

I haven’t seen a flatpak of RPD either, and I’ve been looking. Its on my list of things to try, and I enquired about it in the flatpak IRC a while ago and got some advice.

The nice thing I’ve found about flatpak is that the community is helpful, so if I can pull something together, there is a strong possibility to get help with the final bits.

I think you have identified something important there, because almost always, something goes wrong and you cannot fix it yourself. The snap community is also helpful and engaged, but the point-person for the bug I encountered with snap wanted to me to fix it, and I just don’t have time these days to be contributing to other projects.

Dear @damonlynch

thank you very much for your comprehensive explanation.

Typically gentoo is quit up to date and compile everything acc to loacal machine setting locally. It should be a perfect harbour for RPD :slight_smile:

I wish I could promise to be a good ebuild maintainer, unfortunately I know, I cannot (tooooooo many other things…)

For the time being I’m happy, that also my PC after laptop installed 0.9.17 nicely…

Sincerely
Axel