-
Notifications
You must be signed in to change notification settings - Fork 164
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
[WIP] [DO NOT MERGE]: Bump Alpine version to 3.20 #4092
Conversation
I didn't look through carefully, but I already appreciate the way the commits are organized... |
Thanks @OhmSpectator , probably this PR will be broke into more PRs when it gets ready.... let's see... |
I'm curious if we do not use the Alpine package directly but via ledge/eve-alpine in most of the packages, will it make sense to use some tags in all the Dockerfiles? |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #4092 +/- ##
=======================================
Coverage 17.51% 17.51%
=======================================
Files 3 3
Lines 805 805
=======================================
Hits 141 141
Misses 629 629
Partials 35 35 ☔ View full report in Codecov by Sentry. |
I think we should take the opportunity to take a look at how we do apk package management in eve. The current system might be the best we can have, but at least we should consider alternatives. Our current system looks something like this:
This leads to a chain: The reason for this is two:
The downside is that it is complex. It is difficult to grasp ("eve-alpine is Is there a way to make this simpler? Could we have That is likely to require some more intelligent usage of apk packages and storage in Some things to think about. At the eve-alpine build stage, how would we:
At the usage stage (i.e. when we run
For the latter, we probably can just enforce that package names in |
Bump rootfs version to 3.20.1 as the first step to upgrade pkg/alpine to version 3.20. Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
ENV PKGS alpine-baselayout dbus glib udev libgudev | ||
FROM lfedge/eve-alpine:41a5873d2a5731cd8c307282b770e18ab8706b2e as build | ||
ENV BUILD_PKGS go | ||
ENV PKGS alpine-baselayout dbus glib udev libgudev libmbim libmbim-tools libqmi libqrtr-glib libmm-glib qmi-utils picocom modemmanager |
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.
What version of modemmanager are we getting from Alpine 20?
Our mmagent expects fairly new version 1.22
What I like about building as opposed to using already built packages, is how easy it is to try a new version or a patch.
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.
Also note that in our build of MM we are disabling many features which are not needed or relevant to EVE. Such as sustemd or polkit (which btw. consumes lots of memory).
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.
@milan-zededa Alpine 3.20 provides ModemManager 1.22.0, exactly the same that was being built... Indeed, its shipped with full features, which includes polkit but also all the plugins for different modem brands... In this case I think it's ok to build MM in order to remove features not relevant for EVE, but we should avoid build packages by ourselves as much as we can, at one hand can be easy to test a patch, but at the other hand it can causes several other issues, specially when we want to upgrade something, library dependencies, differences for newer compilers... it's being really painful to manage the Alpine update for packages that we build stuff: some doesn't compile with newer gcc, some needs newer packages for dependencies on 3.20.... Alpine 3.20 is providing lots of new packages not supported before, let's take advantage of that....
Let's build only what is really necessary.... for wwan case I will keep the libraries from Alpine and build ModemManager... is that ok for you?
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.
Let's build only what is really necessary.... for wwan case I will keep the libraries from Alpine and build ModemManager... is that ok for you?
I think that's OK
Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
This commit bumps the Alpine version to 3.20 on several packages that don't require any other change other than the hash of lfedge/eve-alpine package. Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
Stop building the following components (there are Alpine 3.20 packages for all of them): - libbmim - libqmi - libqrtr - picocom - ModemManager Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
- Bump Alpine to 3.20 - Bump musl to 1.2.5 (Alpine's 3.20 version) Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
- Bump mkinitfs to 3.10.1 (Alpine's 3.20 version) Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
This reverts commit be6aef2. The changes provided by the commit are not needed on Alpine 3.20. Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
- Use guacamole-server provided by Alpine 3.20. Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
These are potential packages that can be removed in favor of the versions already provided by Alpine. Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
TO BE REMOVED Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
There are more packages that needs to be fixed (pkg/ipxe, pkg/uefi among others) in order to build with newer gcc... @famleebob is taking care of this update, I will drop this PR so he can push a new one with merged changes... |
Warning
This PR is still working in progress. It impacts basically all components of the system, so it requires an extreme careful review
Description
This PR updates Alpine version from 3.16 to 3.20. The general changes introduced by this PR are:
Important
Developers familiar with one or more packages under pkg/ : PLEASE, review the Dockerfile and the changes introduced by this PR on it. Test locally is also really and much appreciated!
TODO
Packages not yet updated:
Issue: #3994