summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/pacman.8.txt7
-rw-r--r--lib/libalpm/deps.c29
-rw-r--r--src/pacman/conf.h1
-rw-r--r--src/pacman/pacman.c8
-rw-r--r--test/pacman/tests/sync304.py2
-rw-r--r--test/pacman/tests/sync306.py1
-rw-r--r--test/pacman/tests/upgrade078.py17
7 files changed, 9 insertions, 56 deletions
diff --git a/doc/pacman.8.txt b/doc/pacman.8.txt
index 275f8ac0..1ec5e7c3 100644
--- a/doc/pacman.8.txt
+++ b/doc/pacman.8.txt
@@ -411,13 +411,6 @@ system upgrade and install/upgrade the foo package in the same operation.
*\--needed*::
Do not reinstall the targets that are already up to date.
-*\--recursive*::
- Recursively reinstall all dependencies of the targets. This forces upgrades
- or reinstalls of all dependencies without requiring explicit version
- requirements. This is most useful in combination with the '\--needed' flag,
- which will induce a deep dependency upgrade without any unnecessary
- reinstalls.
-
Handling Config Files[[HCF]]
----------------------------
diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c
index 89f6d691..0c0a054e 100644
--- a/lib/libalpm/deps.c
+++ b/lib/libalpm/deps.c
@@ -723,12 +723,6 @@ int _alpm_resolvedeps(alpm_handle_t *handle, alpm_list_t *localpkgs,
return 0;
}
- if(handle->trans->flags & ALPM_TRANS_FLAG_RECURSE) {
- /* removing local packages from the equation causes the entire dep chain to
- * get pulled for each target- e.g., pactree -u output */
- localpkgs = NULL;
- }
-
/* Create a copy of the packages list, so that it can be restored
on error */
packages_copy = alpm_list_copy(*packages);
@@ -781,29 +775,6 @@ int _alpm_resolvedeps(alpm_handle_t *handle, alpm_list_t *localpkgs,
alpm_list_free(deps);
}
- if(handle->trans->flags & ALPM_TRANS_FLAG_NEEDED) {
- /* remove any deps that were pulled that match installed version */
- /* odd loop syntax so we can modify the list as we iterate */
- i = *packages;
- while(i) {
- alpm_pkg_t *tpkg = i->data;
- alpm_pkg_t *local = _alpm_db_get_pkgfromcache(
- handle->db_local, tpkg->name);
- if(local && _alpm_pkg_compare_versions(tpkg, local) == 0) {
- /* with the NEEDED flag, packages up to date are not reinstalled */
- _alpm_log(handle, ALPM_LOG_DEBUG,
- "not adding dep %s-%s as it is not needed, same version\n",
- local->name, local->version);
- j = i;
- i = i->next;
- *packages = alpm_list_remove_item(*packages, j);
- free(j);
- } else {
- i = i->next;
- }
- }
- }
-
if(ret != 0) {
alpm_list_free(*packages);
*packages = packages_copy;
diff --git a/src/pacman/conf.h b/src/pacman/conf.h
index 9e14925a..42f25298 100644
--- a/src/pacman/conf.h
+++ b/src/pacman/conf.h
@@ -127,7 +127,6 @@ enum {
OP_ARCH,
OP_PRINTFORMAT,
OP_GPGDIR,
- OP_RECURSIVE,
OP_DBONLY
};
diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
index 381e0b71..c0c3bb8b 100644
--- a/src/pacman/pacman.c
+++ b/src/pacman/pacman.c
@@ -135,7 +135,6 @@ static void usage(int op, const char * const myname)
} else if(op == PM_OP_UPGRADE) {
printf("%s: %s {-U --upgrade} [%s] <%s>\n", str_usg, myname, str_opt, str_file);
addlist(_(" --needed do not reinstall up to date packages\n"));
- addlist(_(" --recursive reinstall all dependencies of target packages\n"));
printf("%s:\n", str_opt);
} else if(op == PM_OP_QUERY) {
printf("%s: %s {-Q --query} [%s] [%s]\n", str_usg, myname, str_opt, str_pkg);
@@ -167,7 +166,6 @@ static void usage(int op, const char * const myname)
addlist(_(" -w, --downloadonly download packages but do not install/upgrade anything\n"));
addlist(_(" -y, --refresh download fresh package databases from the server\n"));
addlist(_(" --needed do not reinstall up to date packages\n"));
- addlist(_(" --recursive reinstall all dependencies of target packages\n"));
} else if(op == PM_OP_DATABASE) {
printf("%s: %s {-D --database} <%s> <%s>\n", str_usg, myname, str_opt, str_pkg);
printf("%s:\n", str_opt);
@@ -512,9 +510,6 @@ static int parsearg_remove(int opt)
case 'c': config->flags |= ALPM_TRANS_FLAG_CASCADE; break;
case 'n': config->flags |= ALPM_TRANS_FLAG_NOSAVE; break;
case 's':
- case OP_RECURSIVE:
- /* 's' is the legacy flag here, but since recursive is used in -S without
- * a shortopt, we need to do funky tricks */
if(config->flags & ALPM_TRANS_FLAG_RECURSE) {
config->flags |= ALPM_TRANS_FLAG_RECURSEALL;
} else {
@@ -537,7 +532,6 @@ static int parsearg_upgrade(int opt)
case OP_ASDEPS: config->flags |= ALPM_TRANS_FLAG_ALLDEPS; break;
case OP_ASEXPLICIT: config->flags |= ALPM_TRANS_FLAG_ALLEXPLICIT; break;
case OP_NEEDED: config->flags |= ALPM_TRANS_FLAG_NEEDED; break;
- case OP_RECURSIVE: config->flags |= ALPM_TRANS_FLAG_RECURSE; break;
case OP_IGNORE:
parsearg_util_addlist(&(config->ignorepkg));
break;
@@ -612,6 +606,7 @@ static int parseargs(int argc, char *argv[])
{"print", no_argument, 0, 'p'},
{"quiet", no_argument, 0, 'q'},
{"root", required_argument, 0, 'r'},
+ {"recursive", no_argument, 0, 's'},
{"search", no_argument, 0, 's'},
{"unrequired", no_argument, 0, 't'},
{"upgrades", no_argument, 0, 'u'},
@@ -637,7 +632,6 @@ static int parseargs(int argc, char *argv[])
{"arch", required_argument, 0, OP_ARCH},
{"print-format", required_argument, 0, OP_PRINTFORMAT},
{"gpgdir", required_argument, 0, OP_GPGDIR},
- {"recursive", no_argument, 0, OP_RECURSIVE},
{"dbonly", no_argument, 0, OP_DBONLY},
{0, 0, 0, 0}
};
diff --git a/test/pacman/tests/sync304.py b/test/pacman/tests/sync304.py
index 4ac1a015..18058c99 100644
--- a/test/pacman/tests/sync304.py
+++ b/test/pacman/tests/sync304.py
@@ -19,9 +19,7 @@ self.option["SyncFirst"] = ["pacman"]
self.args = "-Su"
self.addrule("PACMAN_RETCODE=0")
-self.addrule("PKG_EXIST=pacman")
self.addrule("PKG_VERSION=pacman|4.0.1-1")
-self.addrule("PKG_EXIST=pyalpm")
self.addrule("PKG_VERSION=pyalpm|2-1")
self.expectfailure = True
diff --git a/test/pacman/tests/sync306.py b/test/pacman/tests/sync306.py
index ca7a547e..c7401d07 100644
--- a/test/pacman/tests/sync306.py
+++ b/test/pacman/tests/sync306.py
@@ -59,5 +59,4 @@ self.addpkg2db("local", lp7)
self.args = "-S pacman"
self.addrule("PACMAN_RETCODE=0")
-self.addrule("PKG_EXIST=pacman")
self.addrule("PKG_VERSION=pacman|4.0.1-2")
diff --git a/test/pacman/tests/upgrade078.py b/test/pacman/tests/upgrade078.py
index 718d5871..8ef32456 100644
--- a/test/pacman/tests/upgrade078.py
+++ b/test/pacman/tests/upgrade078.py
@@ -20,15 +20,15 @@ expat_lpkg = pmpkg("expat", "2.0.1-6")
self.addpkg2db("local", expat_lpkg)
# Sync db
-curl_sync = pmpkg("curl", "7.21.7-1")
-self.addpkg2db("sync", curl_sync)
+perl_sync = pmpkg("perl", "5.14.1-3")
+perl_sync.depends = ["glibc"]
+self.addpkg2db("sync", perl_sync)
glibc_sync = pmpkg("glibc", "2.1.4-4")
self.addpkg2db("sync", glibc_sync)
-perl_sync = pmpkg("perl", "5.14.1-3")
-perl_sync.depends = ["glibc"]
-self.addpkg2db("sync", perl_sync)
+curl_sync = pmpkg("curl", "7.21.7-1")
+self.addpkg2db("sync", curl_sync)
expat_sync = pmpkg("expat", "2.0.1-6")
self.addpkg2db("sync", expat_sync)
@@ -46,11 +46,10 @@ self.addrule("PKG_DEPENDS=git|perl")
self.addrule("PKG_DEPENDS=perl|glibc")
self.addrule("PKG_EXIST=git")
self.addrule("PKG_VERSION=git|1.7.6-1")
-self.addrule("PKG_EXIST=curl")
self.addrule("PKG_VERSION=curl|7.21.7-1")
-self.addrule("PKG_EXIST=glibc")
self.addrule("PKG_VERSION=glibc|2.1.4-4")
-self.addrule("PKG_EXIST=perl")
self.addrule("PKG_VERSION=perl|5.14.1-3")
-self.addrule("PKG_EXIST=expat")
self.addrule("PKG_VERSION=expat|2.0.1-6")
+
+# --recursive operation was removed for now
+self.expectfailure = True