From c4062e7572f4dca3dcd74bf9e300ec6cb4ec505d Mon Sep 17 00:00:00 2001 From: Jackie Huang Date: Thu, 7 May 2020 21:28:07 +0800 Subject: [PATCH] dnf: add support for python2 Some stx components like sw-patch requres python-dnf but it's using python2, and other stx components depend on sw-patch are using python2 as well, so add support of python2 for dnf for now, stx components will be move to python3 in the future. Issue-ID: INF-89 Issue-ID: INF-98 Issue-ID: INF-99 Signed-off-by: Jackie Huang Change-Id: I99b0e00f8357e701a2fecfd155e381a7e94a5e9b --- meta-stx/recipes-devtools/dnf/dnf_4.1.0.bbappend | 82 ++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 meta-stx/recipes-devtools/dnf/dnf_4.1.0.bbappend diff --git a/meta-stx/recipes-devtools/dnf/dnf_4.1.0.bbappend b/meta-stx/recipes-devtools/dnf/dnf_4.1.0.bbappend new file mode 100644 index 0000000..4fb699f --- /dev/null +++ b/meta-stx/recipes-devtools/dnf/dnf_4.1.0.bbappend @@ -0,0 +1,82 @@ +# +# Copyright (C) 2019 Wind River Systems, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +DEPENDS += "\ + python-native \ + " + +EXTRA_OECMAKE_PY2 = " \ + -DWITH_MAN=0 \ + -DPYTHON_INSTALL_DIR=${libdir}/python2.7/site-packages \ + -DPYTHON_DESIRED:FILEPATH=${STAGING_BINDIR_NATIVE}/python-native/python \ + " + +RDEPENDS_${PN}_class-target += " \ + python-codecs \ + python-compression \ + python-core \ + python-curses \ + python-distutils \ + python-email \ + python-fcntl \ + python-iniparse \ + python-json \ + python-logging \ + python-misc \ + python-netclient \ + python-pygpgme \ + python-pyliblzma \ + python-shell \ + python-sqlite3 \ + python-threading \ + python2-rpm \ + " + +do_configure_append() { + rm -rf ${B}/build-py2 + mkdir -p ${B}/build-py2 + cd ${B}/build-py2 + + cmake \ + ${OECMAKE_GENERATOR_ARGS} \ + $oecmake_sitefile \ + ${OECMAKE_SOURCEPATH} \ + -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \ + -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \ + -DCMAKE_INSTALL_SO_NO_EXE=0 \ + -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \ + -DCMAKE_NO_SYSTEM_FROM_IMPORTED=1 \ + ${EXTRA_OECMAKE_PY2} \ + -Wno-dev +} + +cmake_runcmake_build_py2() { + bbnote ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build '${B}/build-py2' "$@" -- ${EXTRA_OECMAKE_BUILD} + eval ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build '${B}/build-py2' "$@" -- ${EXTRA_OECMAKE_BUILD} +} + +do_compile_append() { + cd ${B}/build-py2 + cmake_runcmake_build_py2 --target ${OECMAKE_TARGET_COMPILE} +} + +do_install_append() { + cd ${B}/build-py2 + DESTDIR='${D}' cmake_runcmake_build_py2 --target ${OECMAKE_TARGET_INSTALL} + + # add a symlink for yum + lnr ${D}/${bindir}/dnf-2 ${D}/${bindir}/yum +} + -- 2.16.6