From: Jate Sujjavanich <jatedev@gmail.com>
To: openembedded-core@lists.openembedded.org
Cc: steve@sakoman.com
Subject: [PATCH 1/2] libdnf: Backport bugfix for upgrade calc
Date: Wed, 24 Nov 2021 03:14:22 +0000 [thread overview]
Message-ID: <20211124031423.76384-1-jatedev@gmail.com> (raw)
Mark goal.upgrade with sltr as targeted
This allows a bugfix in dnf to work
Signed-off-by: Jate Sujjavanich <jatedev@gmail.com>
---
...job-goal.upgrade-with-sltr-as-target.patch | 58 +++++++++++++++++++
.../libdnf/libdnf_0.28.1.bbappend | 3 +
2 files changed, 61 insertions(+)
create mode 100644 meta/recipes-devtools/libdnf/libdnf/0040-Mark-job-goal.upgrade-with-sltr-as-target.patch
create mode 100644 meta/recipes-devtools/libdnf/libdnf_0.28.1.bbappend
diff --git a/meta/recipes-devtools/libdnf/libdnf/0040-Mark-job-goal.upgrade-with-sltr-as-target.patch b/meta/recipes-devtools/libdnf/libdnf/0040-Mark-job-goal.upgrade-with-sltr-as-target.patch
new file mode 100644
index 0000000000..61d255581b
--- /dev/null
+++ b/meta/recipes-devtools/libdnf/libdnf/0040-Mark-job-goal.upgrade-with-sltr-as-target.patch
@@ -0,0 +1,58 @@
+From b4c5a3312287f31a2075a235db846ff611586d2c Mon Sep 17 00:00:00 2001
+From: Jaroslav Mracek <jmracek@redhat.com>
+Date: Tue, 3 Sep 2019 11:01:23 +0200
+Subject: [PATCH] Mark job goal.upgrade with sltr as targeted
+
+It allows to keep installed packages in upgrade set.
+
+It also prevents from reinstalling of modified packages with same NEVRA.
+
+
+Backport commit b4c5a3312287f31a2075a235db846ff611586d2c from
+https://github.com/rpm-software-management/libdnf
+
+This bug is present in oe-core's dnf
+
+Remove changes to spec file from upstream
+
+Upstream-Status: Backport
+Signed-off-by: Jate Sujjavanich <jatedev@gmail.com>
+---
+ libdnf.spec | 4 ++--
+ libdnf/goal/Goal.cpp | 2 +-
+ libdnf/goal/Goal.hpp | 6 ++++--
+ 3 files changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/libdnf/goal/Goal.cpp b/libdnf/goal/Goal.cpp
+index b69be19..a38cbb4 100644
+--- a/libdnf/goal/Goal.cpp
++++ b/libdnf/goal/Goal.cpp
+@@ -767,7 +767,7 @@ void
+ Goal::upgrade(HySelector sltr)
+ {
+ pImpl->actions = static_cast<DnfGoalActions>(pImpl->actions | DNF_UPGRADE);
+- sltrToJob(sltr, &pImpl->staging, SOLVER_UPDATE);
++ sltrToJob(sltr, &pImpl->staging, SOLVER_UPDATE|SOLVER_TARGETED);
+ }
+
+ void
+diff --git a/libdnf/goal/Goal.hpp b/libdnf/goal/Goal.hpp
+index f33dfa2..d701317 100644
+--- a/libdnf/goal/Goal.hpp
++++ b/libdnf/goal/Goal.hpp
+@@ -86,8 +86,10 @@ public:
+ /**
+ * @brief If selector ill formed, it rises std::runtime_error()
+ *
+- * @param sltr p_sltr: It should contain only upgrades with obsoletes otherwise it can try to
+- * reinstall installonly packages.
++ * @param sltr p_sltr: It contains upgrade-to packages and obsoletes. The presence of installed
++ * packages prevents reinstalling packages with the same NEVRA but changed contant. To honor repo
++ * priority all relevant packages must be present. To upgrade package foo from priority repo, all
++ * installed and available packages of the foo must be in selector plus obsoletes of foo.
+ */
+ void upgrade(HySelector sltr);
+ void userInstalled(DnfPackage *pkg);
+--
+2.7.4
+
diff --git a/meta/recipes-devtools/libdnf/libdnf_0.28.1.bbappend b/meta/recipes-devtools/libdnf/libdnf_0.28.1.bbappend
new file mode 100644
index 0000000000..569a77496d
--- /dev/null
+++ b/meta/recipes-devtools/libdnf/libdnf_0.28.1.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += "file://0040-Mark-job-goal.upgrade-with-sltr-as-target.patch"
--
2.25.1
next reply other threads:[~2021-11-24 3:14 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-24 3:14 Jate Sujjavanich [this message]
2021-11-24 3:14 ` [PATCH 2/2] dnf: Backport bugfix for upgrade Jate Sujjavanich
2021-11-24 3:20 ` Jate Sujjavanich
2021-11-24 3:20 ` [PATCH 1/2] libdnf: Backport bugfix for upgrade calc Jate Sujjavanich
2021-11-24 14:41 ` [OE-core] " Steve Sakoman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211124031423.76384-1-jatedev@gmail.com \
--to=jatedev@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=steve@sakoman.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox