Apply few patches from upstream

Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
This commit is contained in:
Igor Gnatenko 2017-05-12 15:57:34 +02:00
parent 13625aae6d
commit f6cf8cdfe2
3 changed files with 184 additions and 2 deletions

View File

@ -0,0 +1,47 @@
From 15837579fef30f1e8fe1aa3017eb5441caf3f09c Mon Sep 17 00:00:00 2001
From: Igor Gnatenko <ignatenko@redhat.com>
Date: Fri, 17 Feb 2017 21:46:28 +0100
Subject: [PATCH 1/2] print downloading packages only once
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
---
dnf/dnf-main.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/dnf/dnf-main.c b/dnf/dnf-main.c
index 610ad74..6473bb3 100644
--- a/dnf/dnf-main.c
+++ b/dnf/dnf-main.c
@@ -29,6 +29,7 @@
static gboolean opt_yes = TRUE;
static gboolean opt_nodocs = FALSE;
static gboolean show_help = FALSE;
+static gboolean dl_pkgs_printed = FALSE;
static gboolean
process_global_option (const gchar *option_name,
@@ -115,8 +116,11 @@ state_action_changed_cb (DnfState *state,
g_print("Downloading metadata...\n");
break;
case DNF_STATE_ACTION_DOWNLOAD_PACKAGES:
- g_print("Downloading: %s (%u%%)\n", action_hint,
- dnf_state_get_percentage (state));
+ if (!dl_pkgs_printed)
+ {
+ g_print("Downloading packages...\n");
+ dl_pkgs_printed = TRUE;
+ }
break;
case DNF_STATE_ACTION_TEST_COMMIT:
g_print("Running transaction test...\n");
@@ -141,6 +145,7 @@ state_action_changed_cb (DnfState *state,
break;
case DNF_STATE_ACTION_CLEANUP:
g_print("Cleanup: %s\n", action_hint);
+ break;
default:
break;
}
--
2.12.2

View File

@ -0,0 +1,129 @@
From 5b9caacf40e20e74298da29b0e5de525096c0e13 Mon Sep 17 00:00:00 2001
From: Igor Gnatenko <ignatenko@redhat.com>
Date: Sat, 4 Mar 2017 16:56:43 +0100
Subject: [PATCH 2/2] do not fail on empty transactions
Closes: https://github.com/rpm-software-management/microdnf/issues/3
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
---
dnf/dnf-utils.c | 16 +++++++++-------
dnf/dnf-utils.h | 4 ++--
dnf/plugins/install/dnf-command-install.c | 5 +++--
dnf/plugins/update/dnf-command-update.c | 5 +++--
4 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/dnf/dnf-utils.c b/dnf/dnf-utils.c
index 16f4d08..b3d087c 100644
--- a/dnf/dnf-utils.c
+++ b/dnf/dnf-utils.c
@@ -2,7 +2,7 @@
*
* Copyright © 2010-2015 Richard Hughes <richard@hughsie.com>
* Copyright © 2016 Colin Walters <walters@verbum.org>
- * Copyright © 2016 Igor Gnatenko <ignatenko@redhat.com>
+ * Copyright © 2016-2017 Igor Gnatenko <ignatenko@redhat.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -20,7 +20,7 @@
#include "dnf-utils.h"
-void
+gboolean
dnf_utils_print_transaction (DnfContext *ctx)
{
g_autoptr(GPtrArray) pkgs = dnf_goal_get_packages (dnf_context_get_goal (ctx),
@@ -30,16 +30,18 @@ dnf_utils_print_transaction (DnfContext *ctx)
DNF_PACKAGE_INFO_UPDATE,
DNF_PACKAGE_INFO_REMOVE,
-1);
- g_print ("Transaction: ");
+
if (pkgs->len == 0)
- g_print ("(empty)");
- else
- g_print ("%u packages", pkgs->len);
- g_print ("\n");
+ {
+ g_print ("Nothing to do.\n");
+ return FALSE;
+ }
+ g_print ("Transaction: %u packages\n", pkgs->len);
for (guint i = 0; i < pkgs->len; i++)
{
DnfPackage *pkg = pkgs->pdata[i];
g_print ("%s (%s)\n", dnf_package_get_nevra (pkg), dnf_package_get_reponame (pkg));
}
+ return TRUE;
}
diff --git a/dnf/dnf-utils.h b/dnf/dnf-utils.h
index d649109..f894800 100644
--- a/dnf/dnf-utils.h
+++ b/dnf/dnf-utils.h
@@ -1,7 +1,7 @@
/* dnf-utils.h
*
* Copyright © 2016 Colin Walters <walters@verbum.org>
- * Copyright © 2016 Igor Gnatenko <ignatenko@redhat.com>
+ * Copyright © 2016-2017 Igor Gnatenko <ignatenko@redhat.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -24,6 +24,6 @@
G_BEGIN_DECLS
-void dnf_utils_print_transaction (DnfContext *ctx);
+gboolean dnf_utils_print_transaction (DnfContext *ctx);
G_END_DECLS
diff --git a/dnf/plugins/install/dnf-command-install.c b/dnf/plugins/install/dnf-command-install.c
index 6f27768..ea549da 100644
--- a/dnf/plugins/install/dnf-command-install.c
+++ b/dnf/plugins/install/dnf-command-install.c
@@ -2,7 +2,7 @@
*
* Copyright © 2010-2015 Richard Hughes <richard@hughsie.com>
* Copyright © 2016 Colin Walters <walters@verbum.org>
- * Copyright © 2016 Igor Gnatenko <ignatenko@redhat.com>
+ * Copyright © 2016-2017 Igor Gnatenko <ignatenko@redhat.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -75,7 +75,8 @@ dnf_command_install_run (DnfCommand *cmd,
}
if (!dnf_goal_depsolve (dnf_context_get_goal (ctx), DNF_INSTALL, error))
return FALSE;
- dnf_utils_print_transaction (ctx);
+ if (!dnf_utils_print_transaction (ctx))
+ return TRUE;
if (!dnf_context_run (ctx, NULL, error))
return FALSE;
g_print ("Complete.\n");
diff --git a/dnf/plugins/update/dnf-command-update.c b/dnf/plugins/update/dnf-command-update.c
index 33f7974..652d902 100644
--- a/dnf/plugins/update/dnf-command-update.c
+++ b/dnf/plugins/update/dnf-command-update.c
@@ -1,6 +1,6 @@
/* dnf-command-update.c
*
- * Copyright © 2016 Igor Gnatenko <ignatenko@redhat.com>
+ * Copyright © 2016-2017 Igor Gnatenko <ignatenko@redhat.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -73,7 +73,8 @@ dnf_command_update_run (DnfCommand *cmd,
if (!dnf_goal_depsolve (dnf_context_get_goal (ctx), 0, error))
return FALSE;
- dnf_utils_print_transaction (ctx);
+ if (!dnf_utils_print_transaction (ctx))
+ return TRUE;
if (!dnf_context_run (ctx, NULL, error))
return FALSE;
g_print ("Complete.\n");
--
2.12.2

View File

@ -8,13 +8,16 @@
Name: microdnf
Version: 2
Release: 2%{?dist}
Release: 3%{?dist}
Summary: Micro DNF
License: GPLv3+
URL: https://github.com/rpm-software-management/microdnf
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
Patch0001: 0001-print-downloading-packages-only-once.patch
Patch0002: 0002-do-not-fail-on-empty-transactions.patch
BuildRequires: gcc
BuildRequires: %{buildsys_req}
BuildRequires: pkgconfig(glib-2.0) >= 2.44.0
@ -26,7 +29,7 @@ BuildRequires: pkgconfig(libdnf) >= 0.7.0
%{summary}.
%prep
%autosetup
%autosetup -p1
%if %{buildsys} == "cmake"
%build
@ -55,6 +58,9 @@ popd
%{_bindir}/%{name}
%changelog
* Fri May 12 2017 Igor Gnatenko <ignatenko@redhat.com> - 2-3
- Apply few patches from upstream
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild