diff options
Diffstat (limited to 'src/pacman')
| -rw-r--r-- | src/pacman/conf.h | 1 | ||||
| -rw-r--r-- | src/pacman/pacman.c | 3 | ||||
| -rw-r--r-- | src/pacman/query.c | 4 | 
3 files changed, 8 insertions, 0 deletions
| diff --git a/src/pacman/conf.h b/src/pacman/conf.h index 69c955ed..aee68597 100644 --- a/src/pacman/conf.h +++ b/src/pacman/conf.h @@ -51,6 +51,7 @@ typedef struct __config_t {  	unsigned short op_q_info;  	unsigned short op_q_list;  	unsigned short op_q_foreign; +	unsigned short op_q_native;  	unsigned short op_q_unrequired;  	unsigned short op_q_deps;  	unsigned short op_q_explicit; diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c index 478196e2..1ca746d7 100644 --- a/src/pacman/pacman.c +++ b/src/pacman/pacman.c @@ -142,6 +142,7 @@ static void usage(int op, const char * const myname)  			addlist(_("  -k, --check          check that the files owned by the package(s) are present\n"));  			addlist(_("  -l, --list           list the contents of the queried package\n"));  			addlist(_("  -m, --foreign        list installed packages not found in sync db(s) [filter]\n")); +			addlist(_("  -n, --native         list installed packages only found in sync db(s) [filter]\n"));  			addlist(_("  -o, --owns <file>    query the package that owns <file>\n"));  			addlist(_("  -p, --file <package> query a package file instead of the database\n"));  			addlist(_("  -q, --quiet          show less information for query and search\n")); @@ -462,6 +463,7 @@ static int parsearg_query(int opt)  		case 'k': config->op_q_check = 1; break;  		case 'l': config->op_q_list = 1; break;  		case 'm': config->op_q_foreign = 1; break; +		case 'n': config->op_q_native = 1; break;  		case 'o': config->op_q_owns = 1; break;  		case 'p': config->op_q_isfile = 1; break;  		case 'q': config->quiet = 1; break; @@ -594,6 +596,7 @@ static int parseargs(int argc, char *argv[])  		{"check",      no_argument,       0, 'k'},  		{"list",       no_argument,       0, 'l'},  		{"foreign",    no_argument,       0, 'm'}, +		{"native",     no_argument,       0, 'n'},  		{"nosave",     no_argument,       0, 'n'},  		{"owns",       no_argument,       0, 'o'},  		{"file",       no_argument,       0, 'p'}, diff --git a/src/pacman/query.c b/src/pacman/query.c index 398adac4..2736672c 100644 --- a/src/pacman/query.c +++ b/src/pacman/query.c @@ -380,6 +380,10 @@ static int filter(alpm_pkg_t *pkg)  			alpm_pkg_get_reason(pkg) != ALPM_PKG_REASON_DEPEND) {  		return 0;  	} +	/* check if this pkg is in a sync DB */ +	if(config->op_q_native && is_foreign(pkg)) { +		return 0; +	}  	/* check if this pkg isn't in a sync DB */  	if(config->op_q_foreign && !is_foreign(pkg)) {  		return 0; | 
