Switch the docker build to Ubuntu 26.#2996
Conversation
4a5417a to
4353251
Compare
131e44b to
a877234
Compare
2e4503f to
660fa04
Compare
|
To facilitate testing this and since our github wiki docker instructions are so convoluted and out of date, here are instructions for doing so. This will give you a minimal setup for basic testing, and is not for production usage. You can use either docker or podman for this. These instructions are for the 2 stage build since that is how the
Note that general docker testing with a specific branch can always be done with the above by changing |
|
Thanks for the instructions, that helped out a lot. Overall the build worked, I was able to create a course. Anything using the RPC failed (problem editor, library browser), but if I used the problem editor to view problems in their own page they worked just fine. I assume this is just the step to configure the RPC correctly wasn't listed and I didn't debug it further. In following your instructions with The build works, here is my approval. Should we merge this (and the other pull request first) now that there is two approvals or see if @taniwallach wants to do more in depth testing? |
|
I don't think docker cares if an environment variable is not set, but podman warns about it. It is inconsequential though. If you want additional Ubuntu packages installed in the base image, then you set that variable with the list of packages you want (as a space separated string). Otherwise leave it unset. The RPC endpoint should work. I will look into that. |
|
I have ngnix running as a proxy here for my development setup, maybe the problem was with that, though as long as the port 8080 is being used I don't think that will conflict with ngnix running on 80/443. I did stop all my development servers in the testing, so if the RPC works for you, I'll look into my setup more. |
|
It wasn't working for me either. It is just a missing dependency though. Perl critic needs to be added to the packages that are installed. I will push the changes soon, after the build completes and I test it. |
|
I also just noticed that it is still installing the wrong version of |
Update to node 24 in the build instead of node 20. Update the Perl::Tidy version to the version currently used in development. Don't install the `Statistics::R::IO` module. That is not used anymore. Update to the mariadb 10.11 docker image for the database volume. That should have been done before when I updated the docker build to Ubuntu 24. That matches the version of mariadb in Ubuntu 24. Remove the `--db-layout` option that was passed to the `addcourse` script. That is not valid for the script anymore. Note that this depends on openwebwork#2957, since the docker build will fail without the bug in the `addcourse` script fixed.
The `DBD::MariaDB` package is provided by the Ubuntu `libdb-mariadb-perl` package again. So that does not need to be installed from cpan anymore. Also change the mariadb docker image to version 11.8 to match the version used by Ubuntu 26. The `libio-compress-perl` Ubuntu package is a dependency of the `Archive::Zip::SimpleZip` Perl package that is needed since the Perl packages it provides fail to build when installed from cpan. It may be that they just need some other build dependency, but it is better to install the Ubuntu packages anyway. Several dependencies of the Perl `Net::SAML2` package were added to speed up the build some and avoid these being installed from cpan. Remove `install` from the `cpanm` command. That isn't a command or option for the `cpanm` command and results in the `install` perl package being installed which isn't needed. The `pgfsys-dvisvgm-bbox-fix.patch` file is not needed for Ubuntu 26. Its changes are included in upstream file installed on the system. Fix the comments about executing `docker compose`. That is no longer executed as `docker-compose`. Update the `docker-entrypoint.sh` to use `libpapers2`. The `libpapers1` package no longer exists. The `newgrp` command used in the `docker-entrypoint.sh` script is no longer is installed by default. The `util-linux-extra` package is needed for that.
660fa04 to
bc7868b
Compare
|
Everything should be fixed now. |
|
Tested again, RPC works fine. Should we merge or wait for more testing? |
|
I think merging is okay. |
The
DBD::MariaDBpackage is provided by the Ubuntulibdb-mariadb-perlpackage again. So that does not need to be installed from cpan anymore.Also change the mariadb docker image to version 11.8 to match the version used by Ubuntu 26.
The
libio-compress-perlUbuntu package is a dependency of theArchive::Zip::SimpleZipPerl package that is needed since the Perl packages it provides fail to build when installed from cpan. It may be that they just need some other build dependency, but it is better to install the Ubuntu packages anyway.Several dependencies of the Perl
Net::SAML2package were added to speed up the build some and avoid these being installed from cpan.Remove
installfrom thecpanmcommand. That isn't a command or option for thecpanmcommand and results in theinstallperl package being installed which isn't needed.The
pgfsys-dvisvgm-bbox-fix.patchfile is not needed for Ubuntu 26. Its changes are included in upstream file installed on the system.Fix the comments about executing
docker compose. That is no longer executed asdocker-compose.Update the
docker-entrypoint.shto uselibpapers2. Thelibpapers1package no longer exists.The
newgrpcommand used in thedocker-entrypoint.shscript is no longer is installed by default. Theutil-linux-extrapackage is needed for that.Note that this is built on top of #2958.