summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKay Sievers <kay@vrfy.org>2012-05-15 22:57:58 +0200
committerKay Sievers <kay@vrfy.org>2012-05-15 23:06:26 +0200
commit20bbd54f603994a3cc211d2795de16550882ed8d (patch)
treede65aaa655d6c3d50d52c7c5db8607fc83a550a8
parent6e92b23f0d6dd398848376bbaf47e54a90ed3389 (diff)
udev: libudev - bump soname, remove deprecated functions, introduce symbol versions
-rw-r--r--Makefile.am12
-rw-r--r--TODO8
-rw-r--r--docs/libudev/libudev-sections.txt3
-rw-r--r--src/libudev/libudev-device.c7
-rw-r--r--src/libudev/libudev-enumerate.c7
-rw-r--r--src/libudev/libudev-monitor.c24
-rw-r--r--src/libudev/libudev-queue.c15
-rw-r--r--src/libudev/libudev.c52
-rw-r--r--src/libudev/libudev.h13
-rw-r--r--src/libudev/libudev.sym97
10 files changed, 129 insertions, 109 deletions
diff --git a/Makefile.am b/Makefile.am
index a4e3433c3..7c1b43109 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -25,5 +25,5 @@ SUBDIRS = . po
-LIBUDEV_CURRENT=13
-LIBUDEV_REVISION=3
-LIBUDEV_AGE=13
+LIBUDEV_CURRENT=1
+LIBUDEV_REVISION=0
+LIBUDEV_AGE=0
@@ -1332,3 +1332,4 @@ libudev_la_LDFLAGS = \
$(AM_LDFLAGS) \
- -version-info $(LIBUDEV_CURRENT):$(LIBUDEV_REVISION):$(LIBUDEV_AGE)
+ -version-info $(LIBUDEV_CURRENT):$(LIBUDEV_REVISION):$(LIBUDEV_AGE) \
+ -Wl,--version-script=$(top_srcdir)/src/libudev/libudev.sym
@@ -1341,3 +1342,4 @@ pkgconfiglib_DATA += \
EXTRA_DIST += \
- src/libudev/libudev.pc.in
+ src/libudev/libudev.pc.in \
+ src/libudev/libudev.sym
diff --git a/TODO b/TODO
index a3b416555..5d18a64b1 100644
--- a/TODO
+++ b/TODO
@@ -89,10 +89,2 @@ Features:
-* udev: libudev.so.1
- - use symbol versioning
- - always return object with *_unref()
- - remove deprecated symbols
- - udev_monitor_from_socket()
- - udev_queue_get_failed_list_entry()
- - udev_get_{dev,sys,run}_path()
-
* allow configuration of console width/height in vconsole.conf
diff --git a/docs/libudev/libudev-sections.txt b/docs/libudev/libudev-sections.txt
index 31f356f29..9f41ca6ac 100644
--- a/docs/libudev/libudev-sections.txt
+++ b/docs/libudev/libudev-sections.txt
@@ -12,5 +12,2 @@ udev_get_userdata
udev_set_userdata
-udev_get_sys_path
-udev_get_dev_path
-udev_get_run_path
</SECTION>
diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c
index 9ef4610a6..f0aab5d46 100644
--- a/src/libudev/libudev-device.c
+++ b/src/libudev/libudev-device.c
@@ -1025,9 +1025,9 @@ _public_ struct udev_device *udev_device_ref(struct udev_device *udev_device)
**/
-_public_ void udev_device_unref(struct udev_device *udev_device)
+_public_ struct udev_device *udev_device_unref(struct udev_device *udev_device)
{
if (udev_device == NULL)
- return;
+ return NULL;
udev_device->refcount--;
if (udev_device->refcount > 0)
- return;
+ return udev_device;
if (udev_device->parent_device != NULL)
@@ -1051,2 +1051,3 @@ _public_ void udev_device_unref(struct udev_device *udev_device)
free(udev_device);
+ return NULL;
}
diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c
index 9e6f4677e..671bfd7bc 100644
--- a/src/libudev/libudev-enumerate.c
+++ b/src/libudev/libudev-enumerate.c
@@ -114,3 +114,3 @@ _public_ struct udev_enumerate *udev_enumerate_ref(struct udev_enumerate *udev_e
**/
-_public_ void udev_enumerate_unref(struct udev_enumerate *udev_enumerate)
+_public_ struct udev_enumerate *udev_enumerate_unref(struct udev_enumerate *udev_enumerate)
{
@@ -119,6 +119,6 @@ _public_ void udev_enumerate_unref(struct udev_enumerate *udev_enumerate)
if (udev_enumerate == NULL)
- return;
+ return NULL;
udev_enumerate->refcount--;
if (udev_enumerate->refcount > 0)
- return;
+ return udev_enumerate;
udev_list_cleanup(&udev_enumerate->sysattr_match_list);
@@ -136,2 +136,3 @@ _public_ void udev_enumerate_unref(struct udev_enumerate *udev_enumerate)
free(udev_enumerate);
+ return NULL;
}
diff --git a/src/libudev/libudev-monitor.c b/src/libudev/libudev-monitor.c
index 5f448e6d4..96506fe58 100644
--- a/src/libudev/libudev-monitor.c
+++ b/src/libudev/libudev-monitor.c
@@ -99,19 +99,2 @@ static struct udev_monitor *udev_monitor_new(struct udev *udev)
-/**
- * udev_monitor_new_from_socket:
- * @udev: udev library context
- * @socket_path: unix socket path
- *
- * This function is removed from libudev and will not do anything.
- *
- * Returns: #NULL
- **/
-struct udev_monitor *udev_monitor_new_from_socket(struct udev *udev, const char *socket_path);
-_public_ struct udev_monitor *udev_monitor_new_from_socket(struct udev *udev, const char *socket_path)
-{
- udev_err(udev, "udev_monitor_new_from_socket() does not do anything; please migrate to netlink\n");
- errno = ENOSYS;
- return NULL;
-}
-
struct udev_monitor *udev_monitor_new_from_netlink_fd(struct udev *udev, const char *name, int fd)
@@ -420,9 +403,9 @@ _public_ struct udev_monitor *udev_monitor_ref(struct udev_monitor *udev_monitor
**/
-_public_ void udev_monitor_unref(struct udev_monitor *udev_monitor)
+_public_ struct udev_monitor *udev_monitor_unref(struct udev_monitor *udev_monitor)
{
if (udev_monitor == NULL)
- return;
+ return NULL;
udev_monitor->refcount--;
if (udev_monitor->refcount > 0)
- return;
+ return udev_monitor;
if (udev_monitor->sock >= 0)
@@ -432,2 +415,3 @@ _public_ void udev_monitor_unref(struct udev_monitor *udev_monitor)
free(udev_monitor);
+ return NULL;
}
diff --git a/src/libudev/libudev-queue.c b/src/libudev/libudev-queue.c
index 81f40db20..15a7f558b 100644
--- a/src/libudev/libudev-queue.c
+++ b/src/libudev/libudev-queue.c
@@ -95,11 +95,12 @@ _public_ struct udev_queue *udev_queue_ref(struct udev_queue *udev_queue)
**/
-_public_ void udev_queue_unref(struct udev_queue *udev_queue)
+_public_ struct udev_queue *udev_queue_unref(struct udev_queue *udev_queue)
{
if (udev_queue == NULL)
- return;
+ return NULL;
udev_queue->refcount--;
if (udev_queue->refcount > 0)
- return;
+ return udev_queue;
udev_list_cleanup(&udev_queue->queue_list);
free(udev_queue);
+ return NULL;
}
@@ -471,9 +472 @@ _public_ struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_qu
}
-
-struct udev_list_entry *udev_queue_get_failed_list_entry(struct udev_queue *udev_queue);
-_public_ struct udev_list_entry *udev_queue_get_failed_list_entry(struct udev_queue *udev_queue)
-{
- udev_err(udev_queue->udev, "udev_queue_get_failed_list_entry() does not return anything; failed events are not recorded\n");
- errno = ENOSYS;
- return NULL;
-}
diff --git a/src/libudev/libudev.c b/src/libudev/libudev.c
index a0ec39d02..5b754a22a 100644
--- a/src/libudev/libudev.c
+++ b/src/libudev/libudev.c
@@ -224,11 +224,12 @@ _public_ struct udev *udev_ref(struct udev *udev)
**/
-_public_ void udev_unref(struct udev *udev)
+_public_ struct udev *udev_unref(struct udev *udev)
{
if (udev == NULL)
- return;
+ return NULL;
udev->refcount--;
if (udev->refcount > 0)
- return;
+ return udev;
udev_list_cleanup(&udev->properties_list);
free(udev);
+ return NULL;
}
@@ -285,47 +286,2 @@ _public_ void udev_set_log_priority(struct udev *udev, int priority)
-/**
- * udev_get_sys_path:
- * @udev: udev library context
- *
- * Returns always "/sys"; deprecated, will be removed in a future version.
- *
- * Returns: the sys mount point
- **/
-_public_ const char *udev_get_sys_path(struct udev *udev)
-{
- if (udev == NULL)
- return NULL;
- return "/sys";
-}
-
-/**
- * udev_get_dev_path:
- * @udev: udev library context
- *
- * Returns always "/dev"; deprecated, will be removed in a future version.
- *
- * Returns: the device directory path
- **/
-_public_ const char *udev_get_dev_path(struct udev *udev)
-{
- if (udev == NULL)
- return NULL;
- return "/dev";
-}
-
-/**
- * udev_get_run_path:
- * @udev: udev library context
- *
- * Returns always "/run/udev"; deprecated, will be removed in a future version.
- *
- * Returns: the runtime directory path
- **/
-_public_ const char *udev_get_run_path(struct udev *udev)
-{
- if (udev == NULL)
- return NULL;
- return "/run/udev";
-}
-
struct udev_list_entry *udev_add_property(struct udev *udev, const char *key, const char *value)
diff --git a/src/libudev/libudev.h b/src/libudev/libudev.h
index 79842e69d..86439849b 100644
--- a/src/libudev/libudev.h
+++ b/src/libudev/libudev.h
@@ -30,3 +30,3 @@ struct udev;
struct udev *udev_ref(struct udev *udev);
-void udev_unref(struct udev *udev);
+struct udev *udev_unref(struct udev *udev);
struct udev *udev_new(void);
@@ -38,5 +38,2 @@ int udev_get_log_priority(struct udev *udev);
void udev_set_log_priority(struct udev *udev, int priority);
-const char *udev_get_sys_path(struct udev *udev);
-const char *udev_get_dev_path(struct udev *udev);
-const char *udev_get_run_path(struct udev *udev);
void *udev_get_userdata(struct udev *udev);
@@ -73,3 +70,3 @@ struct udev_device;
struct udev_device *udev_device_ref(struct udev_device *udev_device);
-void udev_device_unref(struct udev_device *udev_device);
+struct udev_device *udev_device_unref(struct udev_device *udev_device);
struct udev *udev_device_get_udev(struct udev_device *udev_device);
@@ -112,3 +109,3 @@ struct udev_monitor;
struct udev_monitor *udev_monitor_ref(struct udev_monitor *udev_monitor);
-void udev_monitor_unref(struct udev_monitor *udev_monitor);
+struct udev_monitor *udev_monitor_unref(struct udev_monitor *udev_monitor);
struct udev *udev_monitor_get_udev(struct udev_monitor *udev_monitor);
@@ -135,3 +132,3 @@ struct udev_enumerate;
struct udev_enumerate *udev_enumerate_ref(struct udev_enumerate *udev_enumerate);
-void udev_enumerate_unref(struct udev_enumerate *udev_enumerate);
+struct udev_enumerate *udev_enumerate_unref(struct udev_enumerate *udev_enumerate);
struct udev *udev_enumerate_get_udev(struct udev_enumerate *udev_enumerate);
@@ -162,3 +159,3 @@ struct udev_queue;
struct udev_queue *udev_queue_ref(struct udev_queue *udev_queue);
-void udev_queue_unref(struct udev_queue *udev_queue);
+struct udev_queue *udev_queue_unref(struct udev_queue *udev_queue);
struct udev *udev_queue_get_udev(struct udev_queue *udev_queue);
diff --git a/src/libudev/libudev.sym b/src/libudev/libudev.sym
new file mode 100644
index 000000000..47683ecda
--- /dev/null
+++ b/src/libudev/libudev.sym
@@ -0,0 +1,97 @@
+/***
+ This file is part of systemd.
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+***/
+
+LIBUDEV_183 {
+global:
+ udev_device_get_action;
+ udev_device_get_devlinks_list_entry;
+ udev_device_get_devnode;
+ udev_device_get_devnum;
+ udev_device_get_devpath;
+ udev_device_get_devtype;
+ udev_device_get_driver;
+ udev_device_get_is_initialized;
+ udev_device_get_parent;
+ udev_device_get_parent_with_subsystem_devtype;
+ udev_device_get_properties_list_entry;
+ udev_device_get_property_value;
+ udev_device_get_seqnum;
+ udev_device_get_subsystem;
+ udev_device_get_sysattr_list_entry;
+ udev_device_get_sysattr_value;
+ udev_device_get_sysname;
+ udev_device_get_sysnum;
+ udev_device_get_syspath;
+ udev_device_get_tags_list_entry;
+ udev_device_get_udev;
+ udev_device_get_usec_since_initialized;
+ udev_device_has_tag;
+ udev_device_new_from_devnum;
+ udev_device_new_from_environment;
+ udev_device_new_from_subsystem_sysname;
+ udev_device_new_from_syspath;
+ udev_device_ref;
+ udev_device_unref;
+ udev_enumerate_add_match_is_initialized;
+ udev_enumerate_add_match_parent;
+ udev_enumerate_add_match_property;
+ udev_enumerate_add_match_subsystem;
+ udev_enumerate_add_match_sysattr;
+ udev_enumerate_add_match_sysname;
+ udev_enumerate_add_match_tag;
+ udev_enumerate_add_nomatch_subsystem;
+ udev_enumerate_add_nomatch_sysattr;
+ udev_enumerate_add_syspath;
+ udev_enumerate_get_list_entry;
+ udev_enumerate_get_udev;
+ udev_enumerate_new;
+ udev_enumerate_ref;
+ udev_enumerate_scan_devices;
+ udev_enumerate_scan_subsystems;
+ udev_enumerate_unref;
+ udev_get_log_priority;
+ udev_get_userdata;
+ udev_list_entry_get_by_name;
+ udev_list_entry_get_name;
+ udev_list_entry_get_next;
+ udev_list_entry_get_value;
+ udev_monitor_enable_receiving;
+ udev_monitor_filter_add_match_subsystem_devtype;
+ udev_monitor_filter_add_match_tag;
+ udev_monitor_filter_remove;
+ udev_monitor_filter_update;
+ udev_monitor_get_fd;
+ udev_monitor_get_udev;
+ udev_monitor_new_from_netlink;
+ udev_monitor_new_from_socket;
+ udev_monitor_receive_device;
+ udev_monitor_ref;
+ udev_monitor_set_receive_buffer_size;
+ udev_monitor_unref;
+ udev_new;
+ udev_queue_get_kernel_seqnum;
+ udev_queue_get_queue_is_empty;
+ udev_queue_get_queued_list_entry;
+ udev_queue_get_seqnum_is_finished;
+ udev_queue_get_seqnum_sequence_is_finished;
+ udev_queue_get_udev;
+ udev_queue_get_udev_is_active;
+ udev_queue_get_udev_seqnum;
+ udev_queue_new;
+ udev_queue_ref;
+ udev_queue_unref;
+ udev_ref;
+ udev_set_log_fn;
+ udev_set_log_priority;
+ udev_set_userdata;
+ udev_unref;
+ udev_util_encode_string;
+local:
+ *;
+};