During the update of the image dependencies to use the latest version that was implemented along with the drupal upgrade to 10.2 (#32 (closed)), the packages php8-mbstring and php8-pecl-imagick had to be updated to php81-pecl-imagick and php81-mbstring, so as to be available from the latest v3.19 alpine repos.
It has been identified from an incident raised in alice-figure site (https://cern.service-now.com/nav_to.do?uri=incident.do?sys_id=899f68a697bec2107e7137a71153af28) #35 (closed), that those packages had different dependencies than the preexisting, therefore leading to some other packages that were available before, not to be installed.
The missing packages must be identified and added to the Dockerfile of the ' composerBuilderTag' explicitly, to avoid future issues and resolve the incident.
php81-common (8.1.28-r0) (instead of php8-common)php81-mbstring (8.1.28-r0) (instead of php8-mbstring)php81-pecl-imagick (3.7.0-r4) (instead of php8-pecl-imagick)
libunistringlibxrenderpixman glibcairo --> Depends on libxrendercairo-gobject --> Depends on cairo, glibdbus-libs avahi-libs --> Depends on dbus-libsgmp (6.2.1-r2) --> Installed then purged from "Executing coreutils-9.4-r2.post-deinstall"nettle libtasn1 p11-kit --> Depends on libtasn1gnutls --> Depends on libidn2 (2.3.4-r4)cups-libs --> Depends on avahi-libsjbig2decshared-mime-info --> Depends on glibgdk-pixbuf --> will be installed from other Depends on glib, shared-mime-infofribidi pango --> Depends on fribidilibrsvg --> Depends on cairo, cairo-gobject, gdk-pixbuf, glib, pangographite2 harfbuzz --> Depends on graphite2libxft --> Depends on libxrender#incidentghostscript --> Depends on cups-libslibde265 numactl x265-libs --> Depends on numactllibheif --> Depends on x265-libs, libde265libhwy libjxl --> Depends on libhwy (Previously installed libjxl (0.6.1_git20220218-r0))
@crdeoliv I will try to narrow down the list only to the essential ones based on dependencies before procceding with the execution of the task.
The Dockerfile will be updated initially with the packages mentioned below and if the run is succesfull it will be verified that all missing packages have been installed:
The packages mentioned in my previous comment were added in the Dockerfile-composerbuilder and this resulted to all the missing packages (and all their dependencies) to be installed.
This was verified from the raw output of the job execution (https://gitlab.cern.ch/drupal/paas/cern-drupal-distribution/-/jobs/40336011/raw).
Specifically for ghostscript:
The new composerBuilderTag: 'dev10.2-0-pack-fix-204bde3e' was added in the softwareVersions file:
[cpetala@lxplus809 images]$ cat softwareVersionsphp: '8.1-rc-fpm-alpine'# These values together define the version of nginx# Ref: https://github.com/nginxinc/docker-nginx/blob/master/stable/alpine/Dockerfilenginx: '1.26.0'nginxNJS: '0.8.4'# This value is used to build the composer-builder ONLY.# It will NOT affect the sitebuilder directly.composer: '2.7.6'# This is instead the version of the composer builder that the sitebuilder will use.composerBuilderTag: 'dev10.2-0-pack-fix-204bde3e'
The final image used for testing in my test site https://mysite.web.cern.ch/ is the following:
My suggestion would be to test this new image in the clone site validate-alice-figure.web.cern.ch created yesterday from @vasvi due to the issue we had with alice-figures site and if possible someone from the web team to help us verify the proper operation of the gostview/imagemagik tool they use to convert images from pdf to eps, eps to pdf, pdf to gif, png, etc.
Thank you for gathering all the packages we're missing. I'm thinking if we should just restore ghostscript and put a pin on the rest; wdyt? Because perhaps they're not needed. We can wait to observe if the critical websites are ok without these modules as well; since they're sub-dependencies, normally people should not need them. Alice websites are a bit of a special case; not the norm.
The new image dev10.2-0-pack-fix-76e2ef2f with ghostscript package only was created, as discussed, and tested in my test site mysite and in an alice-figure clone validate-alice-figure.
[root@drupal okd4-install]# oc get drupalsite alice-figure -o yaml | grep -A2 version version: name: v10.1-1 releaseSpec: RELEASE-2024.06.05T08-37-24Z[root@drupal okd4-install]# oc exec -it alice-figure-776d96455f-hbjjj -c php-fpm -- sh/app $ which gs/usr/bin/gs
I would expect that this is all we need for this fix. As a side note here, during the upgrade of the clone from 10.1 to 10.2 (with ghostscript) i got the following warning while running drush updb:
In this fix we have also pinned drupal/panels to version: "drupal/panels": "4.8" due to failures of the site-builder during the automated execution of the pipeline of v10.2-0 . Changes in the composer.json file can be seen here: 3a11d5a3.