[oe] [meta-oe][PATCH 3/7] ctdb: add new recipe

Martin Jansa martin.jansa at gmail.com
Wed Jul 15 09:07:00 UTC 2015


On Mon, Jun 15, 2015 at 04:52:12PM +0800, Bian Naimeng wrote:
> ctdb is required by samba4

it causes new QA warning, please fix it:
ctdb-2.5.1: /usr/bin/onnode_ctdb contained in package ctdb requires
/bin/bash, but no providers found in its RDEPENDS [file-rdeps]

ideally by removing bashisms and changing shebang

> Signed-off-by: Bian Naimeng <biannm at cn.fujitsu.com>
> ---
>  .../01-support-cross-compile-for-linux-os.patch    | 24 ++++++++++++
>  .../ctdb/02-link-rep_snprintf-for-ltdbtool.patch   | 16 ++++++++
>  meta-oe/recipes-support/ctdb/ctdb_2.5.1.bb         | 43 ++++++++++++++++++++++
>  3 files changed, 83 insertions(+)
>  create mode 100644 meta-oe/recipes-support/ctdb/ctdb/01-support-cross-compile-for-linux-os.patch
>  create mode 100644 meta-oe/recipes-support/ctdb/ctdb/02-link-rep_snprintf-for-ltdbtool.patch
>  create mode 100644 meta-oe/recipes-support/ctdb/ctdb_2.5.1.bb
> 
> diff --git a/meta-oe/recipes-support/ctdb/ctdb/01-support-cross-compile-for-linux-os.patch b/meta-oe/recipes-support/ctdb/ctdb/01-support-cross-compile-for-linux-os.patch
> new file mode 100644
> index 0000000..c9195b4
> --- /dev/null
> +++ b/meta-oe/recipes-support/ctdb/ctdb/01-support-cross-compile-for-linux-os.patch
> @@ -0,0 +1,24 @@
> +support cross-compile for linux-os.
> +
> +Signed-off-by: Bian Naimeng <biannm at cn.fujitsu.com>
> +
> +diff -Nurp ctdb-2.5.1.orig/configure ctdb-2.5.1/configure
> +--- ctdb-2.5.1.orig/configure	2015-05-07 16:24:28.545000238 +0900
> ++++ ctdb-2.5.1/configure	2015-05-07 16:28:20.894000244 +0900
> +@@ -10692,10 +10692,16 @@ if test x"$libreplace_cv_HAVE_GETADDRINF
> + 	# see bug 5910, use our replacements if we detect
> + 	# a broken system.
> + 	if test "$cross_compiling" = yes; then :
> ++		case "$target_os" in
> ++		*linux*)
> ++			;;
> ++		*)
> +   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
> + $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
> + as_fn_error $? "cannot run test program while cross compiling
> + See \`config.log' for more details" "$LINENO" 5; }
> ++			;;
> ++		esac
> + else
> +   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
> + /* end confdefs.h.  */
> diff --git a/meta-oe/recipes-support/ctdb/ctdb/02-link-rep_snprintf-for-ltdbtool.patch b/meta-oe/recipes-support/ctdb/ctdb/02-link-rep_snprintf-for-ltdbtool.patch
> new file mode 100644
> index 0000000..1dd9b93
> --- /dev/null
> +++ b/meta-oe/recipes-support/ctdb/ctdb/02-link-rep_snprintf-for-ltdbtool.patch
> @@ -0,0 +1,16 @@
> +link rep_snprintf from lib/replace/snprintf.o for ltdbtool
> +
> +Signed-off-by: Bian Naimeng <biannm at cn.fujitsu.com>
> +
> +diff -Nurp ctdb-2.5.1.orig/Makefile.in ctdb-2.5.1/Makefile.in
> +--- ctdb-2.5.1.orig/Makefile.in	2015-05-07 16:43:39.276000236 +0900
> ++++ ctdb-2.5.1/Makefile.in	2015-05-07 16:44:09.627000237 +0900
> +@@ -170,7 +170,7 @@ bin/ctdb: $(CTDB_CLIENT_OBJ) tools/ctdb.
> + 	@echo Linking $@
> + 	$(WRAPPER) $(CC) $(CFLAGS) -o $@ tools/ctdb.o tools/ctdb_vacuum.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
> + 
> +-bin/ltdbtool: tools/ltdbtool.o $(TDB_OBJ)
> ++bin/ltdbtool: tools/ltdbtool.o $(TDB_OBJ) lib/replace/snprintf.o
> + 	@echo Linking $@
> + 	$(WRAPPER) $(CC) $(CFLAGS) -o $@ $+ $(TDB_LIBS) $(LIB_FLAGS)
> + 
> diff --git a/meta-oe/recipes-support/ctdb/ctdb_2.5.1.bb b/meta-oe/recipes-support/ctdb/ctdb_2.5.1.bb
> new file mode 100644
> index 0000000..25d5dc9
> --- /dev/null
> +++ b/meta-oe/recipes-support/ctdb/ctdb_2.5.1.bb
> @@ -0,0 +1,43 @@
> +DESCRIPTION = "CTDB is a cluster implementation of the TDB database \
> +used by Samba and other projects to store temporary data. If an \
> +application is already using TDB for temporary data it is very easy \
> +to convert that application to be cluster aware and use CTDB instead."
> +DESCRIPTION = "CTDB is a cluster implementation of the TDB database \
> +used by Samba and other projects to store temporary data. If an \
> +application is already using TDB for temporary data it is very easy \
> +to convert that application to be cluster aware and use CTDB instead."
> +HOMEPAGE = "https://ctdb.samba.org/"
> +LICENSE = "GPL-2.0+ & LGPL-3.0+ & GPL-3.0+"
> +
> +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
> +                    file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \
> +                    file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
> +                    "
> +
> +SRC_URI = "https://ftp.samba.org/pub/${PN}/${BP}.tar.gz \
> +           file://01-support-cross-compile-for-linux-os.patch \
> +           file://02-link-rep_snprintf-for-ltdbtool.patch \
> +          "
> +
> +SRC_URI[md5sum] = "d0cd91726ff4ca2229e1b21859c94717"
> +SRC_URI[sha256sum] = "d5bf3f674cae986bb6178b1db215a703ac94adc5f75fadfdcff63dcbb5e98ab5"
> +
> +inherit autotools-brokensep pkgconfig systemd
> +
> +PARALLEL_MAKE = ""
> +
> +DEPENDS += "popt libtevent libtalloc"
> +
> +do_configure() {
> +    oe_runconf
> +}
> +
> +do_install_append() {
> +    install -d ${D}${systemd_unitdir}/system
> +    install -m 0644 ${S}/config/ctdb.service ${D}${systemd_unitdir}/system
> +    sed -i -e 's,/usr/sbin/,${sbindir}/,' ${D}${systemd_unitdir}/system/ctdb.service
> +}
> +
> +SYSTEMD_SERVICE_${PN} = "ctdb.service"
> +
> +FILES_${PN} += "/run"
> -- 
> 1.8.4.2
> 
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20150715/02c2c9fd/attachment-0002.sig>


More information about the Openembedded-devel mailing list