summaryrefslogtreecommitdiff
path: root/recipes
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2010-06-04 18:02:20 -0700
committerKhem Raj <raj.khem@gmail.com>2010-06-05 06:52:42 -0700
commit7e47751d5d5d354a945fcaa120b8fff0dd07ce6f (patch)
tree396203b09be80eb86bc3ca725b60599ffafb9433 /recipes
parentdf9cb262d95bacb06192dcf69b303e4088557832 (diff)
udev_151: Make it work with uclibc.
* This only works with uclibc-git version at the moment. These two patch should not be needed as well once uclibc patches which adds lutimes and defines le16toh are committed. Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'recipes')
-rw-r--r--recipes/udev/udev-151/udev-replace-le16toh.patch21
-rw-r--r--recipes/udev/udev-151/udev-replace-lutimes.patch25
-rw-r--r--recipes/udev/udev_151.bb4
3 files changed, 49 insertions, 1 deletions
diff --git a/recipes/udev/udev-151/udev-replace-le16toh.patch b/recipes/udev/udev-151/udev-replace-le16toh.patch
new file mode 100644
index 0000000000..7776c9a10e
--- /dev/null
+++ b/recipes/udev/udev-151/udev-replace-le16toh.patch
@@ -0,0 +1,21 @@
+This patch is needed on uclibc.
+
+-Khem
+
+Index: udev-151/extras/ata_id/ata_id.c
+===================================================================
+--- udev-151.orig/extras/ata_id/ata_id.c 2010-06-04 14:08:41.912730501 -0700
++++ udev-151/extras/ata_id/ata_id.c 2010-06-04 14:09:31.492734527 -0700
+@@ -168,7 +168,11 @@ static void disk_identify_fixup_uint16 (
+ uint16_t *p;
+
+ p = (uint16_t *) identify;
+- p[offset_words] = le16toh (p[offset_words]);
++#if __BYTE_ORDER == __LITTLE_ENDIAN
++ p[offset_words] = p[offset_words];
++#else
++ p[offset_words] = __bswap_16 (p[offset_words]);
++#endif
+ }
+
+ /**
diff --git a/recipes/udev/udev-151/udev-replace-lutimes.patch b/recipes/udev/udev-151/udev-replace-lutimes.patch
new file mode 100644
index 0000000000..dd77897345
--- /dev/null
+++ b/recipes/udev/udev-151/udev-replace-lutimes.patch
@@ -0,0 +1,25 @@
+This patch is needed on uclibc
+
+-Khem
+Index: udev-151/udev/udev-node.c
+===================================================================
+--- udev-151.orig/udev/udev-node.c 2010-06-04 14:18:59.082727182 -0700
++++ udev-151/udev/udev-node.c 2010-06-04 14:20:27.485282812 -0700
+@@ -57,7 +57,7 @@ int udev_node_mknod(struct udev_device *
+ preserve = 1;
+ udev_selinux_lsetfilecon(udev, file, mode);
+ /* update time stamp when we re-use the node, like on media change events */
+- utimes(file, NULL);
++ utimensat(AT_FDCWD, file, NULL, 0);
+ } else {
+ char file_tmp[UTIL_PATH_SIZE + sizeof(TMP_FILE_EXT)];
+
+@@ -178,7 +178,7 @@ static int node_symlink(struct udev *ude
+ info(udev, "preserve already existing symlink '%s' to '%s'\n",
+ slink, target);
+ udev_selinux_lsetfilecon(udev, slink, S_IFLNK);
+- lutimes(slink, NULL);
++ utimensat(AT_FDCWD, slink, NULL, AT_SYMLINK_NOFOLLOW);
+ goto exit;
+ }
+ }
diff --git a/recipes/udev/udev_151.bb b/recipes/udev/udev_151.bb
index 9bf0872b8a..13f3a02a0a 100644
--- a/recipes/udev/udev_151.bb
+++ b/recipes/udev/udev_151.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "udev is a daemon which dynamically creates and removes device nod
the hotplug package and requires a kernel not older than 2.6.12."
LICENSE = "GPLv2+"
-PR = "r11"
+PR = "r12"
# Untested
DEFAULT_PREFERENCE = "-1"
@@ -13,6 +13,8 @@ DEPENDS = "gperf-native usbutils acl glib-2.0"
RDEPENDS_${PN} += "module-init-tools-depmod udev-utils"
SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
+ file://udev-replace-le16toh.patch \
+ file://udev-replace-lutimes.patch \
file://mount.blacklist \
file://run.rules \
"