diff --git a/.gitignore b/.gitignore index 1d4535f..7f6cc82 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,4 @@ /libdnf-0.35.3.tar.gz /libdnf-0.35.5.tar.gz /libdnf-0.37.2.tar.gz +/libdnf-0.39.1.tar.gz diff --git a/0001-Revert-hy_detect_arch-detect-crypto-only-on-arm-vers.patch b/0001-Revert-hy_detect_arch-detect-crypto-only-on-arm-vers.patch deleted file mode 100644 index ec8ef3c..0000000 --- a/0001-Revert-hy_detect_arch-detect-crypto-only-on-arm-vers.patch +++ /dev/null @@ -1,33 +0,0 @@ -From d9684b99ed849e11b366ee1e6d98b88daf4b41ba Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Wed, 16 Oct 2019 10:58:03 +0100 -Subject: [PATCH 1/2] Revert "hy_detect_arch(): detect crypto only on arm - version >= 8" - -This reverts commit 6c4f7462b3004e39e82c4ec186175ea4a56035b4. - -The reverts the commit. More details will be in the fixes for commit -73b0de05a4d2. - -Signed-off-by: Peter Robinson ---- - libdnf/hy-util.cpp | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/libdnf/hy-util.cpp b/libdnf/hy-util.cpp -index f6de87d3..61838cc3 100644 ---- a/libdnf/hy-util.cpp -+++ b/libdnf/hy-util.cpp -@@ -118,8 +118,7 @@ hy_detect_arch(char **arch) - modifier++; - if (getauxval(AT_HWCAP) & HWCAP_ARM_VFP) - *modifier++ = 'h'; -- // arm version >= 8 can have crypto extension -- if ((atoi(un.machine+4) >= 8) && (getauxval(AT_HWCAP2) & HWCAP2_AES)) -+ if (getauxval(AT_HWCAP2) & HWCAP2_AES) - *modifier++ = 'c'; - if (getauxval(AT_HWCAP) & HWCAP_ARM_NEON) - *modifier++ = 'n'; --- -2.23.0 - diff --git a/0002-Fix-Arm-detection-improvements.patch b/0002-Fix-Arm-detection-improvements.patch deleted file mode 100644 index 260014a..0000000 --- a/0002-Fix-Arm-detection-improvements.patch +++ /dev/null @@ -1,88 +0,0 @@ -From f858089c65119500986c6695138590af60a02542 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Wed, 16 Oct 2019 11:47:43 +0100 -Subject: [PATCH 2/2] Fix Arm detection improvements - -The change in 73b0de05a4d2 has caused a number of real world regressions -on arm32/armhfp/aarch32 users, in particular when running on ARMv8 based -hardware. There's a number of cases where software can't be installed -or the OS can't even be installed due to issues around armv7hcnl and -armv8hcnl. The NEON 'n' extension on ARMv8 hardware is not optional, so -is assumed as part of the armv8hl rpm. The crypto extensions 'c' are -optional and their implementation is widely varied, due to this the -software implementations do run time detection, the detection of this -functionality and subsquent priortisation of the 'c' extension is -incorrect, especially where the software could be running in a VM -or container and hence even in a running instance the underlying -hardware could concievably change so requiring this as a compile time -option has proved to be extremely problematic causing massive issues -with Fedora ARM. - -We adjust the detection of NEON 'n' just to happen on ARMv7 where while -it was implemented it has always been problematic and never really used -and hence is a legacy implementation detail that needs to be supported -but in reality the vast majority of NEON optimisation happens at run -time in libraries where it make a difference. - -In the case of the 'c' crypto extenions we have explicitly not added -this as package management functionality as it's handled effectively -with run time detection as optimisaiton and as in Fefora has just -caused regressions and issues. - -Fixes RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1691430 - -Signed-off-by: Peter Robinson ---- - libdnf/hy-util.cpp | 17 +++++------------ - 1 file changed, 5 insertions(+), 12 deletions(-) - -diff --git a/libdnf/hy-util.cpp b/libdnf/hy-util.cpp -index 61838cc3..295fdc1b 100644 ---- a/libdnf/hy-util.cpp -+++ b/libdnf/hy-util.cpp -@@ -36,20 +36,13 @@ - - #include - --/* ARM specific HWCAP defines may be missing on non-ARM devices, -- * AT_HWCAP2 is missing on old glibc (<2.18) */ --#ifndef AT_HWCAP2 --#define AT_HWCAP2 26 --#endif -+/* ARM specific HWCAP defines may be missing on non-ARM devices */ - #ifndef HWCAP_ARM_VFP - #define HWCAP_ARM_VFP (1<<6) - #endif - #ifndef HWCAP_ARM_NEON - #define HWCAP_ARM_NEON (1<<12) - #endif --#ifndef HWCAP2_AES --#define HWCAP2_AES (1<<0) --#endif - - const char * - hy_chksum_name(int chksum_type) -@@ -111,16 +104,16 @@ hy_detect_arch(char **arch) - if (!strncmp(un.machine, "armv", 4)) { - /* un.machine is armvXE, where X is version number and E is - * endianness (b or l); we need to add modifiers such as -- * h (hardfloat), n (neon), c (crypto extensions) */ -+ * h (hardfloat), n (neon). Neon is a requirement of armv8 so -+ * as far as rpm is concerned armv8l is the equivilent of armv7hnl -+ * (or 7hnb) so we don't explicitly add 'n' for 8+ as it's expected. */ - char endian = un.machine[strlen(un.machine)-1]; - char *modifier = un.machine + 5; - while(isdigit(*modifier)) /* keep armv7, armv8, armv9, armv10, armv100, ... */ - modifier++; - if (getauxval(AT_HWCAP) & HWCAP_ARM_VFP) - *modifier++ = 'h'; -- if (getauxval(AT_HWCAP2) & HWCAP2_AES) -- *modifier++ = 'c'; -- if (getauxval(AT_HWCAP) & HWCAP_ARM_NEON) -+ if ((atoi(un.machine+4) == 7) && (getauxval(AT_HWCAP) & HWCAP_ARM_NEON)) - *modifier++ = 'n'; - *modifier++ = endian; - *modifier = 0; --- -2.23.0 - diff --git a/0003-Fix-use-with-src-in-hy_subject_get_best_solution.patch b/0003-Fix-use-with-src-in-hy_subject_get_best_solution.patch deleted file mode 100644 index 9e8e989..0000000 --- a/0003-Fix-use-with-src-in-hy_subject_get_best_solution.patch +++ /dev/null @@ -1,23 +0,0 @@ -From c0fb150c79302079a4fb4e26fec26cecbeefd84f Mon Sep 17 00:00:00 2001 -From: Jaroslav Rohel -Date: Thu, 7 Nov 2019 09:53:54 +0100 -Subject: [PATCH] Fix: use with_src in hy_subject_get_best_solution() - -The code accidentally disappeared during improving getBestSolution(). ---- - libdnf/hy-subject.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/libdnf/hy-subject.cpp b/libdnf/hy-subject.cpp -index 686438d3b..c90fa148d 100644 ---- a/libdnf/hy-subject.cpp -+++ b/libdnf/hy-subject.cpp -@@ -81,6 +81,8 @@ hy_subject_get_best_solution(HySubject subject, DnfSack *sack, HyForm *forms, Hy - gboolean with_filenames, gboolean with_src) - { - std::unique_ptr query(new libdnf::Query(sack, libdnf::Query::ExcludeFlags::APPLY_EXCLUDES)); -+ if (!with_src) -+ query->addFilter(HY_PKG_ARCH, HY_NEQ, "src"); - auto ret = query->filterSubject(subject, forms, icase, with_nevra, with_provides, with_filenames); - *out_nevra = ret.second.release(); - return query.release(); diff --git a/libdnf.spec b/libdnf.spec index 8403c5a..2a94477 100644 --- a/libdnf.spec +++ b/libdnf.spec @@ -48,16 +48,12 @@ %{nil} Name: libdnf -Version: 0.37.2 -Release: 2%{?dist} +Version: 0.39.1 +Release: 1%{?dist} Summary: Library providing simplified C and Python API to libsolv License: LGPLv2+ URL: https://github.com/rpm-software-management/libdnf Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz -Patch0001: 0001-Revert-hy_detect_arch-detect-crypto-only-on-arm-vers.patch -Patch0002: 0002-Fix-Arm-detection-improvements.patch -# https://github.com/rpm-software-management/libdnf/pull/836 -Patch0003: 0003-Fix-use-with-src-in-hy_subject_get_best_solution.patch BuildRequires: cmake BuildRequires: gcc @@ -294,6 +290,16 @@ popd %endif %changelog +* Fri Nov 29 2019 Ales Matej - 0.39.1-1 +- Update to 0.39.1 +- Report reason how package was excluded (RhBug:1649754) +- Additional Arm detection improvements (RhBug:1691430) +- Set skip_if_unavailable for media repos to skip their update (RhBug:1716067) +- Add support of xml:base for remote and local url in context (RhBug:1734350, 1717865) +- Handle NoModuleException in dnf_context_reset_modules (RhBug:1767453) +- Add missing C function hy_nevra_free() for HyNevra deallocation +- Context part of libdnf now uses metadata_expire from global configuration + * Wed Nov 13 2019 Pavla Kratochvilova - 0.37.2-2 - Fix accidental code removal from hy_subject_get_best_solution() diff --git a/sources b/sources index 146d7c1..6fc9032 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libdnf-0.37.2.tar.gz) = ca1db4670ba5571ae0f310ebf9cbe0a4734b85527498336e57e47fd894ac99d5a8bc310c88632bd4f6615f58d0b98b08087c361e6334f884725bdebc968ed740 +SHA512 (libdnf-0.39.1.tar.gz) = 98bdbca606a26d41387af9c6f2bb63b287f8866b6005198535563bf62877d1f03398a8144157e6a341db62be643e587a86ae9e7e9d5d06db276d70a4c952a3c8