diff --git a/sysutils/libdnf/Makefile b/sysutils/libdnf/Makefile index fe284a85bf85..e06422cf976b 100644 --- a/sysutils/libdnf/Makefile +++ b/sysutils/libdnf/Makefile @@ -1,56 +1,56 @@ PORTNAME= libdnf -DISTVERSION= 0.73.4 +DISTVERSION= 0.75.0 CATEGORIES= sysutils MAINTAINER= yuri@FreeBSD.org COMMENT= Dandified YUM, the next-generation version of YUM WWW= https://github.com/rpm-software-management/libdnf LICENSE= LGPL21 # no LICENSE tag for Version 2.1 LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= check>0:devel/check LIB_DEPENDS= libcurl.so:ftp/curl \ libexpat.so:textproc/expat2 \ libffi.so:devel/libffi \ libjson-c.so:devel/json-c \ libmodulemd.so:misc/libmodulemd \ libnghttp2.so:www/libnghttp2 \ libpopt.so:devel/popt \ librepo.so:misc/librepo \ librpmio.so:archivers/rpm4 \ libsmartcols.so:sysutils/util-linux \ libsolv.so:misc/libsolv \ libyaml.so:textproc/libyaml \ libzstd.so:archivers/zstd TEST_DEPENDS= cppunit>0:devel/cppunit USES= cmake:testing compiler:c++11-lang gettext gnome lua pkgconfig sqlite ssl USE_GNOME= glib20 libxml2 USE_LDCONFIG= yes USE_GITHUB= yes GH_ACCOUNT= rpm-software-management CMAKE_OFF= BUILD_TESTNG WITH_GTKDOC WITH_HTML WITH_TESTS FREEBSD_INSTALL_DOCS CMAKE_TESTING_ON= BUILD_TESTNG WITH_TESTS # tests throw exceptions, see https://github.com/rpm-software-management/libdnf/issues/1581 BINARY_ALIAS= git=false OPTIONS_DEFINE= PYTHON ZCHUNK OPTIONS_DEFAULT= PYTHON OPTIONS_SUB= yes PYTHON_CMAKE_BOOL= WITH_BINDINGS PYTHON_USES= python PYTHON_CMAKE_ON= -DPYTHON_DESIRED=${PYTHON_MAJOR_VER} PYTHON_BUILD_DEPENDS= swig:devel/swig \ ${PYTHON_PKGNAMEPREFIX}sphinx>0:textproc/py-sphinx@${PY_FLAVOR} ZCHUNK_DESC= With zchunk support ZCHUNK_CMAKE_BOOL= WITH_ZCHUNK ZCHUNK_BROKEN= Links with zchunk when WITH_ZCHUNK=OFF https://github.com/rpm-software-management/libdnf/issues/1515 -# Tests fail to compile: ld: error: unable to find library -ltestshared, see https://github.com/rpm-software-management/libdnf/issues/1574 +# tests as of 0.75.0: 100% tests passed, 0 tests failed out of 2 .include diff --git a/sysutils/libdnf/distinfo b/sysutils/libdnf/distinfo index 78460da75e18..533c59b19b8c 100644 --- a/sysutils/libdnf/distinfo +++ b/sysutils/libdnf/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1737971787 -SHA256 (rpm-software-management-libdnf-0.73.4_GH0.tar.gz) = bce14012d29d58867669fc606938f6fa84f037efcd9c802150fba6506356814c -SIZE (rpm-software-management-libdnf-0.73.4_GH0.tar.gz) = 1208308 +TIMESTAMP = 1764046596 +SHA256 (rpm-software-management-libdnf-0.75.0_GH0.tar.gz) = 0a06cc9656b10518c50f230ec8f7cf0218530823f6b2f28bf164899f8d569622 +SIZE (rpm-software-management-libdnf-0.75.0_GH0.tar.gz) = 1215141 diff --git a/sysutils/libdnf/files/patch-libdnf_dnf-repo.cpp b/sysutils/libdnf/files/patch-libdnf_dnf-repo.cpp new file mode 100644 index 000000000000..f4237e94b3bd --- /dev/null +++ b/sysutils/libdnf/files/patch-libdnf_dnf-repo.cpp @@ -0,0 +1,11 @@ +--- libdnf/dnf-repo.cpp.orig 2025-11-25 05:00:01 UTC ++++ libdnf/dnf-repo.cpp +@@ -968,7 +968,7 @@ dnf_repo_conf_load_overrides(DnfRepo *repo, const char + const auto & section = cfg_parser_data_iter.first; + g_autofree gchar * repo_id_pattern = dnf_repo_substitute(repo, section.c_str()); + +- if (fnmatch(repo_id_pattern, repoId, FNM_EXTMATCH) != 0) { ++ if (fnmatch(repo_id_pattern, repoId, 0/*FNM_EXTMATCH*/) != 0) { + continue; + } + diff --git a/sysutils/libdnf/files/patch-libdnf_hy-util.cpp b/sysutils/libdnf/files/patch-libdnf_hy-util.cpp index 9d6558f93291..5a6b3a0d6887 100644 --- a/sysutils/libdnf/files/patch-libdnf_hy-util.cpp +++ b/sysutils/libdnf/files/patch-libdnf_hy-util.cpp @@ -1,15 +1,15 @@ ---- libdnf/hy-util.cpp.orig 2020-09-20 22:48:40 UTC +--- libdnf/hy-util.cpp.orig 2025-10-20 13:41:49 UTC +++ libdnf/hy-util.cpp -@@ -111,10 +111,12 @@ hy_detect_arch(char **arch) +@@ -127,10 +127,12 @@ hy_detect_arch(char **arch) char *modifier = un.machine + 5; while(isdigit(*modifier)) /* keep armv7, armv8, armv9, armv10, armv100, ... */ modifier++; +#if !defined(__FreeBSD__) if (getauxval(AT_HWCAP) & HWCAP_ARM_VFP) *modifier++ = 'h'; if ((atoi(un.machine+4) == 7) && (getauxval(AT_HWCAP) & HWCAP_ARM_NEON)) *modifier++ = 'n'; +#endif *modifier++ = endian; *modifier = 0; } diff --git a/sysutils/libdnf/files/patch-libdnf_utils_utils.cpp b/sysutils/libdnf/files/patch-libdnf_utils_utils.cpp new file mode 100644 index 000000000000..6ec69f656c5b --- /dev/null +++ b/sysutils/libdnf/files/patch-libdnf_utils_utils.cpp @@ -0,0 +1,24 @@ +--- libdnf/utils/utils.cpp.orig 2025-11-25 05:02:56 UTC ++++ libdnf/utils/utils.cpp +@@ -308,10 +308,10 @@ std::vector createSortedFileList( + if (path[strlen(path)-1] == '/') { + continue; + } +- auto * path_fname = basename(path); ++ auto * path_fname = g_basename(path); + bool found{false}; + for (const auto & path_in_list : paths) { +- if (strcmp(path_fname, basename(path_in_list.c_str())) == 0) { ++ if (strcmp(path_fname, g_basename(path_in_list.c_str())) == 0) { + found = true; + break; + } +@@ -325,7 +325,7 @@ std::vector createSortedFileList( + + // sort all drop-in configuration files alphabetically by their names + std::sort(paths.begin(), paths.end(), [](const std::string & p1, const std::string & p2) { +- return strcmp(basename(p1.c_str()), basename(p2.c_str())) < 0; ++ return strcmp(g_basename(p1.c_str()), g_basename(p2.c_str())) < 0; + }); + + return paths; diff --git a/sysutils/libdnf/files/patch-python_hawkey_CMakeLists.txt b/sysutils/libdnf/files/patch-python_hawkey_CMakeLists.txt index 7480ad2fb387..5ee8a2cf71b2 100644 --- a/sysutils/libdnf/files/patch-python_hawkey_CMakeLists.txt +++ b/sysutils/libdnf/files/patch-python_hawkey_CMakeLists.txt @@ -1,9 +1,11 @@ ---- python/hawkey/CMakeLists.txt.orig 2020-09-26 05:11:04 UTC +--- python/hawkey/CMakeLists.txt.orig 2025-10-20 13:41:49 UTC +++ python/hawkey/CMakeLists.txt -@@ -50,4 +50,6 @@ target_link_libraries(_hawkeymodule ${PYTHON_LIBRARY}) +@@ -50,6 +50,8 @@ install(TARGETS _hawkeymodule LIBRARY DESTINATION ${PY install(FILES __init__.py DESTINATION ${PYTHON_INSTALL_DIR}/hawkey) install(TARGETS _hawkeymodule LIBRARY DESTINATION ${PYTHON_INSTALL_DIR}/hawkey) +if (BUILD_TESTING) - add_subdirectory(tests) + IF (WITH_TESTS) +endif() + add_subdirectory(tests) + ENDIF() diff --git a/sysutils/libdnf/files/patch-tests_CMakeLists.txt b/sysutils/libdnf/files/patch-tests_CMakeLists.txt index 6c12e3340ffa..cb7af9932078 100644 --- a/sysutils/libdnf/files/patch-tests_CMakeLists.txt +++ b/sysutils/libdnf/files/patch-tests_CMakeLists.txt @@ -1,12 +1,12 @@ ---- tests/CMakeLists.txt.orig 2021-03-01 17:31:02 UTC +--- tests/CMakeLists.txt.orig 2025-10-20 13:41:49 UTC +++ tests/CMakeLists.txt -@@ -3,7 +3,9 @@ add_subdirectory(libdnf/module) +@@ -7,7 +7,9 @@ add_subdirectory(libdnf/sack) add_subdirectory(libdnf/repo) add_subdirectory(libdnf/transaction) add_subdirectory(libdnf/sack) +if (BUILD_TESTING) add_subdirectory(hawkey) +endif() add_subdirectory(libdnf) - + set(LIBDNF_TEST_SOURCES diff --git a/sysutils/libdnf/pkg-plist b/sysutils/libdnf/pkg-plist index 68641bfce8ff..9e75b04bbca8 100644 --- a/sysutils/libdnf/pkg-plist +++ b/sysutils/libdnf/pkg-plist @@ -1,131 +1,131 @@ include/libdnf/conf/Config.hpp include/libdnf/conf/ConfigMain.hpp include/libdnf/conf/ConfigParser.hpp include/libdnf/conf/ConfigRepo.hpp include/libdnf/conf/Option.hpp include/libdnf/conf/OptionBinds.hpp include/libdnf/conf/OptionBool.hpp include/libdnf/conf/OptionChild.hpp include/libdnf/conf/OptionEnum.hpp include/libdnf/conf/OptionNumber.hpp include/libdnf/conf/OptionPath.hpp include/libdnf/conf/OptionSeconds.hpp include/libdnf/conf/OptionString.hpp include/libdnf/conf/OptionStringList.hpp include/libdnf/config.h include/libdnf/dnf-advisory.h include/libdnf/dnf-advisorypkg.h include/libdnf/dnf-advisoryref.h include/libdnf/dnf-conf.h include/libdnf/dnf-context.h include/libdnf/dnf-db.h include/libdnf/dnf-enums.h include/libdnf/dnf-goal.h include/libdnf/dnf-keyring.h include/libdnf/dnf-lock.h include/libdnf/dnf-package.h include/libdnf/dnf-packagedelta.h include/libdnf/dnf-reldep-list.h include/libdnf/dnf-reldep.h include/libdnf/dnf-repo-loader.h include/libdnf/dnf-repo.h include/libdnf/dnf-rpmts.h include/libdnf/dnf-sack.h include/libdnf/dnf-state.h include/libdnf/dnf-transaction.h include/libdnf/dnf-types.h include/libdnf/dnf-utils.h include/libdnf/dnf-version.h include/libdnf/hy-goal.h include/libdnf/hy-nevra.h include/libdnf/hy-package.h include/libdnf/hy-packageset.h include/libdnf/hy-query.h include/libdnf/hy-repo.h include/libdnf/hy-selector.h include/libdnf/hy-subject.h include/libdnf/hy-types.h include/libdnf/hy-util.h include/libdnf/libdnf.h include/libdnf/log.hpp include/libdnf/nevra.hpp include/libdnf/nsvcap.hpp include/libdnf/plugin/plugin.h include/libdnf/utils/PreserveOrderMap.hpp include/libdnf/utils/logger.hpp lib/libdnf.so lib/libdnf.so.2 lib/libdnf/plugins/README %%PYTHON%%%%PYTHON_SITELIBDIR%%/hawkey/__init__.py %%PYTHON%%%%PYTHON_SITELIBDIR%%/hawkey/_hawkey.so -%%PYTHON%%%%PYTHON_SITELIBDIR%%/libdnf-0.73.4.dist-info/METADATA +%%PYTHON%%%%PYTHON_SITELIBDIR%%/libdnf-0.75.0.dist-info/METADATA %%PYTHON%%%%PYTHON_SITELIBDIR%%/libdnf/__init__.py %%PYTHON%%%%PYTHON_SITELIBDIR%%/libdnf/_common_types.so %%PYTHON%%%%PYTHON_SITELIBDIR%%/libdnf/_conf.so %%PYTHON%%%%PYTHON_SITELIBDIR%%/libdnf/_error.so %%PYTHON%%%%PYTHON_SITELIBDIR%%/libdnf/_module.so %%PYTHON%%%%PYTHON_SITELIBDIR%%/libdnf/_repo.so %%PYTHON%%%%PYTHON_SITELIBDIR%%/libdnf/_smartcols.so %%PYTHON%%%%PYTHON_SITELIBDIR%%/libdnf/_transaction.so %%PYTHON%%%%PYTHON_SITELIBDIR%%/libdnf/_utils.so %%PYTHON%%%%PYTHON_SITELIBDIR%%/libdnf/common_types.py %%PYTHON%%%%PYTHON_SITELIBDIR%%/libdnf/conf.py %%PYTHON%%%%PYTHON_SITELIBDIR%%/libdnf/error.py %%PYTHON%%%%PYTHON_SITELIBDIR%%/libdnf/module.py %%PYTHON%%%%PYTHON_SITELIBDIR%%/libdnf/repo.py %%PYTHON%%%%PYTHON_SITELIBDIR%%/libdnf/smartcols.py %%PYTHON%%%%PYTHON_SITELIBDIR%%/libdnf/transaction.py %%PYTHON%%%%PYTHON_SITELIBDIR%%/libdnf/utils.py libdata/pkgconfig/libdnf.pc share/locale/as/LC_MESSAGES/libdnf.mo share/locale/bg/LC_MESSAGES/libdnf.mo share/locale/bn/LC_MESSAGES/libdnf.mo share/locale/bn_IN/LC_MESSAGES/libdnf.mo share/locale/ca/LC_MESSAGES/libdnf.mo share/locale/cs/LC_MESSAGES/libdnf.mo share/locale/da/LC_MESSAGES/libdnf.mo share/locale/de/LC_MESSAGES/libdnf.mo share/locale/el/LC_MESSAGES/libdnf.mo share/locale/es/LC_MESSAGES/libdnf.mo share/locale/eu/LC_MESSAGES/libdnf.mo share/locale/fa/LC_MESSAGES/libdnf.mo share/locale/fi/LC_MESSAGES/libdnf.mo share/locale/fil/LC_MESSAGES/libdnf.mo share/locale/fr/LC_MESSAGES/libdnf.mo share/locale/fur/LC_MESSAGES/libdnf.mo share/locale/gu/LC_MESSAGES/libdnf.mo share/locale/hi/LC_MESSAGES/libdnf.mo share/locale/hu/LC_MESSAGES/libdnf.mo share/locale/ia/LC_MESSAGES/libdnf.mo share/locale/id/LC_MESSAGES/libdnf.mo share/locale/is/LC_MESSAGES/libdnf.mo share/locale/it/LC_MESSAGES/libdnf.mo share/locale/ja/LC_MESSAGES/libdnf.mo share/locale/ka/LC_MESSAGES/libdnf.mo share/locale/kn/LC_MESSAGES/libdnf.mo share/locale/ko/LC_MESSAGES/libdnf.mo share/locale/mai/LC_MESSAGES/libdnf.mo share/locale/ml/LC_MESSAGES/libdnf.mo share/locale/mr/LC_MESSAGES/libdnf.mo share/locale/nb/LC_MESSAGES/libdnf.mo share/locale/nl/LC_MESSAGES/libdnf.mo share/locale/or/LC_MESSAGES/libdnf.mo share/locale/pa/LC_MESSAGES/libdnf.mo share/locale/pl/LC_MESSAGES/libdnf.mo share/locale/pt/LC_MESSAGES/libdnf.mo share/locale/pt_BR/LC_MESSAGES/libdnf.mo share/locale/ru/LC_MESSAGES/libdnf.mo share/locale/si/LC_MESSAGES/libdnf.mo share/locale/sk/LC_MESSAGES/libdnf.mo share/locale/sq/LC_MESSAGES/libdnf.mo share/locale/sr/LC_MESSAGES/libdnf.mo share/locale/sr@latin/LC_MESSAGES/libdnf.mo share/locale/sv/LC_MESSAGES/libdnf.mo share/locale/ta/LC_MESSAGES/libdnf.mo share/locale/te/LC_MESSAGES/libdnf.mo share/locale/th/LC_MESSAGES/libdnf.mo share/locale/tr/LC_MESSAGES/libdnf.mo share/locale/uk/LC_MESSAGES/libdnf.mo share/locale/zh_CN/LC_MESSAGES/libdnf.mo share/locale/zh_TW/LC_MESSAGES/libdnf.mo share/man/man3/hawkey.3.gz