Update to 0.39.1
This commit is contained in:
parent
ff8dfe3dd9
commit
3545d967ac
1
.gitignore
vendored
1
.gitignore
vendored
@ -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
|
||||
|
@ -1,33 +0,0 @@
|
||||
From d9684b99ed849e11b366ee1e6d98b88daf4b41ba Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
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 <pbrobinson@gmail.com>
|
||||
---
|
||||
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
|
||||
|
@ -1,88 +0,0 @@
|
||||
From f858089c65119500986c6695138590af60a02542 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
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 <pbrobinson@gmail.com>
|
||||
---
|
||||
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 <memory>
|
||||
|
||||
-/* 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
|
||||
|
@ -1,23 +0,0 @@
|
||||
From c0fb150c79302079a4fb4e26fec26cecbeefd84f Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Rohel <jrohel@redhat.com>
|
||||
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<libdnf::Query> 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();
|
18
libdnf.spec
18
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 <amatej@redhat.com> - 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 <pkratoch@redhat.com> - 0.37.2-2
|
||||
- Fix accidental code removal from hy_subject_get_best_solution()
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (libdnf-0.37.2.tar.gz) = ca1db4670ba5571ae0f310ebf9cbe0a4734b85527498336e57e47fd894ac99d5a8bc310c88632bd4f6615f58d0b98b08087c361e6334f884725bdebc968ed740
|
||||
SHA512 (libdnf-0.39.1.tar.gz) = 98bdbca606a26d41387af9c6f2bb63b287f8866b6005198535563bf62877d1f03398a8144157e6a341db62be643e587a86ae9e7e9d5d06db276d70a4c952a3c8
|
||||
|
Loading…
Reference in New Issue
Block a user