-
-
Notifications
You must be signed in to change notification settings - Fork 19
chore: bump Ubuntu, Qt and supporting versions #24
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
base: main
Are you sure you want to change the base?
Conversation
ae85f5c
to
f15de3a
Compare
Version not supported for Qt 5.15 |
Thanks, but no need to worry about that yet I don't think... this is only a placeholder for when 22.04 is no longer an option (or we move onto a version QT that is supported) ;) |
f15de3a
to
13f6d4a
Compare
Once 2.11 is out the door I will start working on Qt 6.x |
@@ -22,13 +22,15 @@ RUN apt-get update && \ | |||
RUN wget --quiet https://developer.arm.com/-/media/Files/downloads/gnu/14.2.rel1/binrel/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi.tar.xz -O - \ | |||
| tar -xJ -C /opt | |||
|
|||
RUN python3 -m pip install -U pip setuptools \ | |||
&& python3 -m pip install \ | |||
# Python 3.11 introduced the managed environment breakage aka PEP 668. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't disagree with this at all (I suggested exactly this myself in the MSYS build scripts), but I have since come across uv
thanks to Raphael, and it makes package management and venv effortless... . Worth considering at a future time, if not now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Your solution is implemented in multiple files. If not too challenging I vote for changing now,
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay so I've had a play with uv and replaced you magic with this hack
RUN wget -qO- https://astral.sh/uv/install.sh | sh && \
. $HOME/.local/bin/env && \
uv venv && \
uv pip install -U pip setuptools && \
uv pip install \
asciitree \
jinja2 \
pillow \
aqtinstall \
lz4 \
pyelftools
RUN . $HOME/.local/bin/env && \
uv run aqt install-qt --outputdir ${QT_INSTALL_DIR} ${QT_HOST} ${QT_TARGET} ${QT_VERS_STR} ${QT_ARCH} ${QT_MODULES}
It works but does not save any coding in fact means every python script run needs to be amended. However I stand to be duly corrected on matters such as these.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using uv
, we might want to make things differently:
- install
uv
into the dev/builder image into/usr/bin
- run
aqt install
as a "tool" (seeuvx
) - move the Python dependencies definitions to a
pyproject.toml
file in EdgeTx repo - pull dependencies when preparing build environment with
uv sync --frozen
- activate
venv
withsource .venv/bin/activate
- run everything else as usual
We might want to integrate the last 3 steps proper with CMake, so it is done automatically for the user.
CMake 4.0 breaks things cmake_policy(SET CMP0023 OLD) has been removed. From Discord I see @gagarinlg has also found and implemented a fix for radio firmware though I cannot see the fix. miniz has an invalid cmake_minimum_required version. I have bugged with maintainer richgel999/miniz#337 |
The change to Qt 6.5 multimedia is frustrating the begeebers out of me. So I'm taking the "throw the sink at it" methodology. When I have sound I'll work backwards to narrow the final list of extras. |
He just commented out the policy line in |
Yes, quick fix for me without any testing except, the radio I was working on still compiles |
Looks like CMake 4.x is a happy wrecking ball... it breaks the builds for miniz, yaml-cpp AND maxlibqt, plus edgetx 🤪 For miniz, I have a PR pending: richgel999/miniz#339 These, plus Malte's quick fix at least get the MSYS2 build container up and running again, which is the only one using CMake 4.0 at present. i.e. This branch has successfully built on my fork... pfeerick/edgetx#18 |
AppImages appear to not be backward compatible (could just be me) e.g. noble will not run on jammy lots of errors like this on launching:
jammy AppImage will run on jammy and noble If this is the case then the question is, what is the oldest version we want to support keeping in mind the different Linux flavours? |
Well, since jammy (22.04) is a LTS as well, so we could increment to that rather than jump to noble (24.04). We're currently using focal (20.04) for dev and jammy for cloudbuild, so at minimum need to correct that discrepancy 🤪 Ubuntu 22.04 (jammy) is a supported platform for QT6.5, so that isn't a problem... It doesn't surprise me that an AppImage built on Noble would/could have problems when running on Jammy, given mention to build on the oldest platform intended to support... |
Want me to change it to jammy while rebasing (and we can start again from there)? Oh, wait, you're trying to confuse me... 6.5, 6.8.2, 6.9.0? 🤣 Ok, 6.9 still lists Ubuntu 22.04 (jammy) as supported platform... |
My aim in life is to confuse as many as possible ;-) |
Jammy |
1308ade
to
918b528
Compare
Bump to Ubuntu 22.04 LTS
707c350
to
13cc77b
Compare
13cc77b
to
91f7297
Compare
A few rebase goofs later (combination of should not be working on this just before bed + github builds way faster than locally 🤭 ), and it should be right now. We can skip the |
Bump to Ubuntu
24.04 LTS (Noble Numbat)22.04 (Jammy Jellyfish)Testing the waters... waiting until 24.04.1 before going any further with this.