Patchwork [07/20] kmod: Add recipes

login
register
mail settings
Submitter Khem Raj
Date Feb. 6, 2012, 6:40 a.m.
Message ID <e03556364318f69ce5914cc5375bfdf51b9c27d4.1328510188.git.raj.khem@gmail.com>
Download mbox | patch
Permalink /patch/20737/
State New
Headers show

Comments

Khem Raj - Feb. 6, 2012, 6:40 a.m.
kmod is replacement for module-init-tools

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-kernel/kmod/kmod-native_git.bb      |   14 +++++
 meta/recipes-kernel/kmod/kmod.inc                |   31 +++++++++++
 meta/recipes-kernel/kmod/kmod/depmod-search.conf |    6 ++
 meta/recipes-kernel/kmod/kmod_git.bb             |   62 ++++++++++++++++++++++
 4 files changed, 113 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-kernel/kmod/kmod-native_git.bb
 create mode 100644 meta/recipes-kernel/kmod/kmod.inc
 create mode 100644 meta/recipes-kernel/kmod/kmod/depmod-search.conf
 create mode 100644 meta/recipes-kernel/kmod/kmod_git.bb
Darren Hart - May 3, 2012, 9:05 p.m.
On 02/05/2012 10:40 PM, Khem Raj wrote:
> kmod is replacement for module-init-tools
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  meta/recipes-kernel/kmod/kmod-native_git.bb      |   14 +++++
>  meta/recipes-kernel/kmod/kmod.inc                |   31 +++++++++++
>  meta/recipes-kernel/kmod/kmod/depmod-search.conf |    6 ++
>  meta/recipes-kernel/kmod/kmod_git.bb             |   62 ++++++++++++++++++++++
>  4 files changed, 113 insertions(+), 0 deletions(-)
>  create mode 100644 meta/recipes-kernel/kmod/kmod-native_git.bb
>  create mode 100644 meta/recipes-kernel/kmod/kmod.inc
>  create mode 100644 meta/recipes-kernel/kmod/kmod/depmod-search.conf
>  create mode 100644 meta/recipes-kernel/kmod/kmod_git.bb
> 
> diff --git a/meta/recipes-kernel/kmod/kmod-native_git.bb b/meta/recipes-kernel/kmod/kmod-native_git.bb
> new file mode 100644
> index 0000000..96de8b8
> --- /dev/null
> +++ b/meta/recipes-kernel/kmod/kmod-native_git.bb
> @@ -0,0 +1,14 @@
> +# Copyright (C) 2012 Khem Raj <raj.khem@gmail.com>
> +# Released under the MIT license (see COPYING.MIT for the terms)
> +
> +require kmod.inc
> +inherit native
> +
> +PR = "${INC_PR}.0"
> +
> +do_install_append (){
> +	for tool in depmod insmod lsmod modinfo modprobe rmmod
> +	do
> +		ln -s kmod ${D}${bindir}/$tool
> +	done

Do we have to ensure to disable module tools in busybox to avoid
conflict here?

I had a few other questions, but managed to resolve them by the time I
finished reading. It looks good with only the one concern above.

Reviewed-by: Darren Hart <dvhart@liunx.intel.com>

> +}
> diff --git a/meta/recipes-kernel/kmod/kmod.inc b/meta/recipes-kernel/kmod/kmod.inc
> new file mode 100644
> index 0000000..ea0247e
> --- /dev/null
> +++ b/meta/recipes-kernel/kmod/kmod.inc
> @@ -0,0 +1,31 @@
> +# Copyright (C) 2012 Khem Raj <raj.khem@gmail.com>
> +# Released under the MIT license (see COPYING.MIT for the terms)
> +
> +DESCRIPTION = "kmod is a set of tools to handle common tasks with Linux kernel modules like \
> +insert, remove, list, check properties, resolve dependencies and aliases."
> +HOMEPAGE = "http://packages.profusion.mobi/kmod/"
> +LICENSE = "GPL-2.0+ & LGPL-2.1+"
> +LICENSE_libkmod = "LGPL-2.1+"
> +SECTION = "base"
> +PV = "4+gitr${SRCREV}"
> +INC_PR = "r0"
> +DEPENDS += "gnome-doc-utils-native"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
> +                    file://libkmod/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
> +                   "
> +inherit autotools
> +
> +SRC_URI = "git://git.profusion.mobi/kmod.git;protocol=git;branch=master \
> +           file://depmod-search.conf \
> +          "
> +
> +SRCREV = "a2c7d3e8b058a2013aa8da5986d1d11fa13d6fd7"
> +
> +S = "${WORKDIR}/git"
> +
> +EXTRA_AUTORECONF += "--install --symlink"
> +EXTRA_OECONF +="--enable-debug --enable-logging --enable-tools"
> +
> +do_configure_prepend () {
> +        gtkdocize --docdir ${S}/libkmod/docs || touch ${S}/libkmod/docs/gtk-doc.make
> +}
> diff --git a/meta/recipes-kernel/kmod/kmod/depmod-search.conf b/meta/recipes-kernel/kmod/kmod/depmod-search.conf
> new file mode 100644
> index 0000000..527c0bb
> --- /dev/null
> +++ b/meta/recipes-kernel/kmod/kmod/depmod-search.conf
> @@ -0,0 +1,6 @@
> +#
> +# /etc/depmod.d/depmod.conf
> +#
> +
> +search updates extramodules built-in
> +
> diff --git a/meta/recipes-kernel/kmod/kmod_git.bb b/meta/recipes-kernel/kmod/kmod_git.bb
> new file mode 100644
> index 0000000..eaab47b
> --- /dev/null
> +++ b/meta/recipes-kernel/kmod/kmod_git.bb
> @@ -0,0 +1,62 @@
> +# Copyright (C) 2012 Khem Raj <raj.khem@gmail.com>
> +# Released under the MIT license (see COPYING.MIT for the terms)
> +
> +require kmod.inc
> +
> +PR = "${INC_PR}.0"
> +
> +PROVIDES_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
> +RPROVIDES_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
> +CONFLICTS_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
> +
> +# autotools set prefix to /usr, however we want them in /bin and /sbin
> +bindir = "${base_bindir}"
> +sbindir = "${base_sbindir}"
> +libdir = "${base_libdir}"
> +
> +SRC_URI += " \
> +            file://depmod-search.conf \
> +           "
> +
> +do_install_append () {
> +        install -dm755 ${D}${base_bindir}
> +        install -dm755 ${D}${base_sbindir}
> +        # add symlinks to kmod
> +        ln -s ..${base_bindir}/kmod ${D}${base_bindir}/lsmod.kmod
> +        for tool in {ins,rm,dep}mod mod{info,probe}; do
> +                ln -s ..${base_bindir}/kmod ${D}${base_sbindir}/${tool}.kmod
> +        done
> +        # configuration directories
> +        install -dm755 ${D}${base_libdir}/depmod.d
> +        install -dm755 ${D}${base_libdir}/modprobe.d
> +        install -dm755 ${D}${sysconfdir}/depmod.d
> +        install -dm755 ${D}${sysconfdir}/modprobe.d
> +
> +        # install depmod.d file for search/ dir
> +        install -Dm644 "${WORKDIR}/depmod-search.conf" "${D}${base_libdir}/depmod.d/search.conf"
> +}
> +
> +pkg_postinst_kmod() {
> +        for f in sbin/insmod sbin/modprobe sbin/rmmod sbin/modinfo; do
> +                bn=`basename $f`
> +                update-alternatives --install /$f $bn /$f.kmod 60
> +        done
> +        update-alternatives --install /bin/lsmod bin-lsmod /bin/lsmod.kmod 60
> +        update-alternatives --install /sbin/lsmod lsmod /bin/lsmod.kmod 60
> +        update-alternatives --install /sbin/depmod depmod /sbin/depmod.kmod 60
> +}
> +
> +pkg_prerm_kmod() {
> +        for f in sbin/insmod sbin/modprobe sbin/rmmod sbin/modinfo; do
> +                bn=`basename $f`
> +                update-alternatives --remove $bn /$f.kmod
> +        done
> +        update-alternatives --remove bin-lsmod /bin/lsmod.kmod
> +        update-alternatives --remove lsmod /bin/lsmod.kmod
> +        update-alternatives --remove depmod /sbin/depmod.kmod
> +}
> +
> +PACKAGES =+ "libkmod"
> +
> +FILES_libkmod = "${base_libdir}/libkmod*${SOLIBS}"
> +FILES_${PN} += "${base_libdir}/depmod.d ${base_libdir}/modprobe.d"
Khem Raj - May 3, 2012, 10:02 p.m.
On Thu, May 3, 2012 at 2:05 PM, Darren Hart <dvhart@linux.intel.com> wrote:
>
>
> On 02/05/2012 10:40 PM, Khem Raj wrote:
>> kmod is replacement for module-init-tools
>>
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>>  meta/recipes-kernel/kmod/kmod-native_git.bb      |   14 +++++
>>  meta/recipes-kernel/kmod/kmod.inc                |   31 +++++++++++
>>  meta/recipes-kernel/kmod/kmod/depmod-search.conf |    6 ++
>>  meta/recipes-kernel/kmod/kmod_git.bb             |   62 ++++++++++++++++++++++
>>  4 files changed, 113 insertions(+), 0 deletions(-)
>>  create mode 100644 meta/recipes-kernel/kmod/kmod-native_git.bb
>>  create mode 100644 meta/recipes-kernel/kmod/kmod.inc
>>  create mode 100644 meta/recipes-kernel/kmod/kmod/depmod-search.conf
>>  create mode 100644 meta/recipes-kernel/kmod/kmod_git.bb
>>
>> diff --git a/meta/recipes-kernel/kmod/kmod-native_git.bb b/meta/recipes-kernel/kmod/kmod-native_git.bb
>> new file mode 100644
>> index 0000000..96de8b8
>> --- /dev/null
>> +++ b/meta/recipes-kernel/kmod/kmod-native_git.bb
>> @@ -0,0 +1,14 @@
>> +# Copyright (C) 2012 Khem Raj <raj.khem@gmail.com>
>> +# Released under the MIT license (see COPYING.MIT for the terms)
>> +
>> +require kmod.inc
>> +inherit native
>> +
>> +PR = "${INC_PR}.0"
>> +
>> +do_install_append (){
>> +     for tool in depmod insmod lsmod modinfo modprobe rmmod
>> +     do
>> +             ln -s kmod ${D}${bindir}/$tool
>> +     done
>
> Do we have to ensure to disable module tools in busybox to avoid
> conflict here?
>

hmm I guess this could be made as a virtual choice. It was not there
so I did not do it.

> I had a few other questions, but managed to resolve them by the time I
> finished reading. It looks good with only the one concern above.

Patch

diff --git a/meta/recipes-kernel/kmod/kmod-native_git.bb b/meta/recipes-kernel/kmod/kmod-native_git.bb
new file mode 100644
index 0000000..96de8b8
--- /dev/null
+++ b/meta/recipes-kernel/kmod/kmod-native_git.bb
@@ -0,0 +1,14 @@ 
+# Copyright (C) 2012 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require kmod.inc
+inherit native
+
+PR = "${INC_PR}.0"
+
+do_install_append (){
+	for tool in depmod insmod lsmod modinfo modprobe rmmod
+	do
+		ln -s kmod ${D}${bindir}/$tool
+	done
+}
diff --git a/meta/recipes-kernel/kmod/kmod.inc b/meta/recipes-kernel/kmod/kmod.inc
new file mode 100644
index 0000000..ea0247e
--- /dev/null
+++ b/meta/recipes-kernel/kmod/kmod.inc
@@ -0,0 +1,31 @@ 
+# Copyright (C) 2012 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "kmod is a set of tools to handle common tasks with Linux kernel modules like \
+insert, remove, list, check properties, resolve dependencies and aliases."
+HOMEPAGE = "http://packages.profusion.mobi/kmod/"
+LICENSE = "GPL-2.0+ & LGPL-2.1+"
+LICENSE_libkmod = "LGPL-2.1+"
+SECTION = "base"
+PV = "4+gitr${SRCREV}"
+INC_PR = "r0"
+DEPENDS += "gnome-doc-utils-native"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
+                    file://libkmod/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+                   "
+inherit autotools
+
+SRC_URI = "git://git.profusion.mobi/kmod.git;protocol=git;branch=master \
+           file://depmod-search.conf \
+          "
+
+SRCREV = "a2c7d3e8b058a2013aa8da5986d1d11fa13d6fd7"
+
+S = "${WORKDIR}/git"
+
+EXTRA_AUTORECONF += "--install --symlink"
+EXTRA_OECONF +="--enable-debug --enable-logging --enable-tools"
+
+do_configure_prepend () {
+        gtkdocize --docdir ${S}/libkmod/docs || touch ${S}/libkmod/docs/gtk-doc.make
+}
diff --git a/meta/recipes-kernel/kmod/kmod/depmod-search.conf b/meta/recipes-kernel/kmod/kmod/depmod-search.conf
new file mode 100644
index 0000000..527c0bb
--- /dev/null
+++ b/meta/recipes-kernel/kmod/kmod/depmod-search.conf
@@ -0,0 +1,6 @@ 
+#
+# /etc/depmod.d/depmod.conf
+#
+
+search updates extramodules built-in
+
diff --git a/meta/recipes-kernel/kmod/kmod_git.bb b/meta/recipes-kernel/kmod/kmod_git.bb
new file mode 100644
index 0000000..eaab47b
--- /dev/null
+++ b/meta/recipes-kernel/kmod/kmod_git.bb
@@ -0,0 +1,62 @@ 
+# Copyright (C) 2012 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require kmod.inc
+
+PR = "${INC_PR}.0"
+
+PROVIDES_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
+RPROVIDES_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
+CONFLICTS_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
+
+# autotools set prefix to /usr, however we want them in /bin and /sbin
+bindir = "${base_bindir}"
+sbindir = "${base_sbindir}"
+libdir = "${base_libdir}"
+
+SRC_URI += " \
+            file://depmod-search.conf \
+           "
+
+do_install_append () {
+        install -dm755 ${D}${base_bindir}
+        install -dm755 ${D}${base_sbindir}
+        # add symlinks to kmod
+        ln -s ..${base_bindir}/kmod ${D}${base_bindir}/lsmod.kmod
+        for tool in {ins,rm,dep}mod mod{info,probe}; do
+                ln -s ..${base_bindir}/kmod ${D}${base_sbindir}/${tool}.kmod
+        done
+        # configuration directories
+        install -dm755 ${D}${base_libdir}/depmod.d
+        install -dm755 ${D}${base_libdir}/modprobe.d
+        install -dm755 ${D}${sysconfdir}/depmod.d
+        install -dm755 ${D}${sysconfdir}/modprobe.d
+
+        # install depmod.d file for search/ dir
+        install -Dm644 "${WORKDIR}/depmod-search.conf" "${D}${base_libdir}/depmod.d/search.conf"
+}
+
+pkg_postinst_kmod() {
+        for f in sbin/insmod sbin/modprobe sbin/rmmod sbin/modinfo; do
+                bn=`basename $f`
+                update-alternatives --install /$f $bn /$f.kmod 60
+        done
+        update-alternatives --install /bin/lsmod bin-lsmod /bin/lsmod.kmod 60
+        update-alternatives --install /sbin/lsmod lsmod /bin/lsmod.kmod 60
+        update-alternatives --install /sbin/depmod depmod /sbin/depmod.kmod 60
+}
+
+pkg_prerm_kmod() {
+        for f in sbin/insmod sbin/modprobe sbin/rmmod sbin/modinfo; do
+                bn=`basename $f`
+                update-alternatives --remove $bn /$f.kmod
+        done
+        update-alternatives --remove bin-lsmod /bin/lsmod.kmod
+        update-alternatives --remove lsmod /bin/lsmod.kmod
+        update-alternatives --remove depmod /sbin/depmod.kmod
+}
+
+PACKAGES =+ "libkmod"
+
+FILES_libkmod = "${base_libdir}/libkmod*${SOLIBS}"
+FILES_${PN} += "${base_libdir}/depmod.d ${base_libdir}/modprobe.d"