[meta-virtualization] [PATCH V2] ceph: fix Distutils.cmake installation for cross compile

Bruce Ashfield bruce.ashfield at gmail.com
Tue Oct 30 10:42:16 PDT 2018


merged.

Bruce

On Fri, Oct 26, 2018 at 5:45 AM Dengke Du <dengke.du at windriver.com> wrote:
>
> 1. Remove the detection for build host and correct the install destination
>    for cross compile.
> 2. Delete the build host information in the results files.
>
> Signed-off-by: Dengke Du <dengke.du at windriver.com>
> ---
>  ...tect-init-correct-the-installation-for-OE.patch | 36 ++++++++++++++++++++++
>  recipes-extended/ceph/ceph_13.2.2.bb               | 30 +++++++++++++-----
>  2 files changed, 58 insertions(+), 8 deletions(-)
>  create mode 100644 recipes-extended/ceph/ceph/0001-ceph-detect-init-correct-the-installation-for-OE.patch
>
> diff --git a/recipes-extended/ceph/ceph/0001-ceph-detect-init-correct-the-installation-for-OE.patch b/recipes-extended/ceph/ceph/0001-ceph-detect-init-correct-the-installation-for-OE.patch
> new file mode 100644
> index 0000000..875501b
> --- /dev/null
> +++ b/recipes-extended/ceph/ceph/0001-ceph-detect-init-correct-the-installation-for-OE.patch
> @@ -0,0 +1,36 @@
> +From 6aaf04036f0affbeddda123bff111990c4d5fd72 Mon Sep 17 00:00:00 2001
> +From: Dengke Du <dengke.du at windriver.com>
> +Date: Fri, 26 Oct 2018 14:31:10 +0800
> +Subject: [PATCH] ceph-detect-init: correct the installation for OE
> +
> +Signed-off-by: Dengke Du <dengke.du at windriver.com>
> +Upstream-Status: Inappropriate [oe specific]
> +---
> + cmake/modules/Distutils.cmake | 11 ++---------
> + 1 file changed, 2 insertions(+), 9 deletions(-)
> +
> +diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
> +index 3091d97..c50fe77 100644
> +--- a/cmake/modules/Distutils.cmake
> ++++ b/cmake/modules/Distutils.cmake
> +@@ -16,15 +16,8 @@ function(distutils_install_module name)
> +   cmake_parse_arguments(DU "" INSTALL_SCRIPT "" ${ARGN})
> +   install(CODE "
> +     set(options --prefix=${CMAKE_INSTALL_PREFIX})
> +-    if(DEFINED ENV{DESTDIR})
> +-      if(EXISTS /etc/debian_version)
> +-        list(APPEND options --install-layout=deb)
> +-      endif()
> +-      list(APPEND options --root=\$ENV{DESTDIR})
> +-      if(NOT \"${DU_INSTALL_SCRIPT}\" STREQUAL \"\")
> +-        list(APPEND options --install-script=${DU_INSTALL_SCRIPT})
> +-      endif()
> +-    endif()
> ++    list(APPEND options --root=${CMAKE_DESTDIR})
> ++    list(APPEND options --install-lib=${PYTHON_SITEPACKAGES_DIR})
> +     execute_process(
> +     COMMAND ${PYTHON${PYTHON_VERSION}_EXECUTABLE}
> +         setup.py install \${options}
> +--
> +2.7.4
> +
> diff --git a/recipes-extended/ceph/ceph_13.2.2.bb b/recipes-extended/ceph/ceph_13.2.2.bb
> index 6c6da41..3d9faae 100644
> --- a/recipes-extended/ceph/ceph_13.2.2.bb
> +++ b/recipes-extended/ceph/ceph_13.2.2.bb
> @@ -12,6 +12,7 @@ SRC_URI = "http://download.ceph.com/tarballs/ceph-${PV}.tar.gz \
>             file://0001-Correct-the-path-to-find-version.h-in-rocksdb.patch \
>             file://0001-zstd-fix-error-for-cross-compile.patch \
>             file://0001-ceph-add-pybind-support-in-OE.patch \
> +           file://0001-ceph-detect-init-correct-the-installation-for-OE.patch \
>             file://ceph.conf \
>  "
>  SRC_URI[md5sum] = "ce118be451dcb6b89e9e0a45057827dd"
> @@ -24,12 +25,25 @@ DEPENDS = "boost bzip2 curl expat gperf-native \
>             python python-cython-native rocksdb snappy udev \
>             valgrind xfsprogs zlib \
>  "
> -SYSTEMD_SERVICE_${PN} = "ceph-radosgw at .service \
> +SYSTEMD_SERVICE_${PN} = " \
> +       ceph-radosgw at .service \
> +       ceph-radosgw.target \
>          ceph-mon at .service \
> +       ceph-mon.target \
>          ceph-mds at .service \
> +       ceph-mds.target \
>          ceph-disk at .service \
>          ceph-osd at .service \
> +       ceph-osd.target \
>          ceph.target \
> +       ceph-fuse at .service \
> +       ceph-fuse.target \
> +       ceph-rbd-mirror at .service \
> +       ceph-rbd-mirror.target \
> +       ceph-volume at .service \
> +       ceph-mgr at .service \
> +       ceph-mgr.target \
> +       rbdmap.service \
>  "
>  OECMAKE_GENERATOR = "Unix Makefiles"
>
> @@ -54,15 +68,15 @@ do_configure_prepend () {
>
>  do_install_append () {
>         sed -i -e 's:${WORKDIR}.*python2:${bindir}/python:' ${D}${bindir}/ceph
> +       sed -i -e 's:${WORKDIR}.*python2:${bindir}/python:' ${D}${bindir}/ceph-disk
> +       sed -i -e 's:${WORKDIR}.*python2:${bindir}/python:' ${D}${bindir}/ceph-detect-init
> +       find ${D} -name SOURCES.txt | xargs sed -i -e 's:${WORKDIR}::'
>         install -d ${D}${sysconfdir}/ceph
>         install -m 644 ${WORKDIR}/ceph.conf ${D}${sysconfdir}/ceph/
> -       install -d ${D}${systemd_unitdir}/system
> -       mv ${D}${libexecdir}/systemd/system/ceph-radosgw at .service ${D}${systemd_unitdir}/system/ceph-radosgw at .service
> -       mv ${D}${libexecdir}/systemd/system/ceph-mon at .service ${D}${systemd_unitdir}/system/ceph-mon at .service
> -       mv ${D}${libexecdir}/systemd/system/ceph-mds at .service ${D}${systemd_unitdir}/system/ceph-mds at .service
> -       mv ${D}${libexecdir}/systemd/system/ceph-disk at .service ${D}${systemd_unitdir}/system/ceph-disk at .service
> -       mv ${D}${libexecdir}/systemd/system/ceph-osd at .service ${D}${systemd_unitdir}/system/ceph-osd at .service
> -       mv ${D}${libexecdir}/systemd/system/ceph.target ${D}${systemd_unitdir}/system/ceph.target
> +       install -d ${D}${systemd_unitdir}
> +       mv ${D}${libexecdir}/systemd/system ${D}${systemd_unitdir}
> +       mv ${D}${libexecdir}/ceph/ceph-osd-prestart.sh ${D}${libdir}/ceph
> +       mv ${D}${libexecdir}/ceph/ceph_common.sh ${D}${libdir}/ceph
>  }
>
>  FILES_${PN} += "\
> --
> 2.7.4
>


-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"


More information about the meta-virtualization mailing list