[chbot] Updating a program: which Way did I use to install it?
Stephen Irons
stephen at irons.nz
Tue Aug 25 01:16:28 BST 2020
It is worse than I thought. Here are the ways that programs are
installed on my PC:
* Debian packages installed from official repositories
* Debian packages installed from numerous PPA repositories
* Snap installs from some Snap store -- is there more than one?
* AppImages downloaded from arbitrary websites, and manually moved to
either ~/bin
* AppImages downloaded from arbitrary websites, and somehow ended up in
~/.local/bin
* Flatpack installed from flathub
* Flatpack installed from the applications' private flat-stores
* Python packages installed using 'pip', from py-pi
* Python packages installed using 'pip' from some other Python package
place
* Source code tar file downloaded from the applications' website, then
built manually 'configure; make; sudo make install', ending up in
/usr/local
* Source code version control repository cloned, then built manually
'configure; make; sudo make install', ending up in /usr/local
* Tar file with precompile binaries downloaded, unpacked (usually into
/opt) then created symlink in '~/bin'
* Single precompiled binary downloaded from some website, then moved to
'~/bin'
* Personal scripts in '~/bin' to set-up before and tear-down after some
other program (eg. always pass specific arguments, to run pasuspender,
or to set environment variables), or just to give it a nicer name.
These are version controlled.
* Command interpreter aliases used for the same purpose. I prefer
one-line scripts in '~/bin' as they can be version controlled.
Note: after downloading stuff from random web sites, I usually remember
to compare the hash before using it. This does assume that I trust that
web site...
No wonder it's confusing.
Stephen Irons
On Tue, Aug 25, 2020 at 11:29, Stephen Irons <stephen at irons.nz> wrote:
> General grumble
>
> There used to be a few packaging systems (deb, rpm, emerge, pacman,
> etc), but each distribution chose Their Way and it was the Only Way
> for that distribution. Of course, every thought Their Way was The One
> True Way. But at least I knew how to update a package.
>
> However, we now also have 'portable' packaging systems (AppImage,
> Flatpak and Snap and probably others) which can be installed on any
> distribution.
>
> Then Python has its Way too (pip), and I see that I have at least one
> Useful Program (youtube-dl) installed using this Way.
>
> Some applications choose only One Way to release their software, so I
> have to use that Way to install the software, so, in general, I
> cannot settle on a single Way, even if there were a Preferred Way. So
> now, the burden is on Me to remember which Way each application has
> chosen.
>
> Specific problem
>
> I am trying to update Musescore to version 3.5.3 on Ubuntu 20.04. I
> am using version 3.2.3. Approximately this version
> (3.2.3-and-some-change) exists in the Ubuntu repos, but this is not
> installed. I remember installing one of the portable versions when
> 3.2.3 was the Next Best Thing, before it was available as a deb in
> the repo. But I cannot remember which Way I ended up using.
>
> Musescore makes new versions available as AppImage, Flatpak and Snap;
> these eventually end up in the Ubuntu repo some month later.
>
> When I auto-complete 'musescore' it completes as 'musescore-portable'
> which 'which' tells me is '~/.local/bin/musescore-common'. There also
> exists '~/.local/bin/mscore-common', where 'mscore' used to be the
> name of the executable when people thought that shorter executable
> names were better.
>
> *** Does anyone recognise which Way would install a binary as
> '~/.local/bin/xxx-portable'?
>
> General questions
>
> *** Is any one of these packaging systems (AppImage, Flatpak, Snap,
> Python pip) significantly better or worse than any other? What are
> the pros and cons?
> *** Are there any rules of thumb to work out which Way to update an
> arbitrary program?
>
> Thank you
>
> Stephen Irons
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ourshack.com/pipermail/chchrobotics/attachments/20200825/7ee72c9a/attachment.html>
More information about the Chchrobotics
mailing list