From 9a095cb70e8f221619dbab50be0d27e8ed55b8b0 Mon Sep 17 00:00:00 2001 From: Nam Ninh Date: Mon, 30 Mar 2015 18:10:53 -0400 Subject: criu: upgrade from version from 1.2 to 1.4 Upgrade criu from version from 1.2 to 1.4. criu is the only user of protobuf and only supported on x86 and arm, so limit protobuf support on x86 and arm too. Signed-off-by: Nam Ninh Signed-off-by: Bruce Ashfield --- recipes-containers/criu/criu_git.bb | 46 +++++++++++++++++++++++++++++-------- 1 file changed, 36 insertions(+), 10 deletions(-) (limited to 'recipes-containers/criu/criu_git.bb') diff --git a/recipes-containers/criu/criu_git.bb b/recipes-containers/criu/criu_git.bb index 878827f8..2b8921fa 100644 --- a/recipes-containers/criu/criu_git.bb +++ b/recipes-containers/criu/criu_git.bb @@ -1,29 +1,55 @@ 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" +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" -LIC_FILES_CHKSUM = "file://COPYING;md5=12920dfe6b35a0758155f0e62878b366" +EXCLUDE_FROM_WORLD = "1" -SRCREV = "d81c9a4618db2f618bdb8e207b7f0fec631c7142" +LIC_FILES_CHKSUM = "file://COPYING;md5=5cc804625b8b491b6b4312f0c9cb5efa" + +SRCREV = "bda033e1e91ac5b86afd0a9fdb9fcdd581da6185" PR = "r0" -PV = "0.2+git${SRCPV}" +PV = "1.4+git${SRCPV}" SRC_URI = "git://git.criu.org/crtools.git;protocol=git \ - file://0001-Fixed-hardcoding.patch" + file://0001-criu-Fix-toolchain-hardcode.patch \ + file://0002-criu-Skip-documentation-install.patch \ + " + +COMPATIBLE_HOST = "(x86_64|arm).*-linux" DEPENDS += "protobuf-c-native protobuf-c" S = "${WORKDIR}/git" -EXTRA_OEMAKE += "ARCH=${TARGET_ARCH} WERROR=0" +# +# 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=${CRIU_BUILD_ARCH} WERROR=0" +EXTRA_OEMAKE_x86-64 += "ARCH=${TARGET_ARCH} WERROR=0" + +EXTRA_OEMAKE_append += "SBINDIR=${sbindir} LIBDIR=${libdir} INCLUDEDIR=${includedir}" +EXTRA_OEMAKE_append += "LOGROTATEDIR=${sysconfdir} SYSTEMDUNITDIR=${systemd_unitdir}" + +CFLAGS += "-D__USE_GNU -D_GNU_SOURCE" + +# overide LDFLAGS to allow criu to build without: "x86_64-poky-linux-ld: unrecognized option '-Wl,-O1'" +export LDFLAGS="" do_compile () { - oe_runmake + oe_runmake } do_install () { - mkdir -p ${D}/${bindir} - install -m 755 ${S}/crtools ${D}/${bindir}/crtools -} \ No newline at end of file + oe_runmake DESTDIR="${D}" install +} + +FILES_${PN} += "${systemd_unitdir}/" -- cgit v1.2.3-54-g00ecf