udev: Allow standard users to access shared memory (from poky)
[openembedded.git] / recipes / udev / udev.inc
1 DESCRIPTION ?= "udev is a program which dynamically creates and removes device nodes from \
2 /dev/. It responds to /sbin/hotplug device events and requires a 2.6 kernel."
3 LICENSE = "GPL"
4
5 SRC_URI += " \
6            file://udev.rules \
7            file://devfs-udev.rules \
8            file://links.conf \
9            file://permissions.rules \
10            file://mount.sh \
11            file://network.sh \
12            file://local.rules \
13            file://init"
14
15 inherit update-rc.d autotools pkgconfig
16
17 PARALLEL_MAKE = ""
18 UDEV_DEVFS_RULES ?= "0"
19 PKG_libvolume-id-dev = "libvolume-id-dev"
20
21 INITSCRIPT_NAME = "udev"
22 INITSCRIPT_PARAMS = "start 04 S ."
23
24 export CROSS = "${TARGET_PREFIX}"
25 export HOSTCC = "${BUILD_CC}"
26 export udevdir ?= "/dev"
27 export usrbindir := "${bindir}"
28 export usrsbindir := "${sbindir}"
29 export etcdir = "${sysconfdir}"
30 LD = "${CC}"
31 bindir = "/bin"
32 sbindir = "/sbin"
33
34 UDEV_EXTRAS = "<override me>"
35 EXTRA_OEMAKE = "-e \
36                 'EXTRAS=${UDEV_EXTRAS}' \
37                 'STRIP=echo'"
38
39 do_install () {
40         install -d ${D}${usrsbindir} \
41                    ${D}${sbindir}
42         oe_runmake 'DESTDIR=${D}' INSTALL=install install
43         install -d ${D}${sysconfdir}/init.d
44         install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
45
46         install -d ${D}${sysconfdir}/udev/rules.d/
47
48         install -m 0644 ${WORKDIR}/local.rules         ${D}${sysconfdir}/udev/rules.d/local.rules
49         install -m 0644 ${WORKDIR}/permissions.rules   ${D}${sysconfdir}/udev/rules.d/permissions.rules
50         install -m 0644 ${WORKDIR}/udev.rules          ${D}${sysconfdir}/udev/rules.d/udev.rules
51         if [ "${UDEV_DEVFS_RULES}" = "1" ]; then
52                 install -m 0644 ${WORKDIR}/devfs-udev.rules ${D}${sysconfdir}/udev/rules.d/devfs-udev.rules
53         fi
54
55         install -d ${D}${sysconfdir}/udev/scripts/
56
57         install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh
58         install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts
59 }
60
61 do_stage () {
62         autotools_stage_all
63         install -m 0644 ${S}/extras/volume_id/lib/libvolume_id.h ${STAGING_INCDIR}
64         oe_libinstall -C extras/volume_id/lib -so libvolume_id ${STAGING_LIBDIR}
65 }
66
67 PACKAGES =+ "udev-utils libvolume-id libvolume-id-dev"
68 FILES_libvolume-id-dev = "${includedir}/libvolume_id.h ${libdir}/libvolume_id.a ${libdir}/libvolume_id.so ${libdir}/pkgconfig/libvolume_id.pc"
69 FILES_udev-utils = "${usrbindir}/udevinfo ${sbindir}/udevadm ${usrbindir}/udevtest"
70 FILES_libvolume-id = "${base_libdir}/libvolume_id.so.*"
71 FILES_${PN} += "${usrbindir}/* ${usrsbindir}/udevd"
72 FILES_${PN}-dbg += "${usrbindir}/.debug ${usrsbindir}/.debug"