diff -pruN 0.7.3-2/debian/changelog 0.7.3-2ubuntu2/debian/changelog
--- 0.7.3-2/debian/changelog	2021-01-29 18:04:58.000000000 +0000
+++ 0.7.3-2ubuntu2/debian/changelog	2022-02-18 23:39:55.000000000 +0000
@@ -1,3 +1,15 @@
+dislocker (0.7.3-2ubuntu2) jammy; urgency=medium
+
+  * No-change rebuild against libmbedcrypto7
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Fri, 18 Feb 2022 23:39:55 +0000
+
+dislocker (0.7.3-2ubuntu1) jammy; urgency=medium
+
+  * d/p/fix-FTBFS-with-ruby3.0.patch: apply upstream patch to support Ruby 3.0.
+
+ -- Lucas Kanashiro <kanashiro@ubuntu.com>  Fri, 03 Dec 2021 11:59:33 -0300
+
 dislocker (0.7.3-2) unstable; urgency=medium
 
   * debian/tests/*: created to provide trivial tests.
diff -pruN 0.7.3-2/debian/control 0.7.3-2ubuntu2/debian/control
--- 0.7.3-2/debian/control	2021-01-29 18:04:58.000000000 +0000
+++ 0.7.3-2ubuntu2/debian/control	2021-12-03 14:59:33.000000000 +0000
@@ -1,7 +1,8 @@
 Source: dislocker
 Section: utils
 Priority: optional
-Maintainer: Debian Security Tools <team+pkg-security@tracker.debian.org>
+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
+XSBC-Original-Maintainer: Debian Security Tools <team+pkg-security@tracker.debian.org>
 Uploaders: Giovani Augusto Ferreira <giovani@debian.org>
 Build-Depends: cmake,
                debhelper-compat (=13),
diff -pruN 0.7.3-2/debian/patches/fix-FTBFS-with-ruby3.0.patch 0.7.3-2ubuntu2/debian/patches/fix-FTBFS-with-ruby3.0.patch
--- 0.7.3-2/debian/patches/fix-FTBFS-with-ruby3.0.patch	1970-01-01 00:00:00.000000000 +0000
+++ 0.7.3-2ubuntu2/debian/patches/fix-FTBFS-with-ruby3.0.patch	2021-12-03 14:59:33.000000000 +0000
@@ -0,0 +1,174 @@
+From 77fcdd8e00e6934d4e503aaf9743d563f249129d Mon Sep 17 00:00:00 2001
+From: Mamoru TASAKA <mtasaka@fedoraproject.org>
+Date: Thu, 7 Jan 2021 20:53:55 +0900
+Subject: [PATCH] Fix build failure with ruby 3.0
+
+With ruby 3.0, build fails like:
+
+```
+/builddir/build/BUILD/dislocker-0.7.3/src/config.c: In function 'setclearkey':
+/builddir/build/BUILD/dislocker-0.7.3/src/config.c:59:13: error: expected identifier or '(' before numeric constant
+   59 |         int true = TRUE;
+```
+
+This is because ruby 3.0 header will include <stdbool.h>, which defines
+"true"/"false", ref:
+https://pubs.opengroup.org/onlinepubs/009695399/basedefs/stdbool.h.html
+
+So using "true" as variable must be renamed.
+
+Origin: upstream, https://github.com/Aorimn/dislocker/commit/77fcdd8e00
+Forwarded: yes, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1001217
+Reviwed-By: Lucas Kanashiro <kanashiro@ubuntu.com>
+---
+ src/config.c | 50 +++++++++++++++++++++++++-------------------------
+ 1 file changed, 25 insertions(+), 25 deletions(-)
+
+diff --git a/src/config.c b/src/config.c
+index 2f1bdbc..f9b9423 100644
+--- a/src/config.c
++++ b/src/config.c
+@@ -56,13 +56,13 @@ static void hide_opt(char* opt)
+ static void setclearkey(dis_context_t dis_ctx, char* optarg)
+ {
+ 	(void) optarg;
+-	int true = TRUE;
+-	dis_setopt(dis_ctx, DIS_OPT_USE_CLEAR_KEY, &true);
++	int trueval = TRUE;
++	dis_setopt(dis_ctx, DIS_OPT_USE_CLEAR_KEY, &trueval);
+ }
+ static void setbekfile(dis_context_t dis_ctx, char* optarg)
+ {
+-	int true = TRUE;
+-	dis_setopt(dis_ctx, DIS_OPT_USE_BEK_FILE, &true);
++	int trueval = TRUE;
++	dis_setopt(dis_ctx, DIS_OPT_USE_BEK_FILE, &trueval);
+ 	dis_setopt(dis_ctx, DIS_OPT_SET_BEK_FILE_PATH, optarg);
+ }
+ static void setforceblock(dis_context_t dis_ctx, char* optarg)
+@@ -76,14 +76,14 @@ static void setforceblock(dis_context_t dis_ctx, char* optarg)
+ }
+ static void setfvek(dis_context_t dis_ctx, char* optarg)
+ {
+-	int true = TRUE;
+-	dis_setopt(dis_ctx, DIS_OPT_USE_FVEK_FILE, &true);
++	int trueval = TRUE;
++	dis_setopt(dis_ctx, DIS_OPT_USE_FVEK_FILE, &trueval);
+ 	dis_setopt(dis_ctx, DIS_OPT_SET_FVEK_FILE_PATH, optarg);
+ }
+ static void setvmk(dis_context_t dis_ctx, char* optarg)
+ {
+-	int true = TRUE;
+-	dis_setopt(dis_ctx, DIS_OPT_USE_VMK_FILE, &true);
++	int trueval = TRUE;
++	dis_setopt(dis_ctx, DIS_OPT_USE_VMK_FILE, &trueval);
+ 	dis_setopt(dis_ctx, DIS_OPT_SET_VMK_FILE_PATH, optarg);
+ }
+ static void setlogfile(dis_context_t dis_ctx, char* optarg)
+@@ -97,8 +97,8 @@ static void setoffset(dis_context_t dis_ctx, char* optarg)
+ }
+ static void setrecoverypwd(dis_context_t dis_ctx, char* optarg)
+ {
+-	int true = TRUE;
+-	dis_setopt(dis_ctx, DIS_OPT_USE_RECOVERY_PASSWORD, &true);
++	int trueval = TRUE;
++	dis_setopt(dis_ctx, DIS_OPT_USE_RECOVERY_PASSWORD, &trueval);
+ 	dis_setopt(dis_ctx, DIS_OPT_SET_RECOVERY_PASSWORD, optarg);
+ 	hide_opt(optarg);
+ }
+@@ -111,19 +111,19 @@ static void setquiet(dis_context_t dis_ctx, char* optarg)
+ static void setro(dis_context_t dis_ctx, char* optarg)
+ {
+ 	(void) optarg;
+-	int true = TRUE;
+-	dis_setopt(dis_ctx, DIS_OPT_READ_ONLY, &true);
++	int trueval = TRUE;
++	dis_setopt(dis_ctx, DIS_OPT_READ_ONLY, &trueval);
+ }
+ static void setstateok(dis_context_t dis_ctx, char* optarg)
+ {
+ 	(void) optarg;
+-	int true = TRUE;
+-	dis_setopt(dis_ctx, DIS_OPT_DONT_CHECK_VOLUME_STATE, &true);
++	int trueval = TRUE;
++	dis_setopt(dis_ctx, DIS_OPT_DONT_CHECK_VOLUME_STATE, &trueval);
+ }
+ static void setuserpassword(dis_context_t dis_ctx, char* optarg)
+ {
+-	int true = TRUE;
+-	dis_setopt(dis_ctx, DIS_OPT_USE_USER_PASSWORD, &true);
++	int trueval = TRUE;
++	dis_setopt(dis_ctx, DIS_OPT_USE_USER_PASSWORD, &trueval);
+ 	dis_setopt(dis_ctx, DIS_OPT_SET_USER_PASSWORD, optarg);
+ 	hide_opt(optarg);
+ }
+@@ -266,7 +266,7 @@ int dis_getopts(dis_context_t dis_ctx, int argc, char** argv)
+ 		return -1;
+ 
+ 	dis_config_t* cfg = &dis_ctx->cfg;
+-	int true = TRUE;
++	int trueval = TRUE;
+ 
+ 
+ 	long_opts = malloc(nb_options * sizeof(struct option));
+@@ -285,12 +285,12 @@ int dis_getopts(dis_context_t dis_ctx, int argc, char** argv)
+ 		{
+ 			case 'c':
+ 			{
+-				dis_setopt(dis_ctx, DIS_OPT_USE_CLEAR_KEY, &true);
++				dis_setopt(dis_ctx, DIS_OPT_USE_CLEAR_KEY, &trueval);
+ 				break;
+ 			}
+ 			case 'f':
+ 			{
+-				dis_setopt(dis_ctx, DIS_OPT_USE_BEK_FILE, &true);
++				dis_setopt(dis_ctx, DIS_OPT_USE_BEK_FILE, &trueval);
+ 				dis_setopt(dis_ctx, DIS_OPT_SET_BEK_FILE_PATH, optarg);
+ 				break;
+ 			}
+@@ -312,13 +312,13 @@ int dis_getopts(dis_context_t dis_ctx, int argc, char** argv)
+ 			}
+ 			case 'k':
+ 			{
+-				dis_setopt(dis_ctx, DIS_OPT_USE_FVEK_FILE, &true);
++				dis_setopt(dis_ctx, DIS_OPT_USE_FVEK_FILE, &trueval);
+ 				dis_setopt(dis_ctx, DIS_OPT_SET_FVEK_FILE_PATH, optarg);
+ 				break;
+ 			}
+ 			case 'K':
+ 			{
+-				dis_setopt(dis_ctx, DIS_OPT_USE_VMK_FILE, &true);
++				dis_setopt(dis_ctx, DIS_OPT_USE_VMK_FILE, &trueval);
+ 				dis_setopt(dis_ctx, DIS_OPT_SET_VMK_FILE_PATH, optarg);
+ 				break;
+ 			}
+@@ -340,7 +340,7 @@ int dis_getopts(dis_context_t dis_ctx, int argc, char** argv)
+ 			}
+ 			case 'p':
+ 			{
+-				dis_setopt(dis_ctx, DIS_OPT_USE_RECOVERY_PASSWORD, &true);
++				dis_setopt(dis_ctx, DIS_OPT_USE_RECOVERY_PASSWORD, &trueval);
+ 				dis_setopt(dis_ctx, DIS_OPT_SET_RECOVERY_PASSWORD, optarg);
+ 				hide_opt(optarg);
+ 				break;
+@@ -353,17 +353,17 @@ int dis_getopts(dis_context_t dis_ctx, int argc, char** argv)
+ 			}
+ 			case 'r':
+ 			{
+-				dis_setopt(dis_ctx, DIS_OPT_READ_ONLY, &true);
++				dis_setopt(dis_ctx, DIS_OPT_READ_ONLY, &trueval);
+ 				break;
+ 			}
+ 			case 's':
+ 			{
+-				dis_setopt(dis_ctx, DIS_OPT_DONT_CHECK_VOLUME_STATE, &true);
++				dis_setopt(dis_ctx, DIS_OPT_DONT_CHECK_VOLUME_STATE, &trueval);
+ 				break;
+ 			}
+ 			case 'u':
+ 			{
+-				dis_setopt(dis_ctx, DIS_OPT_USE_USER_PASSWORD, &true);
++				dis_setopt(dis_ctx, DIS_OPT_USE_USER_PASSWORD, &trueval);
+ 				dis_setopt(dis_ctx, DIS_OPT_SET_USER_PASSWORD, optarg);
+ 				hide_opt(optarg);
+ 				break;
diff -pruN 0.7.3-2/debian/patches/series 0.7.3-2ubuntu2/debian/patches/series
--- 0.7.3-2/debian/patches/series	2021-01-29 18:04:58.000000000 +0000
+++ 0.7.3-2ubuntu2/debian/patches/series	2021-12-03 14:59:33.000000000 +0000
@@ -1,2 +1,3 @@
 fix-spelling.patch
 fix-lib-path.patch
+fix-FTBFS-with-ruby3.0.patch
