[MDEV-21654] binary library file pam_mariadb_mtr.so installed among test data files Created: 2020-02-04  Updated: 2024-01-30

Status: In Testing
Project: MariaDB Server
Component/s: Packaging, Tests
Affects Version/s: 10.4.12
Fix Version/s: 10.4

Type: Bug Priority: Minor
Reporter: Otto Kekäläinen Assignee: Sergei Golubchik
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Blocks
blocks MDEV-21869 Make MariaDB 10.5 Lintian clean (Debi... Stalled
Duplicate
is duplicated by MDEV-29497 pam_mariadb_mtr.so packaged in mariad... Open
Relates
relates to MDEV-21653 test binaries my_safe_process and wsr... Open

 Description   

While updating MariaDB 10.4.12 to Debian (after doing 10.4.6 in the summer) I came across this Lintian error (which did not yet exist in 10.4.6):

E: mariadb-test-data: arch-dependent-file-in-usr-share usr/share/mysql/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so
 E: mariadb-test-data: arch-independent-package-contains-binary-or-object usr/share/mysql/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so

Why is this binary library file installed among test data files? Why not install it in the same directory as all other plugins, e.g. usr/lib/*/mariadb19/plugin/ ?



 Comments   
Comment by Sergei Golubchik [ 2020-02-05 ]

Because it is not a plugin, it's a pam module for /lib/x86_64-linux-gnu/security (but a very lousy one with hard-coded passwords, so shouldn't be installed automatically)

What do you suggest us to do? Where should it be installed?
Alternatively, we can just not build it on Debian, if you'd like that.

Comment by Otto Kekäläinen [ 2020-03-14 ]

Issue MDEV-21653 is basically identical. The requirement is that the package mariadb-test-data should not contain any arch specific files.

How about installing this at /usr/share/mysql/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so ?

Then it is easy to have in the mariadb-test package and not in the -data package.

Comment by Otto Kekäläinen [ 2020-04-09 ]

Daniel Black

regarding pam_mariadb_mtr.so its neither a client connection plugin or a server plugin. Its a shared library used by pam itself. in /lib/security/ maybe based on https://packages.debian.org/buster/amd64/libpam-pkcs11/filelist . plugin/auth_pam/testing/mariadb_mtr.conf also needs to be installed (per within comments) for mtr to work with it.

Comment by Otto Kekäläinen [ 2021-07-06 ]

With the latest version of Lintian, the complaint about 10.5.10 is:

arch-dependent-file-in-usr-share usr/share/mysql/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so
arch-independent-package-contains-binary-or-object usr/share/mysql/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so
missing-dependency-on-libc needed by usr/share/mysql/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so
unstripped-binary-or-object usr/share/mysql/mysql-test/suite/plugins/pam/pam_mariadb_mtr.so

Comment by Otto Kekäläinen [ 2024-01-28 ]

With Debhelper version 13 this became a hard error/blocker in Debian, so I solved it for now by simply removing the file: https://salsa.debian.org/mariadb-team/mariadb-server/-/commit/4abb5482ab1cdcd9659b8bf6da57b7c27233f7ef

I can put it back if upstream changes to location to the same place where all other test plugins are.

I don't see a strong reason to have all other test plugins in one place and just this one in a separate place.

Comment by Sergei Golubchik [ 2024-01-30 ]

See my first comment, pam_mariadb_mtr.so is not a plugin, it's a pam module, like /lib/x86_64-linux-gnu/security/pam_unix.so, but it cannot be installed automatically, because it uses hard-coded passwords.

Best is not to include it at all, indeed.

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