[MDEV-28397] New .deb required for Ubuntu 22.04 with libssl3 and liburing2 Created: 2022-04-23  Updated: 2023-01-02  Resolved: 2022-06-01

Status: Closed
Project: MariaDB Server
Component/s: Packaging, Server
Affects Version/s: 10.5.15, 10.6.7, 10.7.3
Fix Version/s: 10.6.9, 10.7.5

Type: Bug Priority: Major
Reporter: Wong Hoi Sing Edison Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: packaging
Environment:

Ubuntu 22.04 LTS


Issue Links:
Relates
relates to MDEV-28133 Backport OpenSSL-3.0 compatibility to... Closed
relates to MDEV-30322 Installing MariaDB 10.5 or older 10.4... Open

 Description   

Currently all of our .deb are build with libssl1.1 and liburing1, where Ubuntu 22.04 now shipping with libssl3 and liburing2 (as like as Debian experimental) only, making the installation failed. We need a new package for it.

Initial failed message:

root@eo3wieng7fia-1:~# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04 LTS
Release:	22.04
Codename:	jammy
 
root@eo3wieng7fia-1:~# cat /etc/apt/sources.list.d/mariadb.list 
deb [arch=amd64] http://mirror.mariadb.org/repo/10.6/ubuntu impish main
 
root@eo3wieng7fia-1:~# apt -y install mysql-common mariadb-server-10.6 mariadb-backup
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
mysql-common is already the newest version (1:10.7.3+maria~impish).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
 
The following packages have unmet dependencies:
 mariadb-backup : Depends: mariadb-client-core-10.6 (= 1:10.6.7+maria~impish) but it is not going to be installed
                  Depends: libssl1.1 (>= 1.1.1) but it is not installable
                  Depends: liburing1 (>= 0.7) but it is not installable
 mariadb-server-10.6 : Depends: galera-4 (>= 26.4) but it is not going to be installed
                       Depends: mariadb-client-10.6 (>= 1:10.6.7+maria~impish) but it is not going to be installed
                       Depends: mariadb-server-core-10.6 (>= 1:10.6.7+maria~impish) but it is not going to be installed
                       Depends: libssl1.1 (>= 1.1.0) but it is not installable
                       Recommends: libhtml-template-perl but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Quick workaround by manually install Ubuntu 21.10 libssl1.1 and liburing1:

root@eo3wieng7fia-1:~# wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1l-1ubuntu1.2_amd64.deb
 
root@eo3wieng7fia-1:~# wget http://archive.ubuntu.com/ubuntu/pool/main/libu/liburing/liburing1_0.7-3ubuntu3_amd64.deb
 
root@eo3wieng7fia-1:~# dpkg -i *.deb
 
root@eo3wieng7fia-1:~# apt -y install mysql-common mariadb-server-10.6 mariadb-backup
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
mysql-common is already the newest version (1:10.7.3+maria~impish).
The following additional packages will be installed:
  galera-4 libcgi-fast-perl libcgi-pm-perl libclone-perl libdaxctl1 libdbd-mysql-perl libdbi-perl
  libencode-locale-perl libfcgi-bin libfcgi-perl libfcgi0ldbl libhtml-parser-perl libhtml-tagset-perl
  libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl
  libmariadb3 libmysqlclient21 libndctl6 libpmem1 mariadb-client-10.6 mariadb-client-core-10.6
  mariadb-common mariadb-server-core-10.6
Suggested packages:
  libmldbm-perl libnet-daemon-perl libsql-statement-perl libdata-dump-perl libipc-sharedcache-perl
  mailx mariadb-test
The following NEW packages will be installed:
  galera-4 libcgi-fast-perl libcgi-pm-perl libclone-perl libdaxctl1 libdbd-mysql-perl libdbi-perl
  libencode-locale-perl libfcgi-bin libfcgi-perl libfcgi0ldbl libhtml-parser-perl libhtml-tagset-perl
  libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl
  libmariadb3 libmysqlclient21 libndctl6 libpmem1 mariadb-backup mariadb-client-10.6
  mariadb-client-core-10.6 mariadb-common mariadb-server-10.6 mariadb-server-core-10.6
0 upgraded, 28 newly installed, 0 to remove and 1 not upgraded.
Need to get 34.3 MB of archives.
After this operation, 226 MB of additional disk space will be used.
 
root@eo3wieng7fia-1:~# mariadb --version
mariadb  Ver 15.1 Distrib 10.6.7-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper
 
root@eo3wieng7fia-1:~# systemctl status mariadb.service 
● mariadb.service - MariaDB 10.6.7 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/mariadb.service.d
             └─migrated-from-my.cnf-settings.conf
     Active: active (running) since Sat 2022-04-23 04:58:13 UTC; 53s ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 4983 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited,>
    Process: 4984 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited>
    Process: 4986 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bi>
    Process: 5028 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exite>
    Process: 5030 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
   Main PID: 5015 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 13 (limit: 9411)
     Memory: 57.4M
     CGroup: /system.slice/mariadb.service
             └─5015 /usr/sbin/mariadbd
 
Apr 23 04:58:13 eo3wieng7fia-1 mariadbd[5015]: Version: '10.6.7-MariaDB-1:10.6.7+maria~impish'  socket: >
Apr 23 04:58:13 eo3wieng7fia-1 systemd[1]: Started MariaDB 10.6.7 database server.
Apr 23 04:58:13 eo3wieng7fia-1 /etc/mysql/debian-start[5032]: Upgrading MySQL tables if necessary.
Apr 23 04:58:13 eo3wieng7fia-1 /etc/mysql/debian-start[5035]: Looking for 'mysql' as: /usr/bin/mysql
Apr 23 04:58:13 eo3wieng7fia-1 /etc/mysql/debian-start[5035]: Looking for 'mysqlcheck' as: /usr/bin/mysq>
Apr 23 04:58:13 eo3wieng7fia-1 /etc/mysql/debian-start[5035]: This installation of MariaDB is already up>
Apr 23 04:58:13 eo3wieng7fia-1 /etc/mysql/debian-start[5035]: There is no need to run mysql_upgrade agai>
Apr 23 04:58:13 eo3wieng7fia-1 /etc/mysql/debian-start[5035]: You can use --force if you still want to r>
Apr 23 04:58:13 eo3wieng7fia-1 /etc/mysql/debian-start[5043]: Checking for insecure root accounts.
Apr 23 04:58:13 eo3wieng7fia-1 /etc/mysql/debian-start[5047]: Triggering myisam-recover for all MyISAM t>

Moreover, Ubuntu 22.04 distro mariadb-server-10.6 https://packages.ubuntu.com/jammy/mariadb-server-core-10.6 is now building with:

libssl3 (>= 3.0.0~~alpha1)
    Secure Sockets Layer toolkit - shared libraries 
liburing2 (>= 2.1)
    Linux kernel io_uring access library - shared library 



 Comments   
Comment by Elena Stepanova [ 2022-04-23 ]

Ubuntu 22.04 packages will be released with the next release set. The release schedule can be found at JIRA dashboard.

Comment by Elena Stepanova [ 2022-04-26 ]

Actually, you don't need to wait for the release.
Ubuntu 22.04 has 10.6.7 in its own repositories, just install from there instead of using impish packages.

Comment by Wong Hoi Sing Edison [ 2022-04-29 ]

Thank you for sharing the on going release schedule (I guess 2022-04-29, e.g. 10.7.4: https://jira.mariadb.org/projects/MDEV/versions/27504), and I had already tried with Ubuntu 22.04 distro package without any issue.

BTW, my daily use cases is a bit fancy and special:

  • With my Ansible Role for MariaDB (https://github.com/alvistack/ansible-role-mariadb), I keep tracking some common reusable installation procedure for both Ubuntu / Debian / CentOS / RHEL / Fedora / openSUSE across multiple OS release and MariaDB release matrix (e.g. Ubuntu 22.04 + MariaDB 10.5 / 10.6 / 10.7)
  • Then I reuse above Ansible Role for my Docker image packaging (https://github.com/alvistack/docker-mariadb), with Packer + Podman + Ansible + Ubuntu 22.04 + MariaDB 10.5 / 10.6 / 10.7 + Kubernetes peer-finder patch
  • Therefore for my client's production Drupal web hosting, I will manage it with Kubernetes + CephFS + Containers (e.g. Apache 2.4 + PHP 8.1 + MariaDB 10.7)

As long as I would like to update all of my containers base image from Ubuntu 20.04 to 22.04, I am looking for a on-time reusable installation procedure + dirty workaround, then retouch it whenever upstream MariaDB could provide official repo for jammy later

Comment by Elena Stepanova [ 2022-04-29 ]

I had already tried with Ubuntu 22.04 distro package without any issue.

Great, thanks for confirming. For others who already need 10.6 packages for Ubuntu 22.04, I recommend also using ones from the distro repositories for the time being.
It appears we might not be able to backport adjustments necessary for Ubuntu 22.04 in time to release 10.6/10.7 in this release set. The distro packages already have them in place.

Comment by Wong Hoi Sing Edison [ 2022-04-29 ]

It appears we might not be able to backport adjustments necessary for Ubuntu 22.04 in time to release 10.6/10.7 in this release set. The distro packages already have them in place.

Ideally we don't need to adjust the `debian/control` for Ubuntu 22.04 specifically, because those `-dev` package will automatically point to their updated version:

What we need to change should be "include Ubuntu 22.04 into the build pipeline" and that's all?

Comment by Daniel Black [ 2022-06-01 ]

This required code changes per MDEV-28133 . It was more than a packaging change.

Generated at Thu Feb 08 10:00:25 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.