Would this be useful for getting collie working?
On Thu, Jul 15, 2010 at 7:12 PM, Stanislav Brabec <u...@penguin.cz> wrote: > This patch adds support for udev-compat to selected platforms (just now > spitz and akita). It is possible to implement the wrapper directly to > udev init files on all patforms. It would be more straightforward, but > it would check for udev-compat everywhere. > > udev: Added support for udev-compat. > > diff --git a/recipes/udev/files/udev-compat-wrapper-patch > b/recipes/udev/files/udev-compat-wrapper-patch > new file mode 100644 > index 0000000..a3e312d > --- /dev/null > +++ b/recipes/udev/files/udev-compat-wrapper-patch > @@ -0,0 +1,37 @@ > +This patch should be applied on platforms which support kernels < 2.6.27 and > need udev-compat package. > + > +It should be applied after: > +sed -i "s:/sbin/udevd:\$UDEVD:g;s:/sbin/udevadm:\$UDEVADM:g" init > + > +It has not .patch suffix, because such files would not be copied to > +WORKDIR and cannot be selectively applied on another source file. > + > +--- init > ++++ init > +@@ -11,6 +11,17 @@ > + > + export TZ=/etc/localtime > + > ++UDEVD="/sbin/udevd" > ++UDEVADM="/sbin/udevadm" > ++# If we are running an old kernel and have a static udev present use that > instead > ++if [ -e /sbin/udevd-compat ] ; then > ++ KERNELMICROVER="$(uname -r | awk -F. '{print $3}')" > ++ if [ $KERNELMICROVER -lt 27 ] ; then > ++ UDEVD="/sbin/udevd-compat" > ++ UDEVADM="/sbin/udevadm-compat" > ++ fi > ++fi > ++ > + [ -d /sys/class ] || exit 1 > + [ -r /proc/mounts ] || exit 1 > + [ -x $UDEVD ] || exit 1 > +@@ -21,6 +32,8 @@ > + if [ -x /sbin/pidof ]; then > + pid=`/sbin/pidof -x udevd` > + [ -n "$pid" ] && kill $pid > ++ pid=`/sbin/pidof -x udevd-compat` > ++ [ -n "$pid" ] && kill $pid > + fi > + } > + > diff --git a/recipes/udev/udev.inc b/recipes/udev/udev.inc > index c79da97..f4f1c40 100644 > --- a/recipes/udev/udev.inc > +++ b/recipes/udev/udev.inc > @@ -11,7 +11,8 @@ SRC_URI = > "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \ > file://mount.sh \ > file://network.sh \ > file://local.rules \ > - file://init" > + file://init \ > + file://udev-compat-wrapper-patch" > > INC_PR = "r27" > > @@ -42,6 +43,22 @@ EXTRA_OEMAKE = "-e \ > 'EXTRAS=${UDEV_EXTRAS}' \ > 'STRIP=echo'" > > +RPROVIDES_udev_spitz = "udev-compat-wrapper" > +do_unpack_append_spitz() { > + bb.build.exec_func('do_apply_compat_wrapper', d) > +} > +RPROVIDES_udev_akita = "udev-compat-wrapper" > +do_unpack_append_akita() { > + bb.build.exec_func('do_apply_compat_wrapper', d) > +} > +# Modify init script on platforms that need to boot old kernels: > +do_apply_compat_wrapper() { > + cd ${WORKDIR} > + sed -i "s:/sbin/udevd:\$UDEVD:g;s:/sbin/udevadm:\$UDEVADM:g" init > + patch <udev-compat-wrapper-patch > + cd - > +} > + > do_install () { > install -d ${D}${usrsbindir} \ > ${D}${sbindir} > diff --git a/recipes/udev/udev_151.bb b/recipes/udev/udev_151.bb > index 7be56d2..ce97a7b 100644 > --- a/recipes/udev/udev_151.bb > +++ b/recipes/udev/udev_151.bb > @@ -29,6 +29,7 @@ SRC_URI += " \ > file://default \ > file://init \ > file://cache \ > + file://udev-compat-wrapper-patch \ > " > > SRC_URI_append_h2200 = " file://50-hostap_cs.rules " > @@ -74,6 +75,22 @@ FILES_${PN}-dbg += "${usrbindir}/.debug > ${usrsbindir}/.debug" > FILES_${PN} += "/lib/udev* ${libdir}/ConsoleKit" > FILES_${PN}-dbg += "/lib/udev/.debug" > > +RPROVIDES_udev_spitz = "udev-compat-wrapper" > +do_unpack_append_spitz() { > + bb.build.exec_func('do_apply_compat_wrapper', d) > +} > +RPROVIDES_udev_akita = "udev-compat-wrapper" > +do_unpack_append_akita() { > + bb.build.exec_func('do_apply_compat_wrapper', d) > +} > +# Modify init script on platforms that need to boot old kernels: > +do_apply_compat_wrapper() { > + cd ${WORKDIR} > + sed -i "s:/sbin/udevd:\$UDEVD:g;s:/sbin/udevadm:\$UDEVADM:g" init > + patch <udev-compat-wrapper-patch > + cd - > +} > + > do_install () { > install -d ${D}${usrsbindir} \ > ${D}${sbindir} > diff --git a/recipes/udev/udev_154.bb b/recipes/udev/udev_154.bb > index 5e90e88..6032215 100644 > --- a/recipes/udev/udev_154.bb > +++ b/recipes/udev/udev_154.bb > @@ -30,6 +30,7 @@ SRC_URI += " \ > file://default \ > file://init \ > file://cache \ > + file://udev-compat-wrapper-patch \ > " > > SRC_URI_append_h2200 = " file://50-hostap_cs.rules " > @@ -75,6 +76,22 @@ FILES_${PN}-dbg += "${usrbindir}/.debug > ${usrsbindir}/.debug" > FILES_${PN} += "/lib/udev* ${libdir}/ConsoleKit" > FILES_${PN}-dbg += "/lib/udev/.debug" > > +RPROVIDES_udev_spitz = "udev-compat-wrapper" > +do_unpack_append_spitz() { > + bb.build.exec_func('do_apply_compat_wrapper', d) > +} > +RPROVIDES_udev_akita = "udev-compat-wrapper" > +do_unpack_append_akita() { > + bb.build.exec_func('do_apply_compat_wrapper', d) > +} > +# Modify init script on platforms that need to boot old kernels: > +do_apply_compat_wrapper() { > + cd ${WORKDIR} > + sed -i "s:/sbin/udevd:\$UDEVD:g;s:/sbin/udevadm:\$UDEVADM:g" init > + patch <udev-compat-wrapper-patch > + cd - > +} > + > do_install () { > install -d ${D}${usrsbindir} \ > ${D}${sbindir} > > -- > > ________________________________________________________________________ > Stanislav Brabec > http://www.penguin.cz/~utx/zaurus > > > _______________________________________________ > Angstrom-distro-devel mailing list > Angstrom-distro-devel@linuxtogo.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-devel > _______________________________________________ Angstrom-distro-devel mailing list Angstrom-distro-devel@linuxtogo.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-devel