udev:
authorMichael Lauer <mickey@vanille-media.de>
Sun, 17 Jul 2005 23:28:41 +0000 (23:28 +0000)
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>
Sun, 17 Jul 2005 23:28:41 +0000 (23:28 +0000)
- add master plan for udev >= 059 integration (see FIXME)
- add alignment fix (http://sourceforge.net/mailarchive/forum.php?thread_id=7720331&forum_id=3157)

packages/udev/udev-063/fix-alignment.patch [new file with mode: 0644]
packages/udev/udev_063.bb

diff --git a/packages/udev/udev-063/fix-alignment.patch b/packages/udev/udev-063/fix-alignment.patch
new file mode 100644 (file)
index 0000000..8c7b8b5
--- /dev/null
@@ -0,0 +1,24 @@
+diff --git a/udev_rules_parse.c b/udev_rules_parse.c
+--- a/udev_rules_parse.c
++++ b/udev_rules_parse.c
+@@ -241,6 +241,7 @@ static int add_to_rules(struct udev_rule
+       int valid;
+       char *linepos;
+       char *attr;
++      size_t padding;
+       int retval;
+       /* get all the keys */
+@@ -506,6 +507,11 @@ static int add_to_rules(struct udev_rule
+       /* grow buffer and add rule */
+       rule_size = sizeof(struct udev_rule) + rule->bufsize;
++      padding = (sizeof(size_t) - rule_size % sizeof(size_t)) % sizeof(size_t);
++      dbg("add %zi padding bytes", padding);
++      rule_size += padding;
++      rule->bufsize += padding;
++
+       rules->buf = realloc(rules->buf, rules->bufsize + rule_size);
+       if (!rules->buf) {
+               err("realloc failed");
+
index 60340ca..083a6bf 100644 (file)
@@ -1,13 +1,23 @@
 SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
-          file://tmpfs.patch;patch=1 \
-          file://noasmlinkage.patch;patch=1 \
-          file://flags.patch;patch=1 \
-          file://init"
+           file://tmpfs.patch;patch=1 \
+           file://noasmlinkage.patch;patch=1 \
+           file://flags.patch;patch=1 \
+           file://fix-alignment.patch;patch=1 \
+           file://init"
 
 include udev.inc
 
-PR = "r0"
+PR = "r1"
 
-#FIXME a) udevd doesn't start with our init script (the init script seems to be pretty oudated)
-#FIXME b) lots of alignment errors when manually starting udevd
-DEFAULT_PREFERENCE = "-1"
+#FIXME UDEV MIGRATION PLAN:
+#FIXME      a) udevd is now a netlink daemon and needs to be started by the init script (ours is way too old)
+#FIXME      b) sbin/hotplug should no longer be called by the kernel, i.e. echo "" >/proc/sys/kernel/hotplug
+#FIXME done c) until d) happens, udev will emulate hotplugd behaviour (see do_install_append()
+#FIXME      d) eventually hotplug should no longer be used at all, all agents shall be converted to udev rules
+
+EXTRA_OEMAKE = "EXTRAS=extras/run_directory/"
+
+do_install_append() {
+       install -m 0755 extras/run_directory/udev_run_hotplugd ${D}${sbindir}/
+       echo RUN+="/sbin/udev_run_hotplugd" >>${D}${sysconfdir}/udev/rules.d/50-udev.rules
+}