[MDEV-28500] Hashicorp: Debian packaging is broken Created: 2022-05-07  Updated: 2023-11-27  Resolved: 2022-05-10

Status: Closed
Project: MariaDB Server
Component/s: Packaging, Platform Debian, Plugins
Affects Version/s: N/A
Fix Version/s: 10.9.1

Type: Bug Priority: Critical
Reporter: Elena Stepanova Assignee: Julius Goryavsky
Resolution: Fixed Votes: 0
Labels: Cloned

Issue Links:
Blocks
Relates
relates to MDEV-19281 Vault Key Management Plugin Closed

 Description   

After recent rebases, two problems have appeared with hashicorp debian packaging.

First, it makes the whole debian build fail, see for example
http://buildbot.askmonty.org/buildbot/builders/kvm-deb-stretch-amd64/builds/27911/steps/compile/logs/stdio

bb-10.9-MDEV-19281-v5 a47e08aa2

dh_install: usr/share/doc/mariadb-hashicorp-key-management-10.9/hashicorp_key_management.txt exists in debian/tmp but is not installed to anywhere
dh_install: missing files, aborting
debian/rules:213: recipe for target 'binary' failed
make: *** [binary] Error 2

It started failing because the packages are now built with --fail-missing.
To fix, hashicorp_key_management.txt should be installed in a proper place or marked as not installed.

Second, if the problem above is solved and the packages get built, the hashicorp plugin package cannot be installed, see e.g.
http://buildbot.askmonty.org/buildbot/builders/kvm-deb-stretch-amd64/builds/27838/steps/install/logs/stdio

bb-10.9-MDEV-19281-v5 ccbc0df247b

The following packages have unmet dependencies:
 mariadb-plugin-hashicorp-key-management : Depends: mariadb-server-10.9 (= 1:10.9.0+maria~stretch)
E: Unable to correct problems, you have held broken packages.

It happens because mariadb-plugin-hashicorp-key-management depends on mariadb-server-10.9, while in the new Debian packaging it should be mariadb-server. Something like this should do the trick, I suppose (subject to checking by someone who knows something about Debian packaging):

diff --git a/debian/control b/debian/control
index 0fd1df3ac58e..f9401b9ff886 100644
--- a/debian/control
+++ b/debian/control
@@ -985,7 +985,7 @@ Description: CrackLib Password Validation Plugin for MariaDB
 
 Package: mariadb-plugin-hashicorp-key-management
 Architecture: any
-Depends: mariadb-server-10.9 (= ${binary:Version}),
+Depends: mariadb-server (= ${server:Version}),
          ${misc:Depends},
          ${shlibs:Depends}
 Description: Hashicorp Key Management plugin for MariaDB



 Comments   
Comment by Daniel Black [ 2022-05-10 ]

Good. Did one last amendment pushed to bb-10.9-MDEV-19281-v5 to keep the documentation directory consistent with the package name which seems to be the debian convention.

diff --git a/debian/mariadb-plugin-hashicorp-key-management.install b/debian/mariadb-plugin-hashicorp-key-management.install
index 55f7909d2bf..ca63f3df403 100644
--- a/debian/mariadb-plugin-hashicorp-key-management.install
+++ b/debian/mariadb-plugin-hashicorp-key-management.install
@@ -1,3 +1,3 @@
 etc/mysql/mariadb.conf.d/hashicorp_key_management.cnf
 usr/lib/mysql/plugin/hashicorp_key_management.so
-usr/share/doc/mariadb-hashicorp-key-management/hashicorp_key_management.txt
+usr/share/doc/mariadb-plugin-hashicorp-key-management/hashicorp_key_management.txt
diff --git a/plugin/hashicorp_key_management/CMakeLists.txt b/plugin/hashicorp_key_management/CMakeLists.txt
index af854dec0ac..c68b6ccb719 100644
--- a/plugin/hashicorp_key_management/CMakeLists.txt
+++ b/plugin/hashicorp_key_management/CMakeLists.txt
@@ -19,4 +19,4 @@ MYSQL_ADD_PLUGIN(HASHICORP_KEY_MANAGEMENT
 ADD_FEATURE_INFO(HASHICORP_KEY_MANAGEMENT "ON" "Hashicorp Key Management Plugin")
 
 INSTALL_DOCUMENTATION(hashicorp_key_management.txt
-  COMPONENT hashicorp-key-management)
+  COMPONENT plugin-hashicorp-key-management)

Comment by Julius Goryavsky [ 2022-05-10 ]

Fixed, https://github.com/MariaDB/server/commit/404984980feeb4d9d4906cbd166f38d163b096d2

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