diff mbox series

[44/48] selftest: add a copy of previous mtd-utils version to meta-selftest

Message ID 20221107145508.1051404-44-alex@linutronix.de
State New
Headers show
Series [01/48] man-pages: upgrade 5.13 -> 6.01 | expand

Commit Message

Alexander Kanavin Nov. 7, 2022, 2:55 p.m. UTC
The latest version update eliminated all custom patches, and the selftest
expects them.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 ...used-linux-fs.h-header-from-includes.patch | 31 ++++++++
 .../mtd/mtd-utils-selftest_git.bb             | 77 +++++++++++++++++++
 meta/lib/oeqa/selftest/cases/devtool.py       |  4 +-
 3 files changed, 110 insertions(+), 2 deletions(-)
 create mode 100644 meta-selftest/recipes-devtools/mtd/mtd-utils-selftest/0001-tests-Remove-unused-linux-fs.h-header-from-includes.patch
 create mode 100644 meta-selftest/recipes-devtools/mtd/mtd-utils-selftest_git.bb

Comments

Khem Raj Nov. 7, 2022, 6:25 p.m. UTC | #1
On Mon, Nov 7, 2022 at 6:56 AM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>
> The latest version update eliminated all custom patches, and the selftest
> expects them.
>

interesting, is it used for testing the patching mechanism during selftest ?
in that case it might be possible to use package which has a sticky
patch instead.
we can avoid maintaining another recipe.

> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  ...used-linux-fs.h-header-from-includes.patch | 31 ++++++++
>  .../mtd/mtd-utils-selftest_git.bb             | 77 +++++++++++++++++++
>  meta/lib/oeqa/selftest/cases/devtool.py       |  4 +-
>  3 files changed, 110 insertions(+), 2 deletions(-)
>  create mode 100644 meta-selftest/recipes-devtools/mtd/mtd-utils-selftest/0001-tests-Remove-unused-linux-fs.h-header-from-includes.patch
>  create mode 100644 meta-selftest/recipes-devtools/mtd/mtd-utils-selftest_git.bb
>
> diff --git a/meta-selftest/recipes-devtools/mtd/mtd-utils-selftest/0001-tests-Remove-unused-linux-fs.h-header-from-includes.patch b/meta-selftest/recipes-devtools/mtd/mtd-utils-selftest/0001-tests-Remove-unused-linux-fs.h-header-from-includes.patch
> new file mode 100644
> index 0000000000..73d4a8475f
> --- /dev/null
> +++ b/meta-selftest/recipes-devtools/mtd/mtd-utils-selftest/0001-tests-Remove-unused-linux-fs.h-header-from-includes.patch
> @@ -0,0 +1,31 @@
> +From 6fb10bd18488ed84776675bc1b2982800a51d839 Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem@gmail.com>
> +Date: Sat, 6 Aug 2022 20:14:38 -0700
> +Subject: [mtd-utils][PATCH] tests: Remove unused linux/fs.h header from includes
> +
> +This header is not needed, moreover it includes linux/mount.h which is
> +now in conflict[1] with glibc provided sys/mount.h from glibc 2.36 onwards
> +
> +[1] https://sourceware.org/glibc/wiki/Release/2.36
> +
> +Upstream-Status: Submitted [https://lists.infradead.org/pipermail/linux-mtd/2022-August/094667.html]
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +---
> + tests/fs-tests/lib/tests.c | 1 -
> + 1 file changed, 1 deletion(-)
> +
> +diff --git a/tests/fs-tests/lib/tests.c b/tests/fs-tests/lib/tests.c
> +index d1a2e0c..3db0426 100644
> +--- a/tests/fs-tests/lib/tests.c
> ++++ b/tests/fs-tests/lib/tests.c
> +@@ -35,7 +35,6 @@
> + #include <sys/vfs.h>
> + #include <sys/mount.h>
> + #include <sys/statvfs.h>
> +-#include <linux/fs.h>
> + #include <linux/jffs2.h>
> +
> + #include "tests.h"
> +--
> +2.37.1
> +
> diff --git a/meta-selftest/recipes-devtools/mtd/mtd-utils-selftest_git.bb b/meta-selftest/recipes-devtools/mtd/mtd-utils-selftest_git.bb
> new file mode 100644
> index 0000000000..ca2141c972
> --- /dev/null
> +++ b/meta-selftest/recipes-devtools/mtd/mtd-utils-selftest_git.bb
> @@ -0,0 +1,77 @@
> +SUMMARY = "Tools for managing memory technology devices"
> +HOMEPAGE = "http://www.linux-mtd.infradead.org/"
> +DESCRIPTION = "mtd-utils tool is a generic Linux subsystem for memory devices, especially Flash devices."
> +SECTION = "base"
> +LICENSE = "GPL-2.0-or-later"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
> +                    file://include/common.h;beginline=1;endline=17;md5=ba05b07912a44ea2bf81ce409380049c"
> +
> +inherit autotools pkgconfig update-alternatives
> +
> +DEPENDS = "zlib e2fsprogs util-linux"
> +RDEPENDS:mtd-utils-tests += "bash"
> +
> +PV = "2.1.4"
> +
> +SRCREV = "c7f1bfa44a84d02061787e2f6093df5cc40b9f5c"
> +SRC_URI = "git://git.infradead.org/mtd-utils.git;branch=master \
> +           file://0001-tests-Remove-unused-linux-fs.h-header-from-includes.patch \
> +           "
> +
> +S = "${WORKDIR}/git"
> +
> +# xattr support creates an additional compile-time dependency on acl because
> +# the sys/acl.h header is needed. libacl is not needed and thus enabling xattr
> +# regardless whether acl is enabled or disabled in the distro should be okay.
> +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'xattr', d)} lzo jffs ubifs"
> +PACKAGECONFIG[lzo] = "--with-lzo,--without-lzo,lzo"
> +PACKAGECONFIG[xattr] = "--with-xattr,--without-xattr,acl"
> +PACKAGECONFIG[crypto] = "--with-crypto,--without-crypto,openssl"
> +PACKAGECONFIG[jffs] = "--with-jffs,--without-jffs"
> +PACKAGECONFIG[ubifs] = "--with-ubifs,--without-ubifs"
> +PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd"
> +
> +CPPFLAGS:append:riscv64  = " -pthread -D_REENTRANT"
> +
> +EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} ${@bb.utils.contains('PACKAGECONFIG', 'xattr', '', '-DWITHOUT_XATTR', d)} -I${S}/include' 'BUILDDIR=${S}'"
> +
> +# Use higher priority than corresponding BusyBox-provided applets
> +ALTERNATIVE_PRIORITY = "100"
> +
> +ALTERNATIVE:${PN} = "flashcp flash_eraseall flash_lock flash_unlock nanddump nandwrite"
> +ALTERNATIVE:${PN}-ubifs = "ubiattach ubidetach ubimkvol ubirename ubirmvol ubirsvol ubiupdatevol"
> +
> +ALTERNATIVE_LINK_NAME[nandwrite] = "${sbindir}/nandwrite"
> +ALTERNATIVE_LINK_NAME[nanddump] = "${sbindir}/nanddump"
> +ALTERNATIVE_LINK_NAME[ubiattach] = "${sbindir}/ubiattach"
> +ALTERNATIVE_LINK_NAME[ubidetach] = "${sbindir}/ubidetach"
> +ALTERNATIVE_LINK_NAME[ubimkvol] = "${sbindir}/ubimkvol"
> +ALTERNATIVE_LINK_NAME[ubirename] = "${sbindir}/ubirename"
> +ALTERNATIVE_LINK_NAME[ubirmvol] = "${sbindir}/ubirmvol"
> +ALTERNATIVE_LINK_NAME[ubirsvol] = "${sbindir}/ubirsvol"
> +ALTERNATIVE_LINK_NAME[ubiupdatevol] = "${sbindir}/ubiupdatevol"
> +ALTERNATIVE_LINK_NAME[flash_eraseall] = "${sbindir}/flash_eraseall"
> +ALTERNATIVE_LINK_NAME[flash_lock] = "${sbindir}/flash_lock"
> +ALTERNATIVE_LINK_NAME[flash_unlock] = "${sbindir}/flash_unlock"
> +ALTERNATIVE_LINK_NAME[flashcp] = "${sbindir}/flashcp"
> +
> +do_install () {
> +       oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} INCLUDEDIR=${includedir}
> +}
> +
> +PACKAGES =+ "mtd-utils-misc mtd-utils-tests"
> +PACKAGES =+ "${@bb.utils.contains("PACKAGECONFIG", "jffs", "mtd-utils-jffs2", "", d)}"
> +PACKAGES =+ "${@bb.utils.contains("PACKAGECONFIG", "ubifs", "mtd-utils-ubifs", "", d)}"
> +
> +FILES:mtd-utils-jffs2 = "${sbindir}/mkfs.jffs2 ${sbindir}/jffs2dump ${sbindir}/jffs2reader ${sbindir}/sumtool"
> +FILES:mtd-utils-ubifs = "${sbindir}/mkfs.ubifs ${sbindir}/ubi*"
> +FILES:mtd-utils-misc = "${sbindir}/nftl* ${sbindir}/ftl* ${sbindir}/rfd* ${sbindir}/doc* ${sbindir}/serve_image ${sbindir}/recv_image"
> +FILES:mtd-utils-tests = "${libexecdir}/mtd-utils/*"
> +
> +BBCLASSEXTEND = "native nativesdk"
> +
> +# git/.compr.c.dep:46: warning: NUL character seen; rest of line ignored
> +# git/.compr.c.dep:47: *** missing separator.  Stop.
> +PARALLEL_MAKE = ""
> +
> +EXCLUDE_FROM_WORLD = "1"
> diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py
> index 142932e12f..0cb7403f16 100644
> --- a/meta/lib/oeqa/selftest/cases/devtool.py
> +++ b/meta/lib/oeqa/selftest/cases/devtool.py
> @@ -954,7 +954,7 @@ class DevtoolUpdateTests(DevtoolBase):
>
>      def test_devtool_update_recipe_git(self):
>          # Check preconditions
> -        testrecipe = 'mtd-utils'
> +        testrecipe = 'mtd-utils-selftest'
>          bb_vars = get_bb_vars(['FILE', 'SRC_URI'], testrecipe)
>          recipefile = bb_vars['FILE']
>          src_uri = bb_vars['SRC_URI']
> @@ -1075,7 +1075,7 @@ class DevtoolUpdateTests(DevtoolBase):
>
>      def test_devtool_update_recipe_append_git(self):
>          # Check preconditions
> -        testrecipe = 'mtd-utils'
> +        testrecipe = 'mtd-utils-selftest'
>          bb_vars = get_bb_vars(['FILE', 'SRC_URI'], testrecipe)
>          recipefile = bb_vars['FILE']
>          src_uri = bb_vars['SRC_URI']
> --
> 2.30.2
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#172895): https://lists.openembedded.org/g/openembedded-core/message/172895
> Mute This Topic: https://lists.openembedded.org/mt/94867621/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alexander Kanavin Nov. 7, 2022, 7:19 p.m. UTC | #2
On Mon, 7 Nov 2022 at 19:26, Khem Raj <raj.khem@gmail.com> wrote:
>
> On Mon, Nov 7, 2022 at 6:56 AM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
> >
> > The latest version update eliminated all custom patches, and the selftest
> > expects them.
> >
>
> interesting, is it used for testing the patching mechanism during selftest ?
> in that case it might be possible to use package which has a sticky
> patch instead.
> we can avoid maintaining another recipe.

I don't think there's going to be much maintaining, it is used only
for testing devtool operations, and isn't actually built. There are
several other such recipes in meta-selftest.

Alex
diff mbox series

Patch

diff --git a/meta-selftest/recipes-devtools/mtd/mtd-utils-selftest/0001-tests-Remove-unused-linux-fs.h-header-from-includes.patch b/meta-selftest/recipes-devtools/mtd/mtd-utils-selftest/0001-tests-Remove-unused-linux-fs.h-header-from-includes.patch
new file mode 100644
index 0000000000..73d4a8475f
--- /dev/null
+++ b/meta-selftest/recipes-devtools/mtd/mtd-utils-selftest/0001-tests-Remove-unused-linux-fs.h-header-from-includes.patch
@@ -0,0 +1,31 @@ 
+From 6fb10bd18488ed84776675bc1b2982800a51d839 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 6 Aug 2022 20:14:38 -0700
+Subject: [mtd-utils][PATCH] tests: Remove unused linux/fs.h header from includes
+
+This header is not needed, moreover it includes linux/mount.h which is
+now in conflict[1] with glibc provided sys/mount.h from glibc 2.36 onwards
+
+[1] https://sourceware.org/glibc/wiki/Release/2.36
+
+Upstream-Status: Submitted [https://lists.infradead.org/pipermail/linux-mtd/2022-August/094667.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/fs-tests/lib/tests.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/tests/fs-tests/lib/tests.c b/tests/fs-tests/lib/tests.c
+index d1a2e0c..3db0426 100644
+--- a/tests/fs-tests/lib/tests.c
++++ b/tests/fs-tests/lib/tests.c
+@@ -35,7 +35,6 @@
+ #include <sys/vfs.h>
+ #include <sys/mount.h>
+ #include <sys/statvfs.h>
+-#include <linux/fs.h>
+ #include <linux/jffs2.h>
+ 
+ #include "tests.h"
+-- 
+2.37.1
+
diff --git a/meta-selftest/recipes-devtools/mtd/mtd-utils-selftest_git.bb b/meta-selftest/recipes-devtools/mtd/mtd-utils-selftest_git.bb
new file mode 100644
index 0000000000..ca2141c972
--- /dev/null
+++ b/meta-selftest/recipes-devtools/mtd/mtd-utils-selftest_git.bb
@@ -0,0 +1,77 @@ 
+SUMMARY = "Tools for managing memory technology devices"
+HOMEPAGE = "http://www.linux-mtd.infradead.org/"
+DESCRIPTION = "mtd-utils tool is a generic Linux subsystem for memory devices, especially Flash devices."
+SECTION = "base"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
+                    file://include/common.h;beginline=1;endline=17;md5=ba05b07912a44ea2bf81ce409380049c"
+
+inherit autotools pkgconfig update-alternatives
+
+DEPENDS = "zlib e2fsprogs util-linux"
+RDEPENDS:mtd-utils-tests += "bash"
+
+PV = "2.1.4"
+
+SRCREV = "c7f1bfa44a84d02061787e2f6093df5cc40b9f5c"
+SRC_URI = "git://git.infradead.org/mtd-utils.git;branch=master \
+           file://0001-tests-Remove-unused-linux-fs.h-header-from-includes.patch \
+           "
+
+S = "${WORKDIR}/git"
+
+# xattr support creates an additional compile-time dependency on acl because
+# the sys/acl.h header is needed. libacl is not needed and thus enabling xattr
+# regardless whether acl is enabled or disabled in the distro should be okay.
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'xattr', d)} lzo jffs ubifs"
+PACKAGECONFIG[lzo] = "--with-lzo,--without-lzo,lzo"
+PACKAGECONFIG[xattr] = "--with-xattr,--without-xattr,acl"
+PACKAGECONFIG[crypto] = "--with-crypto,--without-crypto,openssl"
+PACKAGECONFIG[jffs] = "--with-jffs,--without-jffs"
+PACKAGECONFIG[ubifs] = "--with-ubifs,--without-ubifs"
+PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd"
+
+CPPFLAGS:append:riscv64  = " -pthread -D_REENTRANT"
+
+EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} ${@bb.utils.contains('PACKAGECONFIG', 'xattr', '', '-DWITHOUT_XATTR', d)} -I${S}/include' 'BUILDDIR=${S}'"
+
+# Use higher priority than corresponding BusyBox-provided applets
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE:${PN} = "flashcp flash_eraseall flash_lock flash_unlock nanddump nandwrite"
+ALTERNATIVE:${PN}-ubifs = "ubiattach ubidetach ubimkvol ubirename ubirmvol ubirsvol ubiupdatevol"
+
+ALTERNATIVE_LINK_NAME[nandwrite] = "${sbindir}/nandwrite"
+ALTERNATIVE_LINK_NAME[nanddump] = "${sbindir}/nanddump"
+ALTERNATIVE_LINK_NAME[ubiattach] = "${sbindir}/ubiattach"
+ALTERNATIVE_LINK_NAME[ubidetach] = "${sbindir}/ubidetach"
+ALTERNATIVE_LINK_NAME[ubimkvol] = "${sbindir}/ubimkvol"
+ALTERNATIVE_LINK_NAME[ubirename] = "${sbindir}/ubirename"
+ALTERNATIVE_LINK_NAME[ubirmvol] = "${sbindir}/ubirmvol"
+ALTERNATIVE_LINK_NAME[ubirsvol] = "${sbindir}/ubirsvol"
+ALTERNATIVE_LINK_NAME[ubiupdatevol] = "${sbindir}/ubiupdatevol"
+ALTERNATIVE_LINK_NAME[flash_eraseall] = "${sbindir}/flash_eraseall"
+ALTERNATIVE_LINK_NAME[flash_lock] = "${sbindir}/flash_lock"
+ALTERNATIVE_LINK_NAME[flash_unlock] = "${sbindir}/flash_unlock"
+ALTERNATIVE_LINK_NAME[flashcp] = "${sbindir}/flashcp"
+
+do_install () {
+	oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} INCLUDEDIR=${includedir}
+}
+
+PACKAGES =+ "mtd-utils-misc mtd-utils-tests"
+PACKAGES =+ "${@bb.utils.contains("PACKAGECONFIG", "jffs", "mtd-utils-jffs2", "", d)}"
+PACKAGES =+ "${@bb.utils.contains("PACKAGECONFIG", "ubifs", "mtd-utils-ubifs", "", d)}"
+
+FILES:mtd-utils-jffs2 = "${sbindir}/mkfs.jffs2 ${sbindir}/jffs2dump ${sbindir}/jffs2reader ${sbindir}/sumtool"
+FILES:mtd-utils-ubifs = "${sbindir}/mkfs.ubifs ${sbindir}/ubi*"
+FILES:mtd-utils-misc = "${sbindir}/nftl* ${sbindir}/ftl* ${sbindir}/rfd* ${sbindir}/doc* ${sbindir}/serve_image ${sbindir}/recv_image"
+FILES:mtd-utils-tests = "${libexecdir}/mtd-utils/*"
+
+BBCLASSEXTEND = "native nativesdk"
+
+# git/.compr.c.dep:46: warning: NUL character seen; rest of line ignored
+# git/.compr.c.dep:47: *** missing separator.  Stop.
+PARALLEL_MAKE = ""
+
+EXCLUDE_FROM_WORLD = "1"
diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py
index 142932e12f..0cb7403f16 100644
--- a/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/meta/lib/oeqa/selftest/cases/devtool.py
@@ -954,7 +954,7 @@  class DevtoolUpdateTests(DevtoolBase):
 
     def test_devtool_update_recipe_git(self):
         # Check preconditions
-        testrecipe = 'mtd-utils'
+        testrecipe = 'mtd-utils-selftest'
         bb_vars = get_bb_vars(['FILE', 'SRC_URI'], testrecipe)
         recipefile = bb_vars['FILE']
         src_uri = bb_vars['SRC_URI']
@@ -1075,7 +1075,7 @@  class DevtoolUpdateTests(DevtoolBase):
 
     def test_devtool_update_recipe_append_git(self):
         # Check preconditions
-        testrecipe = 'mtd-utils'
+        testrecipe = 'mtd-utils-selftest'
         bb_vars = get_bb_vars(['FILE', 'SRC_URI'], testrecipe)
         recipefile = bb_vars['FILE']
         src_uri = bb_vars['SRC_URI']