Deps on lua-inspect breaks installation on Ubuntu 18

I was testing the installation of the latest unstable (7768) on Ubuntu 18.04 and saw the following failures:

The following packages have unmet dependencies:
jitsi-meet-prosody : Depends: lua-inspect but it is not installable

It looks like lua-inspect was a recently added dependency.

Alas lua-inspect apt package is not currently available in the official ubuntu repo for Bionic Beaver (18.04) and only for newer Ubuntu versions.

Am I missing something? Or have we inadvertently dropped support for Ubuntu 18?

Well … there were several modules already dependent on inspect but we did not have that dependency and as we add it to one more module I added the dependency.

And when testing deb packages we use 20.04 and 22.04 …
Not sure what is the best path here … as 18.04 is 4.5years old now …
We either say its not supported or we drop the usage and dependency… Or we can add some ‘| dummy-package’ to the dependency list for a workaround…
WDYT?

That makes sense. Better to make that dependency explicit than have it fail later.

Ubuntu 18 is indeed old, but it is still under LTS release so still officially supported. Although it won’t be long now before it reaches 5 yr and goes from LTS to ESM.

Considering dep packages are only tested on 20.04 and 22.04, I think it is safer to say that only those versions are officially supported. We can post workarounds on community for those than still want to use Ubuntu 18, but this will be best-effort and not guaranteed to work forever?

P.S. I’m currently installing inspect using luarocks and faking the apt deps using equivs, but | dummy-package approach might be easier if more people face this issue.

Any package to propose? libc maybe?

I don’t see a libc package but there’s libc-bin.

That said, I’m afraid I don’t have a much experience with maintaining apt packages so I don’t fully understand the implications of such a change. I will leave it to your good judgement and experience to decide :slight_smile: .

If you chose to leave it as is, I can post an alternative workaround (after I’ve done some testing with it).

Yeah I need to test it … will not happen today :slight_smile:

We have a small warning about 18.04 in Self-Hosting Guide - Debian/Ubuntu server | Jitsi Meet

1 Like

On a barely related topic – I’ve noticed we also introduced a new debconf option for “jitsi-meet/jaas-choice”. Do we need to update the command in DevOps Guide (scalable setup) | Jitsi Meet to account for that?

Yeah, that will be nice.

I’ll send a PR later today.

For the record, I stumbled on another issue with installing on Ubuntu 18 – jicofo install was failing with error:

invoke-rc.d: syntax error: unknown option “–skip-systemd-native”

From my limited understanding, it looks like something (perhaps one of the debhelper scripts?) was calling invoke-rc.d with the --skip-systemd-native argument which does not exist in the Ubuntu 18 version but OK on newer versions.

This was unexpected since installs on Ubuntu 18 used to work without a hitch.

Anyway, I’ve managed to workaround this by using a backported version of init-system-helpers before installing jitsi-meet. Example:

sudo bash -c 'cat > /etc/apt/preferences.d/init-system-helpers' << EOF
Package: init-system-helpers
Pin: release a=bionic-backports
Pin-Priority: 500
EOF
sudo apt-get update
sudo apt-get install -y init-system-helpers

Ah so 18.04 anyway is not working … so I say, let’s move on :slight_smile: you already have some workarounds posted here

Indeed. It used to but now it is not.

If anyone else need to get it running on Ubuntu 18.04, these are the workarounds I needed to use.

  1. Use backported version of init-system-helpers to resolve invoke-rc.d issue:

  2. Install inspect using luarocks instead and create a dummy package to satisfy apt dependencies:

    # manually install lua inspect
    sudo luarocks install inspect
    
    # Use equivs to create a dummy package to stand in for lua-inspect
    sudo apt-get install -y equivs
    sudo bash -c 'cat > lua-inspect-dummy-template' << EOF 
    Section: misc
    Priority: optional
    Standards-Version: 3.9.2
    
    Package: lua-inspect-dummy
    Version: 0.0.1
    Provides: lua-inspect
    Architecture: all
    Description: Fake version of lua-inspect since not available for Ubuntu 18
    EOF
    
    sudo equivs-build lua-inspect-dummy-template # this creates lua-inspect-dummy_0.0.1_all.deb
    sudo dpkg -i lua-inspect-dummy_0.0.1_all.deb
    
    # now install jitsi-meet as usual
    
2 Likes

I wonder if it makes sense to continue supporting 18.04 at this point; it seems like it’s not generically compatible with the last few versions of Jitsi without additional patchwork.

3 Likes

I’m with you on that :slight_smile:

1 Like

I successfully used @shawn 's workarounds.

I had to “sudo apt install luarocks” first, and there is a misplaced fullstop in “lua-inspect-dummy-template.”.

But so far it looks good. I will work on making a newer Ubuntu image for my environment, but this will do for now.