[debian-mysql] Bug#1053738: mariadb: what's up with the binary sizes?

наб nabijaczleweli at nabijaczleweli.xyz
Tue Oct 10 00:22:43 BST 2023


Source: mariadb
Version: 1:10.11.4-1~deb12u1
Severity: wishlist

Dear Maintainer,

A baseline 
  # apt install mariadb-server --no-install-recommends
is
  The following NEW packages will be installed:
    galera-4 libconfig-inifiles-perl mariadb-client mariadb-client-core mariadb-server mariadb-server-core psmisc
  0 upgraded, 7 newly installed, 0 to remove and 2 not upgraded.
  Need to get 15.8 MB of archives.
  After this operation, 184 MB of additional disk space will be used.
  Do you want to continue? [Y/n]

Huh?

  $ apt info galera-4 libconfig-inifiles-perl mariadb-client mariadb-client-core mariadb-server mariadb-server-core psmisc | grep -we Package -e Installed
  Package: galera-4
  Installed-Size: 2,363 kB
  Package: libconfig-inifiles-perl
  Installed-Size: 126 kB
  Package: mariadb-client
  Installed-Size: 64.4 MB
  Package: mariadb-client-core
  Installed-Size: 15.0 MB
  Package: mariadb-server
  Installed-Size: 55.2 MB
  Package: mariadb-server-core
  Installed-Size: 45.7 MB
  Package: psmisc
  Installed-Size: 931 kB
(for reference, a full postgres is like 60M;
 it's fundamentally impossible for any piece of software to be this size).

And indeed, mariadb-server-core has a /usr/bin/resolveip which is 4.5M.
And does... what host(1) does (five libc calls) in 113k.

mariadb-server has
  $ du -hsc usr/bin/*{myisam,aria_}*
  4.9M    usr/bin/myisamchk
  4.8M    usr/bin/myisam_ftdump
  4.7M    usr/bin/myisamlog
  4.8M    usr/bin/myisampack
  5.3M    usr/bin/aria_chk
  5.1M    usr/bin/aria_dump_log
  5.1M    usr/bin/aria_ftdump
  5.2M    usr/bin/aria_pack
  5.3M    usr/bin/aria_read_log
  45.2M   total
and these are all linked to libc and some to libc++.
And they tar | gzip to 11M.

mariadb-client has
  $ du -ahd1 usr/bin/ | grep M
  4.5M    usr/bin/resolve_stack_dump
  4.4M    usr/bin/replace
  4.7M    usr/bin/perror
  4.5M    usr/bin/mariadb-waitpid
  4.5M    usr/bin/mariadb-tzinfo-to-sql
  4.8M    usr/bin/mariadb-slap
  4.8M    usr/bin/mariadb-show
  4.5M    usr/bin/mariadb-plugin
  4.8M    usr/bin/mariadb-import
  4.8M    usr/bin/mariadb-dump
  4.5M    usr/bin/mariadb-conv
  5M      usr/bin/mariadb-binlog
  4.8M    usr/bin/mariadb-admin
  61.2M   usr/bin/

and mariadb-client-core has
  $ du -ahd1 usr/bin/ | grep M
  4.5M    usr/bin/my_print_defaults
  4.8M    usr/bin/mariadb-check
  5M      usr/bin/mariadb
  14.2M   usr/bin/

All of them being 4.5M + a reasonable size for a binary is, shall I say...
sus?

Can these link to a proverbial libmariadb.so instead
(like systemd has with a hard dep like "libsystemd-shared (= 252.17-1~deb12u1)")?
Or if not can they be linked to libmariadb.a with -flto,
in hopes the linker can make less of a hash of this?

Because I don't think I'm being hyperbolic when I say this is egregious.

Best,
наб

-- System Information:
Debian Release: 12.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-9-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-mysql-maint/attachments/20231010/1d6370fe/attachment.sig>


More information about the pkg-mysql-maint mailing list