diff options
author | Alexander Kanavin <alexander.kanavin@linux.intel.com> | 2016-12-30 18:34:07 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-03-14 14:42:16 +0000 |
commit | 4ab1f7606495d9e1c943bb0c7a63f46f6e829eab (patch) | |
tree | 14b64a1eef89256d22b6ffa99917772a6d3afdf5 | |
parent | c3df4543574888f6d52314a05266153e5a555892 (diff) | |
download | poky-4ab1f7606495d9e1c943bb0c7a63f46f6e829eab.tar.gz |
createrepo-c: add a recipe
This is the current C reimplementation/replacement of the original createrepo.
https://github.com/rpm-software-management/createrepo_c/wiki
(From OE-Core rev: 30e0bec70f7793a5f923fc22c56b12bc1d06027d)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 files changed, 86 insertions, 0 deletions
diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Correctly-install-the-shared-library.patch b/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Correctly-install-the-shared-library.patch new file mode 100644 index 0000000000..01271246a2 --- /dev/null +++ b/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Correctly-install-the-shared-library.patch | |||
@@ -0,0 +1,28 @@ | |||
1 | From fef835e1fdedc72c97d9c3e5704302e56e1bdef0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Mon, 2 Jan 2017 17:23:59 +0200 | ||
4 | Subject: [PATCH] Correctly install the shared library | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
8 | --- | ||
9 | src/CMakeLists.txt | 3 ++- | ||
10 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
11 | |||
12 | diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt | ||
13 | index f3635e8..46dc037 100644 | ||
14 | --- a/src/CMakeLists.txt | ||
15 | +++ b/src/CMakeLists.txt | ||
16 | @@ -110,7 +110,8 @@ CONFIGURE_FILE("deltarpms.h.in" "${CMAKE_CURRENT_SOURCE_DIR}/deltarpms.h" @ONLY) | ||
17 | IF (CMAKE_SIZEOF_VOID_P MATCHES "8") | ||
18 | SET (LIB_SUFFIX "64") | ||
19 | ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8") | ||
20 | -SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}") | ||
21 | +#SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}") | ||
22 | +SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}") | ||
23 | |||
24 | INSTALL(FILES ${headers} DESTINATION "include/createrepo_c") | ||
25 | INSTALL(FILES "createrepo_c.pc" DESTINATION "${LIB_INSTALL_DIR}/pkgconfig") | ||
26 | -- | ||
27 | 2.11.0 | ||
28 | |||
diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch b/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch new file mode 100644 index 0000000000..9531070937 --- /dev/null +++ b/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | From bef487b5c2515062c5dd73c21082ce42f69aa717 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Fri, 30 Dec 2016 18:31:02 +0200 | ||
4 | Subject: [PATCH] Do not set PYTHON_INSTALL_DIR by running python | ||
5 | |||
6 | Upstream-Status: Inappropriate [oe-core specific] | ||
7 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
8 | --- | ||
9 | src/python/CMakeLists.txt | 2 +- | ||
10 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
11 | |||
12 | diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt | ||
13 | index 9f1ac64..eae0cbb 100644 | ||
14 | --- a/src/python/CMakeLists.txt | ||
15 | +++ b/src/python/CMakeLists.txt | ||
16 | @@ -19,7 +19,7 @@ else() | ||
17 | FIND_PACKAGE(PythonInterp 3.0 REQUIRED) | ||
18 | endif() | ||
19 | |||
20 | -EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR) | ||
21 | +#EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR) | ||
22 | INCLUDE_DIRECTORIES (${PYTHON_INCLUDE_PATH}) | ||
23 | |||
24 | MESSAGE(STATUS "Python install dir is ${PYTHON_INSTALL_DIR}") | ||
25 | -- | ||
26 | 2.11.0 | ||
27 | |||
diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb b/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb new file mode 100644 index 0000000000..1e69067eeb --- /dev/null +++ b/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb | |||
@@ -0,0 +1,31 @@ | |||
1 | DESCRIPTION = "C implementation of createrepo." | ||
2 | HOMEPAGE = "https://github.com/rpm-software-management/createrepo_c/wiki" | ||
3 | |||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | ||
6 | |||
7 | SRC_URI = "git://github.com/rpm-software-management/createrepo_c \ | ||
8 | file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ | ||
9 | file://0001-Correctly-install-the-shared-library.patch \ | ||
10 | " | ||
11 | |||
12 | PV = "0.10.0+git${SRCPV}" | ||
13 | SRCREV = "748891ff8ee524c2d37926c608cd2794f88013f3" | ||
14 | |||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | DEPENDS = "expat curl glib-2.0 libxml2 openssl bzip2 zlib file sqlite3 xz rpm" | ||
18 | DEPENDS_append_class-native = " file-replacement-native" | ||
19 | |||
20 | inherit cmake pkgconfig bash-completion distutils-base | ||
21 | |||
22 | EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR}" | ||
23 | |||
24 | BBCLASSEXTEND = "native" | ||
25 | |||
26 | # Direct createrepo to read rpm configuration from our sysroot, not the one it was compiled in | ||
27 | do_install_append_class-native() { | ||
28 | create_wrapper ${D}/${bindir}/createrepo_c \ | ||
29 | RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm | ||
30 | } | ||
31 | |||