https://github.com/eudev-project/eudev/issues/249
https://github.com/eudev-project/eudev/pull/253
https://github.com/eudev-project/eudev/commit/c5bae0b656513463f92808f324f8fcbe34a0b401

From 7d2123ead5a15d4b2aff70eafc6f7b9b2f6527ac Mon Sep 17 00:00:00 2001
From: Boian Bonev <bbonev@ipacct.com>
Date: Fri, 11 Aug 2023 22:08:27 +0000
Subject: [PATCH 1/3] Bump udev version to 251

---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 3e31b0ebc..069fdfb87 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
 AC_PREREQ([2.68])
 AC_INIT([eudev],[3.2.12],[https://github.com/gentoo/eudev/issues])
-AC_SUBST(UDEV_VERSION, 243)
+AC_SUBST(UDEV_VERSION, 251)
 AC_CONFIG_SRCDIR([src/udev/udevd.c])
 
 AC_USE_SYSTEM_EXTENSIONS

From dacff83d872c1dcb563439f98c9b974e244fcd46 Mon Sep 17 00:00:00 2001
From: Boian Bonev <bbonev@ipacct.com>
Date: Fri, 11 Aug 2023 23:14:02 +0000
Subject: [PATCH 2/3] Export dummies for

 - udev_device_has_current_tag
 - udev_device_get_current_tags_list_entry

since the current eudev device database does not support the concept of
current tags
---
 src/libudev/libudev-device.c | 11 +++++++++++
 src/libudev/libudev.h        |  2 ++
 src/libudev/libudev.sym      |  6 ++++++
 3 files changed, 19 insertions(+)

diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c
index ac67ce846..7d7a6622e 100644
--- a/src/libudev/libudev-device.c
+++ b/src/libudev/libudev-device.c
@@ -1819,6 +1819,12 @@ _public_ struct udev_list_entry *udev_device_get_tags_list_entry(struct udev_dev
         return udev_list_get_entry(&udev_device->tags_list);
 }
 
+_public_ struct udev_list_entry *udev_device_get_current_tags_list_entry(struct udev_device *udev_device)
+{
+        // TODO: eudev database does not support current tags
+        return udev_device_get_tags_list_entry(udev_device);
+}
+
 /**
  * udev_device_has_tag:
  * @udev_device: udev device
@@ -1842,6 +1848,11 @@ _public_ int udev_device_has_tag(struct udev_device *udev_device, const char *ta
         return false;
 }
 
+_public_ int udev_device_has_current_tag(struct udev_device *udev_device, const char *tag) {
+        // TODO: eudev database does not support current tags
+        return udev_device_has_tag(udev_device, tag);
+}
+
 #define ENVP_SIZE                        128
 #define MONITOR_BUF_SIZE                4096
 static int update_envp_monitor_buf(struct udev_device *udev_device)
diff --git a/src/libudev/libudev.h b/src/libudev/libudev.h
index 8491d2b81..0202964d6 100644
--- a/src/libudev/libudev.h
+++ b/src/libudev/libudev.h
@@ -100,6 +100,7 @@ int udev_device_get_is_initialized(struct udev_device *udev_device);
 struct udev_list_entry *udev_device_get_devlinks_list_entry(struct udev_device *udev_device);
 struct udev_list_entry *udev_device_get_properties_list_entry(struct udev_device *udev_device);
 struct udev_list_entry *udev_device_get_tags_list_entry(struct udev_device *udev_device);
+struct udev_list_entry *udev_device_get_current_tags_list_entry(struct udev_device *udev_device);
 struct udev_list_entry *udev_device_get_sysattr_list_entry(struct udev_device *udev_device);
 const char *udev_device_get_property_value(struct udev_device *udev_device, const char *key);
 const char *udev_device_get_driver(struct udev_device *udev_device);
@@ -110,6 +111,7 @@ unsigned long long int udev_device_get_usec_since_initialized(struct udev_device
 const char *udev_device_get_sysattr_value(struct udev_device *udev_device, const char *sysattr);
 int udev_device_set_sysattr_value(struct udev_device *udev_device, const char *sysattr, char *value);
 int udev_device_has_tag(struct udev_device *udev_device, const char *tag);
+int udev_device_has_current_tag(struct udev_device *udev_device, const char *tag);
 
 /*
  * udev_monitor
diff --git a/src/libudev/libudev.sym b/src/libudev/libudev.sym
index 76726fca7..d56c2aeab 100644
--- a/src/libudev/libudev.sym
+++ b/src/libudev/libudev.sym
@@ -118,3 +118,9 @@ global:
         udev_queue_flush;
         udev_queue_get_fd;
 } LIBUDEV_199;
+
+LIBUDEV_247 {
+global:
+        udev_device_has_current_tag;
+        udev_device_get_current_tags_list_entry;
+} LIBUDEV_215;

From df220edbc585d2e7a08ed8ad90770fefd0e60bb5 Mon Sep 17 00:00:00 2001
From: Boian Bonev <bbonev@ipacct.com>
Date: Fri, 11 Aug 2023 23:16:10 +0000
Subject: [PATCH 3/3] bump version to 3.2.14

---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 069fdfb87..0d9a135bc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
 AC_PREREQ([2.68])
-AC_INIT([eudev],[3.2.12],[https://github.com/gentoo/eudev/issues])
+AC_INIT([eudev],[3.2.14],[https://github.com/gentoo/eudev/issues])
 AC_SUBST(UDEV_VERSION, 251)
 AC_CONFIG_SRCDIR([src/udev/udevd.c])
 
