Hi All, in attach my recipes for Criu 2.12.1.
Best regards, Federico Briata --- recipes-containers/criu/criu-2.12.1+gitAUTOINC+14e0bf7baf/0002-criu-Skip-documentation-install.patch | 28 +++++++ recipes-containers/criu/criu-2.12.1+gitAUTOINC+14e0bf7baf/0001-criu-Fix-toolchain-hardcode.patch | 94 +++++++++++++++++++++++ recipes-containers/criu/criu_2.12.1.bb | 79 +++++++++++++++++++ recipes-containers/criu/criu-2.12.1+gitAUTOINC+14e0bf7baf/0001-criu-Change-libraries-install-directory.patch | 24 ++++++ 4 files changed, 225 insertions(+), 0 deletions(-) diff --git a/recipes-containers/criu/criu-2.12.1+gitAUTOINC+14e0bf7baf/0001-criu-Change-libraries-install-directory.patch b/recipes-containers/criu/criu-2.12.1+gitAUTOINC+14e0bf7baf/0001-criu-Change-libraries-install-directory.patch new file mode 100644 index 0000000..88efba3 --- /dev/null +++ b/recipes-containers/criu/criu-2.12.1+gitAUTOINC+14e0bf7baf/0001-criu-Change-libraries-install-directory.patch @@ -0,0 +1,24 @@ +diff --git a/Makefile.install b/Makefile.install +index 7f867cf..15b6065 100644 +--- a/Makefile.install ++++ b/Makefile.install +@@ -8,19 +8,6 @@ LIBDIR := $(PREFIX)/lib + INCLUDEDIR := $(PREFIX)/include + LIBEXECDIR := $(PREFIX)/libexec + +-# +-# For recent Debian/Ubuntu with multiarch support. +-DEB_HOST_MULTIARCH := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null) +-ifneq "$(DEB_HOST_MULTIARCH)" "" +- LIBDIR := $(PREFIX)/lib/$(DEB_HOST_MULTIARCH) +-else +- # +- # For most other systems +- ifeq "$(shell uname -m)" "x86_64" +- LIBDIR := $(PREFIX)/lib64 +- endif +-endif +- + export PREFIX BINDIR SBINDIR MANDIR + export LIBDIR INCLUDEDIR LIBEXECDIR + diff --git a/recipes-containers/criu/criu-2.12.1+gitAUTOINC+14e0bf7baf/0001-criu-Fix-toolchain-hardcode.patch b/recipes-containers/criu/criu-2.12.1+gitAUTOINC+14e0bf7baf/0001-criu-Fix-toolchain-hardcode.patch new file mode 100644 index 0000000..1e1437d --- /dev/null +++ b/recipes-containers/criu/criu-2.12.1+gitAUTOINC+14e0bf7baf/0001-criu-Fix-toolchain-hardcode.patch @@ -0,0 +1,94 @@ +diff --git a/Makefile b/Makefile +index 79490d0..1e421b1 100644 +--- a/Makefile ++++ b/Makefile +@@ -54,7 +54,7 @@ LDARCH ?= $(SRCARCH) + + export SRCARCH LDARCH VDSO + +-UNAME-M := $(shell uname -m) ++UNAME-M ?= $(shell uname -m) + export UNAME-M + + ifeq ($(ARCH),arm) +diff --git a/criu/pie/Makefile b/criu/pie/Makefile +index 141c018..09dbdc6 100644 +--- a/criu/pie/Makefile ++++ b/criu/pie/Makefile +@@ -17,7 +17,7 @@ restorer-obj-e += ./$(ARCH_DIR)/syscalls.built-in.o + # + CFLAGS := $(filter-out -pg $(CFLAGS-GCOV),$(CFLAGS)) + CFLAGS += -iquote $(SRC_DIR)/criu/pie/piegen +-CFLAGS += -iquote $(SRC_DIR)/criu/arch/$(ARCH)/include ++CFLAGS += -iquote $(SRC_DIR)/criu/arch/$(SRCARCH)/include + CFLAGS += -iquote $(SRC_DIR)/criu/include + CFLAGS += -iquote $(SRC_DIR)/include + CFLAGS += -iquote $(SRC_DIR) +diff --git a/scripts/nmk/scripts/include.mk b/scripts/nmk/scripts/include.mk +index 711b9da..3d44624 100644 +--- a/scripts/nmk/scripts/include.mk ++++ b/scripts/nmk/scripts/include.mk +@@ -20,7 +20,7 @@ SUBARCH := $(shell uname -m | sed \ + -e s/aarch64.*/arm64/) + + ARCH ?= $(SUBARCH) +-SRCARCH := $(ARCH) ++SRCARCH ?= $(ARCH) + + export SUBARCH ARCH SRCARCH + +diff --git a/scripts/nmk/scripts/tools.mk b/scripts/nmk/scripts/tools.mk +index 56dba84..1698821 100644 +--- a/scripts/nmk/scripts/tools.mk ++++ b/scripts/nmk/scripts/tools.mk +@@ -2,30 +2,30 @@ ifndef ____nmk_defined__tools + + # + # System tools shorthands +-RM := rm -f ++RM ?= rm -f + HOSTLD ?= ld +-LD := $(CROSS_COMPILE)$(HOSTLD) ++LD ?= $(CROSS_COMPILE)$(HOSTLD) + HOSTCC ?= gcc +-CC := $(CROSS_COMPILE)$(HOSTCC) +-CPP := $(CC) -E +-AS := $(CROSS_COMPILE)as +-AR := $(CROSS_COMPILE)ar +-STRIP := $(CROSS_COMPILE)strip +-OBJCOPY := $(CROSS_COMPILE)objcopy +-OBJDUMP := $(CROSS_COMPILE)objdump +-NM := $(CROSS_COMPILE)nm +-MAKE := make +-MKDIR := mkdir -p +-AWK := awk +-PERL := perl +-PYTHON := python +-FIND := find +-SH := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ ++CC ?= $(CROSS_COMPILE)$(HOSTCC) ++CPP ?= $(CC) -E ++AS ?= $(CROSS_COMPILE)as ++AR ?= $(CROSS_COMPILE)ar ++STRIP ?= $(CROSS_COMPILE)strip ++OBJCOPY ?= $(CROSS_COMPILE)objcopy ++OBJDUMP ?= $(CROSS_COMPILE)objdump ++NM ?= $(CROSS_COMPILE)nm ++MAKE ?= make ++MKDIR ?= mkdir -p ++AWK ?= awk ++PERL ?= perl ++PYTHON ?= python ++FIND ?= find ++SH ?= $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ + else if [ -x /bin/bash ]; then echo /bin/bash; \ + else echo sh; fi ; fi) +-CSCOPE := cscope +-ETAGS := etags +-CTAGS := ctags ++CSCOPE ?= cscope ++ETAGS ?= etags ++CTAGS ?= ctags + + export RM HOSTLD LD HOSTCC CC CPP AS AR STRIP OBJCOPY OBJDUMP + export NM SH MAKE MKDIR AWK PERL PYTHON SH CSCOPE diff --git a/recipes-containers/criu/criu-2.12.1+gitAUTOINC+14e0bf7baf/0002-criu-Skip-documentation-install.patch b/recipes-containers/criu/criu-2.12.1+gitAUTOINC+14e0bf7baf/0002-criu-Skip-documentation-install.patch new file mode 100644 index 0000000..ba414d9 --- /dev/null +++ b/recipes-containers/criu/criu-2.12.1+gitAUTOINC+14e0bf7baf/0002-criu-Skip-documentation-install.patch @@ -0,0 +1,28 @@ +From 07d9b3d0c372e45127dd51781d9564e8bee90dbe Mon Sep 17 00:00:00 2001 +From: Jianchuan Wang <jianchuan.w...@windriver.com> +Date: Tue, 16 Aug 2016 09:42:24 +0800 +Subject: [PATCH 2/2] criu: Skip documentation install + +asciidoc is needed to generate CRIU documentation, so skip it in install. + +Signed-off-by: Jianchuan Wang <jianchuan.w...@windriver.com> +--- + Makefile.install | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.install b/Makefile.install +index a30dc96..33143fb 100644 +--- a/Makefile.install ++++ b/Makefile.install +@@ -22,7 +22,7 @@ install-tree: + .PHONY: install-tree + + install-man: +- $(Q) $(MAKE) -C Documentation install ++# $(Q) $(MAKE) -C Documentation install + .PHONY: install-man + + install-lib: lib +-- +2.7.4 + diff --git a/recipes-containers/criu/criu_2.12.1.bb b/recipes-containers/criu/criu_2.12.1.bb new file mode 100644 index 0000000..a170b39 --- /dev/null +++ b/recipes-containers/criu/criu_2.12.1.bb @@ -0,0 +1,79 @@ +SUMMARY = "CRIU" +DESCRIPTION = "Checkpoint/Restore In Userspace, or CRIU, is a software tool for \ +Linux operating system. Using this tool, you can freeze a running application \ +(or part of it) and checkpoint it to a hard drive as a collection of files. \ +You can then use the files to restore and run the application from the point \ +it was frozen at. The distinctive feature of the CRIU project is that it is \ +mainly implemented in user space" +HOMEPAGE = "http://criu.org" +SECTION = "console/tools" +LICENSE = "GPLv2" + +EXCLUDE_FROM_WORLD = "1" + +LIC_FILES_CHKSUM = "file://COPYING;md5=412de458544c1cb6a2b512cd399286e2" + +SRCREV = "14e0bf7baf0f3a47acaf86ea880d312f608d2789" +PR = "r0" +PV = "2.12.1+git${SRCPV}" + +SRC_URI = "git://github.com/xemul/criu.git;branch=criu-2.x-stable;protocol=http \ + file://0001-criu-Fix-toolchain-hardcode.patch \ + file://0002-criu-Skip-documentation-install.patch \ + file://0001-criu-Change-libraries-install-directory.patch \ + " + +COMPATIBLE_HOST = "(x86_64|arm|aarch64).*-linux" + +DEPENDS += "libnet libnl libcap protobuf-c-native protobuf-c" + +S = "${WORKDIR}/git" + +# +# CRIU just can be built on ARMv7 and ARMv6, so the Makefile check +# if the ARCH is ARMv7 or ARMv6. +# ARM BSPs need set CRIU_BUILD_ARCH variable for building CRIU. +# +EXTRA_OEMAKE_arm += "ARCH=arm WERROR=0" +EXTRA_OEMAKE_x86-64 += "ARCH=${TARGET_ARCH} WERROR=0" +EXTRA_OEMAKE_aarch64 += "ARCH=${TARGET_ARCH} WERROR=0" + +EXTRA_OEMAKE_append += "SBINDIR=${sbindir} LIBDIR=${libdir} INCLUDEDIR=${includedir} PIEGEN=no" +EXTRA_OEMAKE_append += "LOGROTATEDIR=${sysconfdir} SYSTEMDUNITDIR=${systemd_unitdir}" + +CFLAGS += "-D__USE_GNU -D_GNU_SOURCE" + +CFLAGS += " -I${STAGING_INCDIR} -I${STAGING_INCDIR}/libnl3" + +# overide LDFLAGS to allow criu to build without: "x86_64-poky-linux-ld: unrecognized option '-Wl,-O1'" +export LDFLAGS="" + +export BUILD_SYS +export HOST_SYS + +inherit setuptools + +PACKAGECONFIG ??= "" +PACKAGECONFIG[selinux] = ",,libselinux" + +do_compile_prepend() { + rm -rf ${S}/images/google/protobuf/descriptor.proto + ln -s ${PKG_CONFIG_SYSROOT_DIR}/usr/include/google/protobuf/descriptor.proto ${S}/images/google/protobuf/descriptor.proto +} + +do_compile () { + oe_runmake +} + +do_install () { + oe_runmake PREFIX=${exec_prefix} LIBDIR=${libdir} DESTDIR="${D}" install +} + +FILES_${PN} += "${systemd_unitdir}/ \ + /etc/ \ + /usr/sbin/ \ + /usr/libexec \ + ${libdir}/python2.7/site-packages/ \ + ${libdir}/pycriu/ \ + ${libdir}/crit-0.0.1-py2.7.egg-info \ + "
-- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto