summaryrefslogtreecommitdiffstats
path: root/lib/libalpm
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2007-07-15 18:44:18 +0200
committerDan McGee <dan@archlinux.org>2007-07-15 18:46:02 +0200
commita1e57cbec8209b64ee40fdae5990e870c8203cd7 (patch)
tree02b07ea6756c6694b367ad24b39e2457cd44a35a /lib/libalpm
parentc2920033d078768db08c338f4908033503abfc08 (diff)
downloadpacman-a1e57cbec8209b64ee40fdae5990e870c8203cd7.tar.gz
pacman-a1e57cbec8209b64ee40fdae5990e870c8203cd7.tar.xz
Add --asdeps option to pacman
This replaces the former -D operation that was undocumented and rather hacky. It can be used with add, upgrade, or sync transactions and will affect all packages installed. Should close FS #7193. Also tell makepkg to use this new flag. Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm')
-rw-r--r--lib/libalpm/add.c8
-rw-r--r--lib/libalpm/sync.c6
2 files changed, 7 insertions, 7 deletions
diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c
index 8a50be4c..a91ada24 100644
--- a/lib/libalpm/add.c
+++ b/lib/libalpm/add.c
@@ -332,8 +332,12 @@ int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
RET_ERR(PM_ERR_MEMORY, -1);
}
- /* copy over the install reason */
- newpkg->reason = alpm_pkg_get_reason(local);
+ /* copy over the install reason (unless alldeps is set) */
+ if(trans->flags & PM_TRANS_FLAG_ALLDEPS) {
+ newpkg->reason = PM_PKG_REASON_DEPEND;
+ } else {
+ newpkg->reason = alpm_pkg_get_reason(local);
+ }
/* pre_upgrade scriptlet */
if(alpm_pkg_has_scriptlet(newpkg) && !(trans->flags & PM_TRANS_FLAG_NOSCRIPTLET)) {
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c
index 41ed144a..c1d2f9e7 100644
--- a/lib/libalpm/sync.c
+++ b/lib/libalpm/sync.c
@@ -864,11 +864,7 @@ int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t **data)
if((ptr = calloc(512, sizeof(char))) == NULL) {
RET_ERR(PM_ERR_MEMORY, -1);
}
- if(trans->flags & PM_TRANS_FLAG_ALLDEPS) {
- doremove=1;
- } else {
- QUESTION(trans, PM_TRANS_CONV_CORRUPTED_PKG, (char *)pkgname, NULL, NULL, &doremove);
- }
+ QUESTION(trans, PM_TRANS_CONV_CORRUPTED_PKG, (char *)pkgname, NULL, NULL, &doremove);
if(doremove) {
unlink(str);
snprintf(ptr, 512, _("archive %s was corrupted (bad MD5 or SHA1 checksum)\n"), pkgname);