[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1018152: buster-pu: package pglogical/2.2.1-4+deb10u1



Package: release.debian.org
Severity: normal
Tags: buster
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-Cc: Debian PostgreSQL Maintainers <team+postgresql@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 <bunk@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 <pjmodos@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 to: