Skip to content

Fix: switch to linuxdeploy #7806

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 30 commits into
base: development
Choose a base branch
from

Conversation

SlySven
Copy link
Member

@SlySven SlySven commented Apr 8, 2025

Brief overview of PR changes/additions

Revises the Linux CI/CB process to use linuxdeploy instead of linuxdeployqt.

Motivation for adding to Mudlet

linuxdeployqt won't work next week as GitHub are removing the Ubuntu 20.04 runner and that tool will not work with the later 22.04 one until the maintainer updates it to do so (the CRT is too new).

Other info (issues closed, discussion etc)

The maintainer of linuxdeployqt is refusing to updating to Ubuntu 22.04 until it officially reaches EOL (in a month or so) but GitHub will not provide Ubuntu 20.04 from 2025/04/15 and has been "browning it out intermittently for the past few months.

This also switches the Linux run that is used for deployment to Ubuntu 22.04 it remains to be seen whether this is still usable for the oldest versions of the Linux OS which we provide AppImages for.

Some variables in the bash scripts used for Linux CI that were not have been made SCREAMING_SNAKE_CASE so that they can be picked out better.

Some issues that ShellCheck highlighted have been "fixed" as well.

THIS IS A DRAFT CURRENTLY AS IT USES A PR FROM THE INSTALLERS REPO. It can not be merged until that PR is debugged and merged into that repository.

#### Brief overview of PR changes/additions
Revises the Linux CI/CB process to use [`linuxdeploy`](https://github.com/linuxdeploy/linuxdeploy)
instead of `linuxdeployqt`.

#### Motivation for adding to Mudlet
`linuxdeployqt` won't work next week as GitHub are removing the Ubuntu
20.04 runner and that tool will not work with the later `22.04` one until
the maintainer updates it to do so (the CRT is too new).

#### Other info (issues closed, discussion etc)
The maintainer of linuxdeployqt is refusing to updating to Ubuntu 22.04
until it officially reaches EOL (in a month or so) but GitHub will not
provide Ubuntu 20.04 from 2025/04/15 and has been "browning it out
intermittently for the past few months.

This also switches the Linux run that is used for deployment to Ubuntu
22.04 it remains to be seen whether this is still usable for the oldest
versions of the Linux OS which we provide AppImages for.

Some variables in the `bash` scripts used for Linux CI that were not have
been made SCREAMING_SNAKE_CASE so that they can be picked out better.

Some issues that [ShellCheck](https://www.shellcheck.net/) highlighted have been "fixed" as well.

THIS IS A DRAFT CURRENTLY AS IT USES A PR FROM THE **INSTALLERS** REPO.
It can not be merged until that PR is debugged and merged into that
repository.

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
@SlySven SlySven self-assigned this Apr 8, 2025
@add-deployment-links
Copy link

add-deployment-links bot commented Apr 8, 2025

Hey there! Thanks for helping Mudlet improve. 🌟

Test versions

You can directly test the changes here:

SlySven added 25 commits April 8, 2025 22:38
…eneration

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
So switch to later GCC as before AND later Ubuntu 22.04.

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
…ller.sh

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
…update

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
…let.yml

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Also try and cause a new build to be done as GH Actions are currently
suffering problems according to status report.

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Also add conditional qDebug() messages for the loading of translations.

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
…er case

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Conflicts resolved in:
* .github/workflows/build-mudlet.yml

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
…runner

Also trigger a rebuild to use an update to the installer repo branch in
use so that it includes code to support older CRTs when the AppImage is
used.

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
SlySven added 2 commits April 12, 2025 22:21
So that it pulls in a change to the installer repository...

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Using a later one might be the reason I couldn't get the AppImage to run
on Devuan 4.0 "Chimaera" even with using the `checkrt` plugin for
`linuxdeploy`.

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
SlySven added a commit to SlySven/Mudlet that referenced this pull request Apr 14, 2025
#### Brief overview of PR changes/additions
Change the Linux Ci/CB runner used to make the AppImage for that OS from
the Ubuntu 20.04 LTS one to the 22.04 one.

#### Motivation for adding to Mudlet
This is unavoidable because the older one is being removed tomorrow.

#### Other info (issues closed, discussion etc)
Because of some intransigence by the maintainer of the `linuxdeployqt`
tool we use to make the AppImage it is not being updated to work with the
22.04 one until that reached its official EOL next month. This seems to
mean that the AppImages produced in the newer runner will NOT work on
systems with the older `libc` that was used in the 20.04 version and others
such as Debian 11 ("Bullseye") and Devuan 4 ("Chimaera").

I have been trying to find a solution but have not got a workable one yet.

(See: Mudlet#7806 and
Mudlet/installers#123).

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
@ZookaOnGit
Copy link
Collaborator

Debian 12. Geyser seems to be acting funny.

FlexGUI before;
image

After;
image

My other Geyser profiles were affected too, mostly missing windows and decoration. Then stumbled across this error about AdjustableContainers.

image

Reproducable with;
lua testCon = testCon or Adjustable.Container:new({name="testContainer"})

No icons in right-click menu, can't manipulate window.

image

@SlySven
Copy link
Member Author

SlySven commented Apr 16, 2025

@ZookaOnGit thanks for that error report - that is the sort of detail this needs. Which locale have you set your GUI to - is it the (default) en_US - English (American) one - if so can you try changing to the English (British) one and see if the error is the same?

The reason for this is that I note that if I expand the contents of the AppImage (with ./Mudlet-4.19.1-testing-pr7806-d8e20675.AppImage --appimage-extract on the command-line) the Lua "translations" for the other locales get expanded to ./squashfs-root/usr/share/applications/mudlet/lua/translations/ but not the one for the American locale.
image

A quick fix to confirm that this is the problem would be to copy the ./translations/lua/mudlet-lua.json file from the current source code and put it into that "expanded" ./squashfs-root/usr/share/applications/mudlet/lua/translations/ before trying to run the application via the ./squashfs-root/AppRun shell-script. If you confirm that this is the detail I'll try and fix things so it gets copied to the right place...

It seems we hit the same issue in the past with Windows builds (see #7242!)

SlySven added 2 commits April 16, 2025 18:30
This might be important if the Qt5 and Qt6 ones are different!

This is actually needed to prompt a rebuild with a revised PR in the
installer repository.

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Also report the lrelease tool version when it is run by CMake - unlike the
prior commit that only did it for QMake.

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy