diff options
Diffstat (limited to 'import-layers/meta-openembedded/meta-networking/recipes-support/ctdb')
4 files changed, 119 insertions, 0 deletions
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb/01-support-cross-compile-for-linux-os.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb/01-support-cross-compile-for-linux-os.patch new file mode 100644 index 000000000..c9195b4f4 --- /dev/null +++ b/import-layers/meta-openembedded/meta-networking/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@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/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb/02-link-rep_snprintf-for-ltdbtool.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb/02-link-rep_snprintf-for-ltdbtool.patch new file mode 100644 index 000000000..1dd9b93a5 --- /dev/null +++ b/import-layers/meta-openembedded/meta-networking/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@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/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb/service-ensure-the-PID-directory-is-created.patch b/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb/service-ensure-the-PID-directory-is-created.patch new file mode 100644 index 000000000..a7e987b85 --- /dev/null +++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb/service-ensure-the-PID-directory-is-created.patch @@ -0,0 +1,25 @@ +From f02ff7383f1cc0c118732352ccbae476c7b3b3ba Mon Sep 17 00:00:00 2001 +From: Mark Asselstine <mark.asselstine@windriver.com> +Date: Tue, 17 Nov 2015 16:17:00 -0500 +Subject: [PATCH] service: ensure the PID directory is created + +Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> +--- + config/ctdb.service | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/config/ctdb.service b/config/ctdb.service +index ea37c30..8537105 100644 +--- a/config/ctdb.service ++++ b/config/ctdb.service +@@ -5,6 +5,7 @@ After=network.target + [Service] + Type=forking + LimitCORE=infinity ++RuntimeDirectory=/run/ctdb + PIDFile=/run/ctdb/ctdbd.pid + ExecStart=/usr/sbin/ctdbd_wrapper /run/ctdb/ctdbd.pid start + ExecStop=/usr/sbin/ctdbd_wrapper /run/ctdb/ctdbd.pid stop +-- +2.1.4 + diff --git a/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb_2.5.1.bb b/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb_2.5.1.bb new file mode 100644 index 000000000..5d757847a --- /dev/null +++ b/import-layers/meta-openembedded/meta-networking/recipes-support/ctdb/ctdb_2.5.1.bb @@ -0,0 +1,54 @@ +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 \ + file://service-ensure-the-PID-directory-is-created.patch \ + " + +SRC_URI[md5sum] = "d0cd91726ff4ca2229e1b21859c94717" +SRC_URI[sha256sum] = "d5bf3f674cae986bb6178b1db215a703ac94adc5f75fadfdcff63dcbb5e98ab5" + +inherit autotools-brokensep pkgconfig systemd + +PACKAGECONFIG ??= "" +PACKAGECONFIG[libtdb] = "--without-included-tdb,--with-included-tdb,libtdb" + +PARALLEL_MAKE = "" + +DEPENDS += "popt libtevent libtalloc libldb" + +# ctdbd_wrapper requires pgrep, hence procps +RDEPENDS_${PN} += "procps" + +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 + sed -i -e 's,\([=\ ]\)/run/,\1${localstatedir}/run/,' ${D}${systemd_unitdir}/system/ctdb.service + + rm -r ${D}/${localstatedir}/run +} + +# The systemd service is disabled by default, as the service will fail to +# start without /etc/ctdb/nodes. If the user supplies this, they can re-enable +# the service. +SYSTEMD_AUTO_ENABLE = "disable" +SYSTEMD_SERVICE_${PN} = "ctdb.service" + +# onnode is a shell script with bashisms and bash #! +RDEPENDS_${PN} += "bash" |