[oe] [meta-oe v2] lvm2: replace CPPFunction with rl_completion_func_t to fix build error

Robert Yang liezhi.yang at windriver.com
Thu Mar 27 08:04:29 UTC 2014



On 03/26/2014 08:22 PM, Zhenhua Luo wrote:
> lvm2 depends on readline, CPPFunction has been replaced by rl_completion_func_t
> in recent readline,
>
> Error log:
> | lvm.c: In function 'lvm_shell':
> | lvm.c:189:38: error: 'CPPFunction' undeclared (first use in this function)
> |   rl_attempted_completion_function = (CPPFunction *) _completion;
> |                                       ^
>
> Signed-off-by: Zhenhua Luo <zhenhua.luo at freescale.com>
> ---
>   meta-oe/recipes-support/lvm2/lvm2.inc              |  1 +
>   ...ace-CPPFunction-with-rl_completion_func_t.patch | 33 ++++++++++++++++++++++
>   2 files changed, 34 insertions(+)
>   create mode 100644 meta-oe/recipes-support/lvm2/lvm2/0001-Replace-CPPFunction-with-rl_completion_func_t.patch
>
> diff --git a/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-oe/recipes-support/lvm2/lvm2.inc
> index c2e1007..4b43328 100644
> --- a/meta-oe/recipes-support/lvm2/lvm2.inc
> +++ b/meta-oe/recipes-support/lvm2/lvm2.inc
> @@ -9,6 +9,7 @@ INC_PR = "r4"
>
>   S = "${WORKDIR}/LVM2.${PV}"
>   SRC_URI = "ftp://sources.redhat.com/pub/lvm2/old/LVM2.${PV}.tgz \
> +           file://0001-Replace-CPPFunction-with-rl_completion_func_t.patch \
>              file://lvm.conf"
>
>   PACKAGECONFIG ??= "readline"
> diff --git a/meta-oe/recipes-support/lvm2/lvm2/0001-Replace-CPPFunction-with-rl_completion_func_t.patch b/meta-oe/recipes-support/lvm2/lvm2/0001-Replace-CPPFunction-with-rl_completion_func_t.patch
> new file mode 100644
> index 0000000..98c21fd
> --- /dev/null
> +++ b/meta-oe/recipes-support/lvm2/lvm2/0001-Replace-CPPFunction-with-rl_completion_func_t.patch
> @@ -0,0 +1,33 @@
> +From e2484e179c389b98366c8b66b451d9d2ba8f35e8 Mon Sep 17 00:00:00 2001
> +From: Zhenhua Luo <zhenhua.luo at freescale.com>
> +Date: Tue, 25 Mar 2014 17:39:43 +0800
> +Subject: [PATCH] Replace CPPFunction with rl_completion_func_t
> +
> +lvm2 depends on readline, CPPFunction has been replaced by rl_completion_func_t
> +in recent readline,
> +
> +Upstream-Status: Inappropriate [configuration]

Maybe the Upstream-Status should be "Pending" ?

The patch works well for me.

Tested-by: Robert Yang <liezhi.yang at windriver.com>

// Robert

> +The change depends on the build environment, it is required by OpenEmbedded env
> +due to readline upgrade.
> +
> +Signed-off-by: Zhenhua Luo <zhenhua.luo at freescale.com>
> +---
> + tools/lvm.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/tools/lvm.c b/tools/lvm.c
> +index e002a76..5fa35d2 100644
> +--- a/tools/lvm.c
> ++++ b/tools/lvm.c
> +@@ -186,7 +186,7 @@ int lvm_shell(struct cmd_context *cmd, struct cmdline_context *cmdline)
> + 	char *input = NULL, *args[MAX_ARGS], **argv;
> +
> + 	rl_readline_name = "lvm";
> +-	rl_attempted_completion_function = (CPPFunction *) _completion;
> ++	rl_attempted_completion_function = (rl_completion_func_t *) _completion;
> +
> + 	_read_history(cmd);
> +
> +--
> +1.9.1
> +
>



More information about the Openembedded-devel mailing list