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

Reply via email to