From 9ce0e3c6b633063441194ee9966b4e1a52eff90c Mon Sep 17 00:00:00 2001 From: Mihai Moldovan Date: Tue, 29 Sep 2020 18:30:16 +0200 Subject: [PATCH] [PATCH] Set the default disttype to RPM. On "foreign" systems, including Debian, libsolv tries to be smart and default to the native packaging system type. We need to explicitly override it to use RPM for dnf to work. Gbp-Pq: Name 0003-Set-the-default-disttype-to-RPM.patch --- libdnf/dnf-sack.cpp | 1 + tests/hawkey/test_iutil.cpp | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/libdnf/dnf-sack.cpp b/libdnf/dnf-sack.cpp index d23c7d1..caef198 100644 --- a/libdnf/dnf-sack.cpp +++ b/libdnf/dnf-sack.cpp @@ -185,6 +185,7 @@ dnf_sack_init(DnfSack *sack) DnfSackPrivate *priv = GET_PRIVATE(sack); priv->pool = pool_create(); pool_set_flag(priv->pool, POOL_FLAG_WHATPROVIDESWITHDISABLED, 1); + pool_setdisttype(priv->pool, DISTTYPE_RPM); priv->running_kernel_id = -1; priv->running_kernel_fn = running_kernel; priv->considered_uptodate = TRUE; diff --git a/tests/hawkey/test_iutil.cpp b/tests/hawkey/test_iutil.cpp index f206a89..81048a4 100644 --- a/tests/hawkey/test_iutil.cpp +++ b/tests/hawkey/test_iutil.cpp @@ -162,6 +162,13 @@ END_TEST START_TEST(test_version_split) { Pool *pool = pool_create(); + + /* + * On "foreign" systems, the disttype will + * not default to RPM. Set this explicitly. + */ + fail_if(-1 == pool_setdisttype(pool, DISTTYPE_RPM)); + char evr[] = "1:5.9.3-8"; char *epoch, *version, *release; -- 2.30.2