The "essential commands" step in tl-setup tries to install all it's dependencies no matter which happens to be missing. This can cause some weird behaviour like doing upgrades of some seemingly unrelated package. We should check the list of missing commands and only add the necessary packages.
The essential step has been merged with the lsb step.
Fixed now and tested on Ubuntu 20.04. I manually installed lsb-invalid-mta and tl-setup did not try to replace it with default-mta when installing other basic requirements (ghostscript, nss and nspr were missing).
A couple of notes on testing: This fix is actually a rollback of a workaround (r31692) for bug 5985 (that has now been fixed and remains to be tested). The only binary that has multiple providers on the major distributions is /usr/bin/sendmail. gs, ss, pgrep, and xauth have single providing packages. So if, for example, lsb-invalid-mta is installed, default-mta is not to be installed by tl-setup since lsb-invalid-mta provides /usr/sbin/sendmail. The binaries that we are installing are: - gs - ss - pgrep - /usr/sbin/sendmail - xauth For testing this bug we need to verify that *only* missing binaries of the above are installed by tl-setup, along the lines of what is described in comment 3.
Tested alongside bug 5985, things look good in both text and gui mode on openSUSE Leap 15.3, Fedora 34, RHEL 7 and Ubuntu 18.04. The installed packages look sane. For sendmail postfix was installed on ubuntu, RHEL and Fedora. On openSUSE I had to manually install that requirement.
Used the tl-4.13.0rc2 server for testing.