Initial commit

This commit is contained in:
Your Name
2026-04-23 17:07:55 +08:00
commit b7e39e063b
16725 changed files with 1625565 additions and 0 deletions
@@ -0,0 +1,66 @@
From 26a9647c832de15248ee649e5b77075521f3d4f0 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 3 Mar 2023 08:37:35 -0800
Subject: [PATCH] libcomps: Use Py_hash_t instead of long in PyCOMPS_hash()
This function is used as a hashfunc callback in
_typeobject defined python3.11/cpython/object.h
compilers detect the protype mismatch for function pointers
with clang16+
Fixes
libcomps/src/python/src/pycomps_sequence.c:667:5: error: incompatible function pointer types initializing 'hashfunc' (aka 'int (*)(struct _object *)') with an expression of type 'long (*)(PyObject *)' (aka 'long (*)(struct _object *)') [-Wincompatible-function-pointer-types]
&PyCOMPS_hash, /*tp_hash */
Upstream-Status: Submitted [https://github.com/rpm-software-management/libcomps/pull/101]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
libcomps/src/python/src/pycomps_hash.c | 4 ++--
libcomps/src/python/src/pycomps_hash.h | 2 +-
libcomps/src/python/src/pycomps_utils.h | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/libcomps/src/python/src/pycomps_hash.c b/libcomps/src/python/src/pycomps_hash.c
index 474afd5..4577769 100644
--- a/libcomps/src/python/src/pycomps_hash.c
+++ b/libcomps/src/python/src/pycomps_hash.c
@@ -20,9 +20,9 @@
#include "pycomps_hash.h"
#include "pycomps_utils.h"
-long PyCOMPS_hash(PyObject *self) {
+Py_hash_t PyCOMPS_hash(PyObject *self) {
char *cstr = NULL;
- long crc;
+ Py_hash_t crc;
cstr = comps_object_tostr(((PyCompsObject*)self)->c_obj);
crc = crc32(0, cstr, strlen(cstr));
diff --git a/libcomps/src/python/src/pycomps_hash.h b/libcomps/src/python/src/pycomps_hash.h
index b664cae..54e08d9 100644
--- a/libcomps/src/python/src/pycomps_hash.h
+++ b/libcomps/src/python/src/pycomps_hash.h
@@ -26,6 +26,6 @@
#include "pycomps_utils.h"
-long PyCOMPS_hash(PyObject *self);
+Py_hash_t PyCOMPS_hash(PyObject *self);
#endif
diff --git a/libcomps/src/python/src/pycomps_utils.h b/libcomps/src/python/src/pycomps_utils.h
index ba9bc2f..b34e4dc 100644
--- a/libcomps/src/python/src/pycomps_utils.h
+++ b/libcomps/src/python/src/pycomps_utils.h
@@ -137,7 +137,7 @@ COMPS_Object* __pycomps_bytes_in(PyObject *pobj);
PyObject* __pycomps_str_out(COMPS_Object *obj);
PyObject *str_to_unicode(void* str);
-long PyCOMPS_hash(PyObject *self);
+Py_hash_t PyCOMPS_hash(PyObject *self);
PyObject* PyCOMPSSeq_extra_get(PyObject *self, PyObject *key);
--
2.39.2
@@ -0,0 +1,27 @@
From 32447a79e24f8e7e9e0150eb747f34116d63ef38 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 30 Dec 2016 18:22:09 +0200
Subject: [PATCH 2/2] Do not set PYTHON_INSTALL_DIR by running python.
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
libcomps/src/python/src/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libcomps/src/python/src/CMakeLists.txt b/libcomps/src/python/src/CMakeLists.txt
index f813af4..9eebb6c 100644
--- a/libcomps/src/python/src/CMakeLists.txt
+++ b/libcomps/src/python/src/CMakeLists.txt
@@ -85,7 +85,7 @@ IF (SKBUILD)
INSTALL(FILES libcomps/__init__.py DESTINATION libcomps/src/python/src/libcomps)
INSTALL(TARGETS pycomps LIBRARY DESTINATION libcomps/src/python/src/libcomps)
ELSE ()
- EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from sysconfig import get_path; stdout.write(get_path('platlib'))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
+ #EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from sysconfig import get_path; stdout.write(get_path('platlib'))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
INSTALL(FILES ${pycomps_SRCDIR}/libcomps/__init__.py DESTINATION ${PYTHON_INSTALL_DIR}/libcomps)
#INSTALL(FILES ${pycomps_SRCDIR}/tests/__test.py DESTINATION
--
2.25.1
@@ -0,0 +1,26 @@
SUMMARY = "Libcomps is alternative for yum.comps library (which is for managing rpm package groups)."
HOMEPAGE = "https://github.com/rpm-software-management/libcomps"
DESCRIPTION = "Libcomps is alternative for yum.comps library. It's written in pure C as library and there's bindings for python2 and python3."
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "git://github.com/rpm-software-management/libcomps.git;branch=master;protocol=https \
file://0001-libcomps-Use-Py_hash_t-instead-of-long-in-PyCOMPS_ha.patch \
file://0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
"
SRCREV = "9322bdcf06630cc094f094f944d7d0e2cb798b73"
S = "${WORKDIR}/git"
inherit cmake setuptools3-base
DEPENDS = "expat libxml2 zlib"
EXTRA_OECMAKE = "-DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} \
-DENABLE_DOCS=OFF \
-DENABLE_TESTS=OFF"
OECMAKE_SOURCEPATH = "${S}/libcomps"
BBCLASSEXTEND = "native nativesdk"