summaryrefslogtreecommitdiffstats
path: root/patches/0003-cli-Optionally-enforce-argument-to-upgrade-command.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/0003-cli-Optionally-enforce-argument-to-upgrade-command.patch')
-rw-r--r--patches/0003-cli-Optionally-enforce-argument-to-upgrade-command.patch91
1 files changed, 91 insertions, 0 deletions
diff --git a/patches/0003-cli-Optionally-enforce-argument-to-upgrade-command.patch b/patches/0003-cli-Optionally-enforce-argument-to-upgrade-command.patch
new file mode 100644
index 0000000..9765026
--- /dev/null
+++ b/patches/0003-cli-Optionally-enforce-argument-to-upgrade-command.patch
@@ -0,0 +1,91 @@
+From 8297cbe6f15ddef8bb47682913ff10a3cffa997c Mon Sep 17 00:00:00 2001
+From: Patrick McDermott <patrick.mcdermott@libiquity.com>
+Date: Thu, 4 Apr 2019 18:25:51 -0400
+Subject: [PATCH] cli: Optionally enforce argument to upgrade command
+
+This reverts and amends commit 673d7213175c2cf209b25c8eb2632941cdbb8519.
+
+Signed-off-by: Patrick McDermott <patrick.mcdermott@libiquity.com>
+---
+ CMakeLists.txt | 4 ++++
+ libopkg/opkg_cmd.c | 17 +++++++++++++++++
+ src/opkg-cl.c | 4 ++++
+ 3 files changed, 25 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 26230b3..508eccc 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -13,6 +13,7 @@ SET(VERSION "" CACHE STRING "Override version")
+ OPTION(STATIC_UBOX "Statically link libubox" OFF)
+ OPTION(BUILD_TESTS "Build test programs" ON)
+ OPTION(ENABLE_USIGN "Enable usign support" ON)
++OPTION(REQUIRE_UPGRADE_ARGS "Require arguments to upgrade command" ON)
+
+ IF(NOT HOST_CPU)
+ SET(HOST_CPU "${CMAKE_HOST_SYSTEM_PROCESSOR}")
+@@ -49,6 +50,9 @@ ADD_DEFINITIONS(-Os -Wall --std=gnu99 -g3 -Wmissing-declarations
+ IF(ENABLE_USIGN)
+ ADD_DEFINITIONS(-DHAVE_USIGN)
+ ENDIF()
++IF(REQUIRE_UPGRADE_ARGS)
++ ADD_DEFINITIONS(-DREQUIRE_UPGRADE_ARGS)
++ENDIF()
+
+ IF(WORDS_BIGENDIAN)
+ ADD_DEFINITIONS(-DWORDS_BIGENDIAN)
+diff --git a/libopkg/opkg_cmd.c b/libopkg/opkg_cmd.c
+index c823df8..0a4180d 100644
+--- a/libopkg/opkg_cmd.c
++++ b/libopkg/opkg_cmd.c
+@@ -529,6 +529,19 @@ static int opkg_upgrade_cmd(int argc, char **argv)
+ err = -1;
+ }
+ }
++#if !defined(REQUIRE_UPGRADE_ARGS)
++ } else {
++ pkg_vec_t *installed = pkg_vec_alloc();
++
++ pkg_info_preinstall_check();
++ pkg_hash_fetch_all_installed(installed);
++ for (i = 0; i < installed->len; i++) {
++ pkg = installed->pkgs[i];
++ if (opkg_upgrade_pkg(pkg))
++ err = -1;
++ }
++ pkg_vec_free(installed);
++#endif
+ }
+
+ if (opkg_configure_packages(NULL))
+@@ -1256,7 +1269,11 @@ static int opkg_print_architecture_cmd(int argc, char **argv)
+ static opkg_cmd_t cmds[] = {
+ {"update", 0, (opkg_cmd_fun_t) opkg_update_cmd,
+ PFM_DESCRIPTION | PFM_SOURCE},
++#if defined(REQUIRE_UPGRADE_ARGS)
+ {"upgrade", 1, (opkg_cmd_fun_t) opkg_upgrade_cmd,
++#else
++ {"upgrade", 0, (opkg_cmd_fun_t) opkg_upgrade_cmd,
++#endif
+ PFM_DESCRIPTION | PFM_SOURCE},
+ {"list", 0, (opkg_cmd_fun_t) opkg_list_cmd, PFM_SOURCE},
+ {"list_installed", 0, (opkg_cmd_fun_t) opkg_list_installed_cmd,
+diff --git a/src/opkg-cl.c b/src/opkg-cl.c
+index a3ea5c1..29cd373 100644
+--- a/src/opkg-cl.c
++++ b/src/opkg-cl.c
+@@ -260,7 +260,11 @@ static void usage()
+ printf("\nPackage Manipulation:\n");
+ printf
+ ("\tupdate Update list of available packages\n");
++#if defined(REQUIRE_UPGRADE_ARGS)
+ printf("\tupgrade <pkgs> Upgrade packages\n");
++#else
++ printf("\tupgrade Upgrade packages\n");
++#endif
+ printf("\tinstall <pkgs> Install package(s)\n");
+ printf("\tconfigure <pkgs> Configure unpacked package(s)\n");
+ printf("\tremove <pkgs|regexp> Remove package(s)\n");
+--
+2.11.0
+