Setup: Fresh installation of Ubuntu 20.10 with Thinlinc 4.12.1 Results: root@cendio-virtual-machine:/home/cendio/tl-4.12.1-server# ./install-server Error: python-apt not found. python-apt is required for ThinLinc's setup program. To install python-apt, please run this command: apt install python-apt Would you like to run this command now? (Y/n)? y $ apt install python-apt Reading package lists... Done Building dependency tree Reading state information... Done Package python-apt is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: python-apt-doc python3-apt-dbg:i386 python3-apt:i386 python3-apt-dbg python3-apt python-apt-common E: Package 'python-apt' has no installation candidate Installation failed. Please report this issue to ThinLinc support. Visit https://www.cendio.com/thinlinc/support for information on how to contact us. Expected Results: Perhaps fallback on the package manager and install with dpkg
We don't require any of the other backends (dnf, yum, zypper) so we shouldn't have a hard requirement on apt either.
This has now been fixed, reproduced the problem and verified the fix on a Ubuntu 20.10 machine.
Reproduced this issue on Ubuntu 20.10 with 4.12.1. Tested on build 2052 (on Ubuntu 20.10) and we now can continue installation without python-apt. Relnotes now looks good!
Assuming `python-apt` is not installed but available and that the user chooses to install it automatically, you encounter a problem where the target program is invoked twice in a row. This stems from that `_do_install` is invoked in a subshell is `syscheck.sh`. If the installation of `python-apt` succeeds, `_do_install` invokes `exec $0 $@` in the new subshell. For example: 1. We run `install-server` which invokes `syscheck.sh` 2. `install-server` invokes `_do_install` in a new subshell: 1. `_do_install` is successful and invokes `exec install-server` 2. `install-server` invokes `tlinstaller` 3. We walk through the installer and are dropped out of the subshell 3. Execution continues in `syscheck.sh` after where we spawned the new subshell 4. `syscheck.sh` terminates, we return to `install-server` 5. `install-server` starts `tlinstaller` once again
Once we convert the installer to Python 3 syscheck.sh will look for Python 3 packages. The relevant package in this context is 'python3-apt'. I checked Debian 9, Debian 10, Ubuntu 16.04 and Ubuntu 20.04 and all four include 'python3-apt' by default. Since we're moving to Python 3 - we no longer need this code at all.
Can't find any traces of the check, installation or references to them in the tree. Release notes aren't as obviously correct now that we've removed the code rather than change it. But it's probably better than no release notes as this might have been an issue that people have hit. Checked a minimal install of Ubuntu 18.04 where python3-apt is indeed installed. Removing it is possible, but removes some standard packages such as "unattended-upgrades", "apport" and "command-not-found". As such is is very unlikely there will be a system without this package.