I made a patch to fix pacman's behaviour when using the -D flag,
setting that all packages installed with that flag are marked as "Installed
as a dependency for another package"
so that when using makepkg with the -s (or -S) flag, the deps are installed
as deps.

Melko
From d2976e9728688ca567dfebc71e5a9b02283763e9 Mon Sep 17 00:00:00 2001
From: Melko <[email protected]>
Date: Tue, 19 Jul 2011 14:12:24 +0200
Subject: [PATCH] pacman -D: make it working

---
 lib/libpacman/sync.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/lib/libpacman/sync.c b/lib/libpacman/sync.c
index 6893a67..6381d97 100644
--- a/lib/libpacman/sync.c
+++ b/lib/libpacman/sync.c
@@ -1028,7 +1028,7 @@ int _pacman_sync_commit(pmtrans_t *trans, pmdb_t *db_local, pmlist_t **data)
 		/* using _pacman_list_last() is ok because addtarget() adds the new target at the
 		 * end of the tr->packages list */
 		spkg = _pacman_list_last(tr->packages)->data;
-		if(ps->type == PM_SYNC_TYPE_DEPEND) {
+		if(ps->type == PM_SYNC_TYPE_DEPEND || trans->flags & PM_TRANS_FLAG_ALLDEPS) {
 			spkg->reason = PM_PKG_REASON_DEPEND;
 		} else if(ps->type == PM_SYNC_TYPE_UPGRADE && !handle->sysupgrade) {
 			spkg->reason = PM_PKG_REASON_EXPLICIT;
-- 
1.7.6

_______________________________________________
Frugalware-devel mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-devel

Reply via email to