Hi Frederico, Thanks for the patch, but this needs to go to the meta-virtualization list.
Also, we carry a _git recipe in meta-virt to track the various releases (and sometimes points in between). So this patch should be done against that recipe versus creating a new versioned variant. Finally, make sure to check the patch submission guidelines, since this patch doesn't have a proper commit log or a Signed-off-by. Cheers, Bruce On Tue, Jul 25, 2017 at 8:26 AM, Federico Pietro Briata <[email protected] > wrote: > 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 <[email protected]> > +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 <[email protected]> > +--- > + 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 > [email protected] > https://lists.yoctoproject.org/listinfo/yocto > > -- "Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end"
-- _______________________________________________ yocto mailing list [email protected] https://lists.yoctoproject.org/listinfo/yocto
