Don't install Pi-Apps

A word of warning if you run Debian on your Reform: don’t ever EVER install Pi-Apps using the install script in the Git repo.

I wanted to install Pi-Apps to install the ARM64 version of the RPI Imager: when ran install, it asked my password to go sudo (I should have stopped at this point but… well, I’m stupid), then it proceeded to upgrade my system without asking, tried to do something and crashed. Then I got the dreaded red message congratulating me for borking my system and making a FrankenDebian.

After carefully checking all the timestamps in /etc/apt, I was pretty sure the damn installer didn’t actually do any damage. So I gingerly did an upgrade despite the red message telling me not to, and it went fine. So no harm done, but I’m pretty sure it’s because the installer crashed before it had a chance to.

In fairness, the Pi-Apps page warned me pretty explicitly not to attempt what I did. But I figured MNT’s flavor of Debian was Debian-y enough. Well it isn’t.

So don’t assume the same thing and do the same mistake I did: I got away with it, you may not.

If you need the RPI Imager, there’s a Flatpak for aarch64 incidentally.

2 Likes

Adding another data point: I’m running Debian Trixie on my Pocket and Pi Apps works as expected.

Maybe it’s something clashing with the default Debian sid?

Unfortunately I was too curious and wanted to figure out what all of this fuss was about. So on a vanilla Debian (not one with Reform stuff) I executed

wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash

It will install 662 MB of dependencies with a few oddities in them. Packages like xdotool or x11-utils do not make sense on a system running wayland, for example. So the script assumes you are running Xorg. The apt-transport-https package is also completely useless since 2017.

The script then breaks because it sets __os_release to the value “n/a”. Why? Because it runs lsb_release with a -u option which does not exist and I have no idea where this is coming from and then reads the output of lsb_release -s -i -d -r -c which prints out “n/a”. I then get the following message in red:

Congratulations, Linux tinkerer, you broke your system. You have made your system a FrankenDebian.
This website explains your mistake in more detail: DontBreakDebian - Debian Wiki
Your current reported release (Forky) should not be combined with other releases.
Specifically, the issue is this line:
Index of /debian unstable main in /etc/apt/sources.list
Your system might be recoverable if you did this recently and have not performed an apt upgrade yet, but otherwise you should probably reinstall your OS.

This looks scary but when reading the code which resulted in above message being printed, one can read that their detection logic is faulty. Nothing is actually wrong with the system.

I also did not find any serious harm that was done.

No, the problem exists on vanilla Debian as well. This has nothing to do with our MNT Debian blend/flavour.

I concur. It is not designed to run on Debian and reading the script I found some big red flags that whoever wrote it does not have sufficient understanding about how a Debian (or derivative) works. Several checks are more like heuristics and will break in weird circumstances like the “n/a” problem above.

Maybe this can be yet another lesson for all of us to be extra careful with installers telling us to just do “curl | sudo bash” :slight_smile:

3 Likes

Sadly, PiApps seems to be the only way to run Signal on a Reform machine right now, which I consider essential for a daily driver device, unless I’m missing some other way to do it.

This script suggests that piapps doesn’t do much more than installing a .deb from a custom signal-desktop fork: pi-apps/apps/Signal/install-64 at master · Botspot/pi-apps · GitHub

I also successfully ran signal in waydroid.

1 Like

I know it’s in the “pi-apps” app store, but you can also download the same unofficial build directly from github and install it with dpkg

I’ve been doing this successfully on my reform for awhile now. works great (well, as great as an electron app can).

1 Like

works fine.

There’s also an issue tracking the request to signal to support aarch64 on linux here:

And there are also bindings for other messengers. For example for pidgin there is this libpurple plugin which a Debian friend of mine is using successfully right now (I asked): GitHub - hoehermann/purple-presage: Pidgin/libpurple plug-in for Signal messenger using presage.

1 Like

Wish I had read this before I attempted to install Pi-Apps this morning! I also got the dreaded message, and did a similar thing of removing all packages it had installed. Seemed to get away with it.