summaryrefslogtreecommitdiff
path: root/meta-openvuplus
diff options
context:
space:
mode:
authorhschang <chang@dev3>2017-12-28 04:33:13 (GMT)
committerhschang <chang@dev3>2017-12-28 04:33:40 (GMT)
commit33160bfff6c99ef799cc9457a5368cb6a801e9f0 (patch)
tree6730f336af13555229dd5cdc92c3e3cee6c3e4e9 /meta-openvuplus
parentbf04da1e77cb5879ea83c252b1205813ea75bf7c (diff)
[udev] patch for automount issue.
Diffstat (limited to 'meta-openvuplus')
-rw-r--r--meta-openvuplus/recipes-core/udev/udev-182/udev_scan_sys_block.patch51
-rw-r--r--meta-openvuplus/recipes-core/udev/udev_182.bbappend3
2 files changed, 53 insertions, 1 deletions
diff --git a/meta-openvuplus/recipes-core/udev/udev-182/udev_scan_sys_block.patch b/meta-openvuplus/recipes-core/udev/udev-182/udev_scan_sys_block.patch
new file mode 100644
index 0000000..cc1d25a
--- /dev/null
+++ b/meta-openvuplus/recipes-core/udev/udev-182/udev_scan_sys_block.patch
@@ -0,0 +1,51 @@
+diff --git a/src/libudev-enumerate.c b/src/libudev-enumerate.c
+index 034d96f..ca7f068 100644
+--- a/src/libudev-enumerate.c
++++ b/src/libudev-enumerate.c
+@@ -730,6 +730,30 @@ static int scan_dir(struct udev_enumerate *udev_enumerate, const char *basedir,
+ return 0;
+ }
+
++static int scan_dir_block(struct udev_enumerate *udev_enumerate)
++{
++ struct udev *udev = udev_enumerate_get_udev(udev_enumerate);
++
++ char path[UTIL_PATH_SIZE];
++ DIR *dir;
++ struct dirent *dent;
++ const char *basedir = "block";
++
++ util_strscpyl(path, sizeof(path), udev_get_sys_path(udev), "/", basedir, NULL);
++ dir = opendir(path);
++ if (dir == NULL)
++ return -1;
++ for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) {
++ if (dent->d_name[0] == '.')
++ continue;
++ if ((dent->d_name[0] != 's') || (dent->d_name[1] != 'd'))
++ continue;
++ scan_dir_and_add_devices(udev_enumerate, basedir, dent->d_name, NULL);
++ }
++ closedir(dir);
++ return 0;
++}
++
+ /**
+ * udev_enumerate_add_syspath:
+ * @udev_enumerate: context
+@@ -877,6 +901,15 @@ static int scan_devices_all(struct udev_enumerate *udev_enumerate)
+ scan_dir(udev_enumerate, "bus", "devices", NULL);
+ dbg(udev, "searching '/class/*' dir\n");
+ scan_dir(udev_enumerate, "class", NULL, NULL);
++ {
++ char tmp[UTIL_PATH_SIZE];
++ util_strscpyl(tmp, sizeof(tmp), udev_get_sys_path(udev), "/class/block", NULL);
++ if (stat(tmp, &statbuf) != 0)
++ {
++ dbg(udev, "searching %s/*\n", tmp);
++ scan_dir_block(udev_enumerate);
++ }
++ }
+ }
+ return 0;
+ }
diff --git a/meta-openvuplus/recipes-core/udev/udev_182.bbappend b/meta-openvuplus/recipes-core/udev/udev_182.bbappend
index d2b4fa3..a5599d6 100644
--- a/meta-openvuplus/recipes-core/udev/udev_182.bbappend
+++ b/meta-openvuplus/recipes-core/udev/udev_182.bbappend
@@ -1,9 +1,10 @@
-PR .= "-vuplus5"
+PR .= "-vuplus6"
SRC_URI += " \
file://99_vuplus.rules \
file://automount.py \
file://autoumount.py \
+ file://udev_scan_sys_block.patch \
"
do_install_append () {