diff -pruN 0.11.4-1/debian/changelog 0.11.4-1ubuntu3/debian/changelog
--- 0.11.4-1/debian/changelog	2022-11-27 13:08:17.000000000 +0000
+++ 0.11.4-1ubuntu3/debian/changelog	2023-02-13 19:11:25.000000000 +0000
@@ -1,3 +1,33 @@
+pcs (0.11.4-1ubuntu3) lunar; urgency=medium
+
+  * d/p/0002-replace-thin-with-puma.patch: add upstream patch to replace thin
+    with puma. This change was suggested by the security team in order to
+    proceed with the promotion to main.
+  * d/control: depend on puma instead of thin.
+  * d/p/0003-Do-not-depend-on-daemons-gem.patch: the daemons gem is not needed
+    anymore since thin was removed as a dependency.
+
+ -- Lucas Kanashiro <kanashiro@ubuntu.com>  Mon, 13 Feb 2023 16:11:25 -0300
+
+pcs (0.11.4-1ubuntu2) lunar; urgency=medium
+
+  * d/p/0001-Do-not-depend-on-backports.patch: avoid dependency on
+    ruby-backports. This is needed for the pcs promotion to main since
+    ruby-backports will not be promoted.
+  * d/control: do not depend on ruby-backports.
+
+ -- Lucas Kanashiro <kanashiro@ubuntu.com>  Fri, 09 Dec 2022 10:28:19 -0300
+
+pcs (0.11.4-1ubuntu1) lunar; urgency=medium
+
+  * Merge with Debian unstable. Remaining changes:
+    - d/t/setup: Use the output of "uname -n" instead of "node1" as the
+      pacemaker node name. Adjust corosync.conf and restart services
+      before doing the cluster setup.
+    - d/t/control: add resource-agents-extra as a dependency of the snmp test.
+
+ -- Lucas Kanashiro <kanashiro@ubuntu.com>  Thu, 08 Dec 2022 09:19:47 -0300
+
 pcs (0.11.4-1) unstable; urgency=medium
 
   * New upstream version 0.11.4
@@ -18,6 +48,19 @@ pcs (0.11.3-2) unstable; urgency=high
 
  -- Valentin Vidic <vvidic@debian.org>  Sun, 04 Sep 2022 19:08:15 +0200
 
+pcs (0.11.3-1ubuntu1) kinetic; urgency=medium
+
+  * Merge with Debian unstable. Remaining changes:
+    - d/t/setup: Use the output of "uname -n" instead of "node1" as the
+      pacemaker node name. Adjust corosync.conf and restart services
+      before doing the cluster setup.
+    - d/t/control: add resource-agents-extra as a dependency of the snmp test.
+  * Dropped:
+    - d/control: depend on ruby-webrick explicitly.
+      [fixed in Debian version 0.10.11-3]
+
+ -- Lucas Kanashiro <kanashiro@ubuntu.com>  Wed, 17 Aug 2022 16:23:51 -0300
+
 pcs (0.11.3-1) unstable; urgency=medium
 
   * New upstream version 0.11.3
@@ -55,6 +98,28 @@ pcs (0.10.11-3) unstable; urgency=medium
 
  -- Valentin Vidic <vvidic@debian.org>  Wed, 15 Dec 2021 22:12:19 +0100
 
+pcs (0.10.11-2ubuntu3) jammy; urgency=medium
+
+  * d/t/control: add resource-agents-extra as a dependency of the snmp test
+    (LP: #1968221).
+
+ -- Lucas Kanashiro <kanashiro@ubuntu.com>  Thu, 07 Apr 2022 17:19:22 -0300
+
+pcs (0.10.11-2ubuntu2) jammy; urgency=medium
+
+  * d/control: depend on ruby-webrick explicitly.
+
+ -- Lucas Kanashiro <kanashiro@ubuntu.com>  Wed, 15 Dec 2021 12:31:47 -0300
+
+pcs (0.10.11-2ubuntu1) jammy; urgency=medium
+
+  * Merge with Debian unstable. Remaining changes:
+    - d/t/setup: Use the output of "uname -n" instead of "node1" as the
+      pacemaker node name. Adjust corosync.conf and restart services
+      before doing the cluster setup.
+
+ -- Lucas Kanashiro <kanashiro@ubuntu.com>  Wed, 15 Dec 2021 09:16:41 -0300
+
 pcs (0.10.11-2) unstable; urgency=medium
 
   [ Valentin Vidic ]
@@ -81,6 +146,14 @@ pcs (0.10.11-1) unstable; urgency=medium
 
  -- Valentin Vidic <vvidic@debian.org>  Sun, 07 Nov 2021 13:01:02 +0100
 
+pcs (0.10.8-1ubuntu1) impish; urgency=medium
+
+  * d/t/setup: Use the output of "uname -n" instead of "node1" as the
+    pacemaker node name. Adjust corosync.conf and restart services
+    before doing the cluster setup.
+
+ -- Sergio Durigan Junior <sergio.durigan@canonical.com>  Tue, 06 Jul 2021 12:01:19 -0400
+
 pcs (0.10.8-1) unstable; urgency=medium
 
   * New upstream version 0.10.8
diff -pruN 0.11.4-1/debian/control 0.11.4-1ubuntu3/debian/control
--- 0.11.4-1/debian/control	2022-11-27 12:36:25.000000000 +0000
+++ 0.11.4-1ubuntu3/debian/control	2023-02-13 19:11:25.000000000 +0000
@@ -1,7 +1,8 @@
 Source: pcs
 Section: admin
 Priority: optional
-Maintainer: Debian HA Maintainers <debian-ha-maintainers@lists.alioth.debian.org>
+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
+XSBC-Original-Maintainer: Debian HA Maintainers <debian-ha-maintainers@lists.alioth.debian.org>
 Uploaders:
  Valentin Vidic <vvidic@debian.org>
 Build-Depends:
@@ -10,6 +11,7 @@ Build-Depends:
  libpam0g-dev,
  pkg-config,
  psmisc,
+ puma,
  python3:any | python3-all:any | python3-dev:any | python3-all-dev:any | dh-sequence-python3,
  python3-cryptography,
  python3-dacite,
@@ -23,7 +25,6 @@ Build-Depends:
  python3-setuptools-scm,
  python3-tornado (>= 6.0.4),
  ruby,
- ruby-backports,
  ruby-childprocess,
  ruby-dev,
  ruby-ethon,
@@ -33,7 +34,6 @@ Build-Depends:
  ruby-sinatra,
  ruby-webrick,
  systemd,
- thin,
  wget,
 Rules-Requires-Root: no
 Standards-Version: 4.6.1
@@ -47,6 +47,7 @@ Depends:
  ${misc:Depends},
  lsb-base (>= 3.0-6),
  psmisc,
+ puma,
  ${python3:Depends},
  python3-dacite,
  python3-dateutil,
@@ -57,13 +58,11 @@ Depends:
  python3-pyparsing,
  python3-tornado (>= 6.0.4),
  ruby,
- ruby-backports,
  ruby-childprocess,
  ruby-ethon,
  ruby-json,
  ruby-sinatra,
- ruby-webrick,
- thin
+ ruby-webrick
 Pre-Depends: ${misc:Pre-Depends}
 Recommends: pacemaker (>= 2.0)
 Breaks: pacemaker (<< 2.0)
diff -pruN 0.11.4-1/debian/patches/0001-Do-not-depend-on-backports.patch 0.11.4-1ubuntu3/debian/patches/0001-Do-not-depend-on-backports.patch
--- 0.11.4-1/debian/patches/0001-Do-not-depend-on-backports.patch	1970-01-01 00:00:00.000000000 +0000
+++ 0.11.4-1ubuntu3/debian/patches/0001-Do-not-depend-on-backports.patch	2023-02-13 19:11:25.000000000 +0000
@@ -0,0 +1,38 @@
+From: Lucas Kanashiro <lucas.kanashiro@canonical.com>
+Date: Fri, 9 Dec 2022 10:26:38 -0300
+Subject: Do not depend on backports
+
+ruby-backports will not be promoted to main because it can be easily
+patched out. It is used to make pcs run with old version of ruby, which
+is not needed in our case.
+
+Forwarded: not-needed
+---
+ configure.ac | 1 -
+ pcsd/pcs.rb  | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index e59ee7e..f14c75e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -383,7 +383,6 @@ PCS_CHECK_GEM([power_assert])
+ PCS_CHECK_GEM([test-unit])
+ 
+ if test "x$tests_only" != "xyes"; then
+-	PCS_CHECK_GEM([backports])
+ 	PCS_CHECK_GEM([childprocess])
+ 	PCS_CHECK_GEM([daemons])
+ 	PCS_CHECK_GEM([ethon])
+diff --git a/pcsd/pcs.rb b/pcsd/pcs.rb
+index 6d8669d..6277658 100644
+--- a/pcsd/pcs.rb
++++ b/pcsd/pcs.rb
+@@ -9,7 +9,6 @@ require 'net/https'
+ require 'uri'
+ require 'json'
+ require 'fileutils'
+-require 'backports/latest'
+ require 'base64'
+ require 'ethon'
+ require 'openssl'
diff -pruN 0.11.4-1/debian/patches/0002-replace-thin-with-puma.patch 0.11.4-1ubuntu3/debian/patches/0002-replace-thin-with-puma.patch
--- 0.11.4-1/debian/patches/0002-replace-thin-with-puma.patch	1970-01-01 00:00:00.000000000 +0000
+++ 0.11.4-1ubuntu3/debian/patches/0002-replace-thin-with-puma.patch	2023-02-13 19:11:25.000000000 +0000
@@ -0,0 +1,105 @@
+From aba40f267c0d7926c7e1cf62d3de817c359e4c3d Mon Sep 17 00:00:00 2001
+From: Ondrej Mular <omular@redhat.com>
+Date: Mon, 6 Feb 2023 15:08:06 +0100
+Subject: [PATCH] replace thin with puma
+
+---
+ configure.ac      |  4 ++--
+ pcsd/bootstrap.rb |  1 +
+ pcsd/rserver.rb   | 28 ++--------------------------
+ rpm/pcs.spec.in   |  3 ++-
+ 4 files changed, 7 insertions(+), 29 deletions(-)
+
+Origin: upstream, https://github.com/ClusterLabs/pcs/commit/aba40f267c0d7926c7e1cf
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -387,7 +387,6 @@
+ 	PCS_CHECK_GEM([daemons])
+ 	PCS_CHECK_GEM([ethon])
+ 	PCS_CHECK_GEM([ffi])
+-	PCS_CHECK_GEM([eventmachine])
+ 	PCS_CHECK_GEM([json])
+ 	PCS_CHECK_GEM([mustermann])
+ 	PCS_CHECK_GEM([rack])
+@@ -395,7 +394,8 @@
+ 	PCS_CHECK_GEM([rack-test])
+ 	PCS_CHECK_GEM([sinatra])
+ 	PCS_CHECK_GEM([tilt])
+-	PCS_CHECK_GEM([thin])
++	PCS_CHECK_GEM([nio4r])
++	PCS_CHECK_GEM([puma])
+ 	PCS_CHECK_GEM([rexml])
+ 	PCS_CHECK_GEM([webrick])
+ fi
+--- a/pcsd/bootstrap.rb
++++ b/pcsd/bootstrap.rb
+@@ -1,5 +1,6 @@
+ require 'logger'
+ require 'pathname'
++require 'stringio'
+ 
+ require 'settings.rb'
+ 
+--- a/pcsd/rserver.rb
++++ b/pcsd/rserver.rb
+@@ -3,32 +3,9 @@
+ require "json"
+ require 'rack'
+ require 'sinatra'
+-require 'thin'
+ 
+ require 'settings.rb'
+ 
+-# Replace Thin::Backends::UnixServer:connect
+-# The only change is 'File.umask(0o777)' instead of 'File.umask(0)' to properly
+-# set python-ruby socket permissions
+-module Thin
+-  module Backends
+-    class UnixServer < Base
+-      def connect
+-        at_exit { remove_socket_file } # In case it crashes
+-        old_umask = File.umask(0o077)
+-        begin
+-          EventMachine.start_unix_domain_server(@socket, UnixConnection, &method(:initialize_connection))
+-          # HACK EventMachine.start_unix_domain_server doesn't return the connection signature
+-          #      so we have to go in the internal stuff to find it.
+-        @signature = EventMachine.instance_eval{@acceptors.keys.first}
+-        ensure
+-          File.umask(old_umask)
+-        end
+-      end
+-    end
+-  end
+-end
+-
+ 
+ def pack_response(response)
+   return [200, {}, [response.to_json.to_str]]
+@@ -84,11 +61,10 @@
+ 
+ require 'pcsd'
+ 
+-::Rack::Handler.get('thin').run(
+-  Sinatra::Application, :Host => PCSD_RUBY_SOCKET, :timeout => 0
++::Rack::Handler.get('puma').run(
++  Sinatra::Application, :Host => "#{PCSD_RUBY_SOCKET}?umask=0o077", :timeout => 0
+ ) do |server|
+   puts server.class
+-  server.threaded = true
+   # notify systemd we are running
+   if ISSYSTEMCTL
+     if ENV['NOTIFY_SOCKET']
+--- a/rpm/pcs.spec.in
++++ b/rpm/pcs.spec.in
+@@ -11,8 +11,9 @@
+ # ASL 2.0: dataclasses, tornado
+ # ASL 2.0 or BSD: dateutil
+ # MIT: backports, childprocess, dacite, daemons, ember, ethon, handlebars, jquery,
+-#      jquery-ui, mustermann, rack, rack-protection, rack-test, sinatra, tilt
++#      jquery-ui, mustermann, rack, rack-protection, rack-test, sinatra, tilt, nio4r
+ # GPLv2 or Ruby: eventmachne, json
++# BSD: puma
+ # (GPLv2 or Ruby) and BSD: thin
+ # BSD or Ruby: ruby2_keywords
+ # BSD and MIT: ffi
diff -pruN 0.11.4-1/debian/patches/0003-Do-not-depend-on-daemons-gem.patch 0.11.4-1ubuntu3/debian/patches/0003-Do-not-depend-on-daemons-gem.patch
--- 0.11.4-1/debian/patches/0003-Do-not-depend-on-daemons-gem.patch	1970-01-01 00:00:00.000000000 +0000
+++ 0.11.4-1ubuntu3/debian/patches/0003-Do-not-depend-on-daemons-gem.patch	2023-02-13 19:11:25.000000000 +0000
@@ -0,0 +1,25 @@
+From: Lucas Kanashiro <lucas.kanashiro@canonical.com>
+Date: Mon, 13 Feb 2023 16:28:46 -0300
+Subject: Do not depend on daemons gem
+
+daemons gem was apparently added only because it is a thin dependency.
+Now that thin was replaced with puma, there is no need to depend on
+daemons anymore.
+
+Forwarded: yes, https://github.com/ClusterLabs/pcs/pull/637
+---
+ configure.ac | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6bcbf92..9c05df5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -384,7 +384,6 @@ PCS_CHECK_GEM([test-unit])
+ 
+ if test "x$tests_only" != "xyes"; then
+ 	PCS_CHECK_GEM([childprocess])
+-	PCS_CHECK_GEM([daemons])
+ 	PCS_CHECK_GEM([ethon])
+ 	PCS_CHECK_GEM([ffi])
+ 	PCS_CHECK_GEM([json])
diff -pruN 0.11.4-1/debian/patches/series 0.11.4-1ubuntu3/debian/patches/series
--- 0.11.4-1/debian/patches/series	1970-01-01 00:00:00.000000000 +0000
+++ 0.11.4-1ubuntu3/debian/patches/series	2023-02-13 19:11:25.000000000 +0000
@@ -0,0 +1,3 @@
+0001-Do-not-depend-on-backports.patch
+0002-replace-thin-with-puma.patch
+0003-Do-not-depend-on-daemons-gem.patch
diff -pruN 0.11.4-1/debian/tests/control 0.11.4-1ubuntu3/debian/tests/control
--- 0.11.4-1/debian/tests/control	2022-10-09 04:06:48.000000000 +0000
+++ 0.11.4-1ubuntu3/debian/tests/control	2022-12-08 12:18:38.000000000 +0000
@@ -2,6 +2,6 @@ Depends: pcs, pacemaker (>= 2.0), pacema
 Restrictions: needs-root, skippable, allow-stderr
 Tests: status, setup
 
-Depends: pcs-snmp, pacemaker (>= 2.0), pacemaker-cli-utils (>= 2.0), snmp (>= 5.8), snmpd (>= 5.8), snmp-mibs-downloader
+Depends: pcs-snmp, pacemaker (>= 2.0), pacemaker-cli-utils (>= 2.0), snmp (>= 5.8), snmpd (>= 5.8), snmp-mibs-downloader, resource-agents-extra
 Restrictions: needs-root, skippable
 Tests: snmp
diff -pruN 0.11.4-1/debian/tests/setup 0.11.4-1ubuntu3/debian/tests/setup
--- 0.11.4-1/debian/tests/setup	2022-10-09 04:06:48.000000000 +0000
+++ 0.11.4-1ubuntu3/debian/tests/setup	2022-12-08 12:18:38.000000000 +0000
@@ -17,10 +17,23 @@ cleanup () {
 
 trap "cleanup" 0 2 3 15
 
+nodename="$(uname -n)"
+
+# Explicitly set the node name on corosync.conf, because pcsd requires
+# it.
+sed -i "s@^\tnode {@\tnode {\n\t\tname: ${nodename}@" /etc/corosync/corosync.conf
+
+# (Try to) Restart everything just in case.
+service pcsd try-restart
+service corosync try-restart
+service pacemaker try-restart
+
+sleep 60
+
 echo hacluster:hacluster | chpasswd
 pcs cluster auth -u hacluster -p hacluster
-pcs cluster setup debian node1 --start --force
+pcs cluster setup debian "${nodename}" --start --force
 
 sleep 60
 
-pcs pcsd status | grep -20 "node1: Online"
+pcs pcsd status | grep -20 "${nodename}: Online"
