[MDEV-28284] galera-4 a Recommends instead of Depends in Debian packaging Created: 2022-04-11  Updated: 2023-10-31

Status: Stalled
Project: MariaDB Server
Component/s: Packaging, Platform Debian
Affects Version/s: 11.4
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Tuukka Pasanen Assignee: Tuukka Pasanen
Resolution: Unresolved Votes: 0
Labels: None

Sub-Tasks:
Key
Summary
Type
Status
Assignee
MDEV-30778 Remove AWK from mysql_install_db.sh s... Technical task Closed Tuukka Pasanen  
MDEV-30837 Remove AWK need for installation of M... Technical task Closed Daniel Black  
MDEV-30953 Add Debian mariadb-galera-server package Technical task Stalled Tuukka Pasanen  
MDEV-30954 Remove lsof from mariadb-server.postinst Technical task Open Tuukka Pasanen  

 Description   

Currently MariaDB has hard dependency of galera-4 which should not be like that. Galera should be in recommends but then there is several scripts:

PR #1829 suggests to start recommend galera-4 and also tools that are assioisated with Galera scripts like:

  • gawk
  • iproute2
  • libdbi-perl
  • rsync
  • socat
  • lsof

Several of these tools are used in tree and required by other tools to work:

lsof command

package mariadb-server

  • debian/mariadb-server.postinst
  • scripts/wsrep_sst_common.sh
  • scripts/wsrep_sst_backup.sh
  • scripts/wsrep_sst_rsync.sh

package mariadb-test

  • mysql-test/suite/galera_3nodes/suite.pm
  • mysql-test/suite/galera/suite.pm
  • mysql-test/suite/innodb/t/alter_inplace_perfschema.test

package not-installed

  • support-files/policy/apparmor/usr.sbin.mysqld

awk command

package mariadb-server

  • scripts/wsrep_sst_mysqldump.sh
  • debian/mariadb-server.mariadb.init
  • debian/mariadb-server.preinst
  • debian/autobake-deb.sh
  • support-files/mini-benchmark

package mariadb-server-core

  • scripts/mysql_install_db.sh

package not-installed

  • scripts/mysql_config
  • support-files/policy/apparmor/usr.sbin.mysqld

Not installed at all

  • scripts/sys_schema/generate_sql_file.sh

rsync command

package mariadb-server

  • scripts/wsrep_sst_rsync.sh
  • sql/wsrep_sst.h
  • sql/wsrep_mysqld.cc

package mariadb-backup

  • extra/mariabackup/innobackupex.cc
  • extra/mariabackup/backup_copy.cc
  • extra/mariabackup/xtrabackup.cc
  • extra/mariabackup/xtrabackup.h

package mariadb-test

  • mysql-test/suite/galera/*
  • mysql-test/suite/sys_vars/*
  • mysql-test/suite/wsrep/common.pm

package not-installed

  • support-files/policy/apparmor/usr.sbin.mysqld
  • support-files/policy/selinux/mariadb-server.te
  • support-files/wsrep.cnf.sh

socat command

package mariadb-test

  • mysql-test/include/have_mariabackup.inc
  • scripts/wsrep_sst_mariabackup.sh

package mariadb-server

  • mysql-test/suite/wsrep/common.pm
  • mysql-test/suite/galera/*

package not-installed

  • support-files/policy/apparmor/usr.sbin.mysqld

iproute2 commands

package mariadb-server

  • scripts/wsrep_sst_common.sh

Every recommend should be tested as removing Galera would make wsrep_sst_* scripts non-functional without adding that package in Debian or any other distro.

Debian bug for this is: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=988089



 Comments   
Comment by Tuukka Pasanen [ 2022-04-22 ]

Summary:

  • libdbi-perl can be moved to mariadb-test package dependency and removed altogether from mariadb-server
  • socat can be optional if we don't have Galera 4 as it's only used in there but should moved hard dependency of mariadb-test as it required there
  • (g)awk can't be optional as mysql_install_db.sh is requiring it and it's used in Debian mariadb-server preinst-script
  • iproute2 is used in several places
  • rsync can be optional for mariadb-server but is requires by mysql-test and mariadb-backup. So if it's optional here then it must be hard dependency there
  • lsof can't be optional as it's used mariadb-server postinst-script
Comment by Daniel Black [ 2022-04-22 ]

libdbi-perl related - MDEV-28376

Generated at Thu Feb 08 09:59:31 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.