Package: release.debian.org
Severity: normal
Tags: buster
User: release.debian....@packages.debian.org
Usertags: pu
X-Debbugs-Cc: Debian PostgreSQL Maintainers <team+postgre...@tracker.debian.org>

  * Add upstream hack to fix FTBFS with the export of AcquireDeletionLock.
    (Closes: #962423)
diff -Nru pglogical-2.2.1/debian/changelog pglogical-2.2.1/debian/changelog
--- pglogical-2.2.1/debian/changelog    2019-02-12 16:11:05.000000000 +0200
+++ pglogical-2.2.1/debian/changelog    2022-08-26 01:01:19.000000000 +0300
@@ -1,3 +1,11 @@
+pglogical (2.2.1-4+deb10u1) buster; urgency=medium
+
+  * Non-maintainer upload.
+  * Add upstream hack to fix FTBFS with the export of AcquireDeletionLock.
+    (Closes: #962423)
+
+ -- Adrian Bunk <b...@debian.org>  Fri, 26 Aug 2022 01:01:19 +0300
+
 pglogical (2.2.1-4) unstable; urgency=medium
 
   * Team upload.
diff -Nru 
pglogical-2.2.1/debian/patches/0001-Quick-hack-to-compile-with-recent-export-of-AcquireD.patch
 
pglogical-2.2.1/debian/patches/0001-Quick-hack-to-compile-with-recent-export-of-AcquireD.patch
--- 
pglogical-2.2.1/debian/patches/0001-Quick-hack-to-compile-with-recent-export-of-AcquireD.patch
      1970-01-01 02:00:00.000000000 +0200
+++ 
pglogical-2.2.1/debian/patches/0001-Quick-hack-to-compile-with-recent-export-of-AcquireD.patch
      2022-08-26 01:00:29.000000000 +0300
@@ -0,0 +1,108 @@
+From efe3e983a0a17b57da5386550037d809754bda55 Mon Sep 17 00:00:00 2001
+From: Petr Jelinek <pjmo...@pjmodos.net>
+Date: Thu, 7 May 2020 18:15:14 +0200
+Subject: Quick hack to compile with recent export of AcquireDeletionLock
+
+And ReleaseDeletionLock which we implement statically.
+
+Later we'll want to move them to compat, or better, rething the
+pglogical_depedency module completely.
+---
+ pglogical_dependency.c | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/pglogical_dependency.c b/pglogical_dependency.c
+index 2dbf616..7c325ae 100644
+--- a/pglogical_dependency.c
++++ b/pglogical_dependency.c
+@@ -227,8 +227,8 @@ static void reportDependentObjects(const ObjectAddresses 
*targetObjects,
+                                          DropBehavior behavior,
+                                          int msglevel,
+                                          const ObjectAddress *origObject);
+-static void AcquireDeletionLock(const ObjectAddress *object, int flags);
+-static void ReleaseDeletionLock(const ObjectAddress *object);
++static void PGLAcquireDeletionLock(const ObjectAddress *object, int flags);
++static void PGLReleaseDeletionLock(const ObjectAddress *object);
+ static bool find_expr_references_walker(Node *node,
+                                                       
find_expr_references_context *context);
+ static void eliminate_duplicate_dependencies(ObjectAddresses *addrs);
+@@ -492,7 +492,7 @@ findDependentObjects(const ObjectAddress *object,
+                                       {
+                                               systable_endscan(scan);
+                                               /* need to release caller's 
lock; see notes below */
+-                                              ReleaseDeletionLock(object);
++                                              PGLReleaseDeletionLock(object);
+                                               return;
+                                       }
+ 
+@@ -556,8 +556,8 @@ findDependentObjects(const ObjectAddress *object,
+                                * caller's lock to avoid deadlock against a 
concurrent
+                                * deletion of the owning object.)
+                                */
+-                              ReleaseDeletionLock(object);
+-                              AcquireDeletionLock(&otherObject, 0);
++                              PGLReleaseDeletionLock(object);
++                              PGLAcquireDeletionLock(&otherObject, 0);
+ 
+                               /*
+                                * The owning object might have been deleted 
while we waited
+@@ -568,7 +568,7 @@ findDependentObjects(const ObjectAddress *object,
+                               if (!systable_recheck_tuple(scan, tup))
+                               {
+                                       systable_endscan(scan);
+-                                      ReleaseDeletionLock(&otherObject);
++                                      PGLReleaseDeletionLock(&otherObject);
+                                       return;
+                               }
+ 
+@@ -653,7 +653,7 @@ findDependentObjects(const ObjectAddress *object,
+               /*
+                * Must lock the dependent object before recursing to it.
+                */
+-              AcquireDeletionLock(&otherObject, 0);
++              PGLAcquireDeletionLock(&otherObject, 0);
+ 
+               /*
+                * The dependent object might have been deleted while we waited 
to
+@@ -665,7 +665,7 @@ findDependentObjects(const ObjectAddress *object,
+               if (!systable_recheck_tuple(scan, tup))
+               {
+                       /* release the now-useless lock */
+-                      ReleaseDeletionLock(&otherObject);
++                      PGLReleaseDeletionLock(&otherObject);
+                       /* and continue scanning for dependencies */
+                       continue;
+               }
+@@ -924,14 +924,14 @@ reportDependentObjects(const ObjectAddresses 
*targetObjects,
+ }
+ 
+ /*
+- * AcquireDeletionLock - acquire a suitable lock for deleting an object
++ * PGLAcquireDeletionLock - acquire a suitable lock for deleting an object
+  *
+  * We use LockRelation for relations, LockDatabaseObject for everything
+  * else.  Note that dependency.c is not concerned with deleting any kind of
+  * shared-across-databases object, so we have no need for LockSharedObject.
+  */
+ static void
+-AcquireDeletionLock(const ObjectAddress *object, int flags)
++PGLAcquireDeletionLock(const ObjectAddress *object, int flags)
+ {
+       if (object->classId == RelationRelationId)
+       {
+@@ -955,10 +955,10 @@ AcquireDeletionLock(const ObjectAddress *object, int 
flags)
+ }
+ 
+ /*
+- * ReleaseDeletionLock - release an object deletion lock
++ * PGLReleaseDeletionLock - release an object deletion lock
+  */
+ static void
+-ReleaseDeletionLock(const ObjectAddress *object)
++PGLReleaseDeletionLock(const ObjectAddress *object)
+ {
+       if (object->classId == RelationRelationId)
+               UnlockRelationOid(object->objectId, AccessExclusiveLock);
+-- 
+2.20.1
+
diff -Nru pglogical-2.2.1/debian/patches/series 
pglogical-2.2.1/debian/patches/series
--- pglogical-2.2.1/debian/patches/series       2019-02-07 10:17:25.000000000 
+0200
+++ pglogical-2.2.1/debian/patches/series       2022-08-26 01:01:18.000000000 
+0300
@@ -4,3 +4,4 @@
 v94_tap_support.patch
 test_increase_timeouts.patch
 test_configuration.patch
+0001-Quick-hack-to-compile-with-recent-export-of-AcquireD.patch

Reply via email to