Backport from pacman 2.9.5 (code cleanup)
This commit is contained in:
parent
7c847fd7d4
commit
0550ba151f
2 changed files with 71 additions and 55 deletions
|
@ -60,21 +60,23 @@ unsigned short pmo_q_list = 0;
|
||||||
unsigned short pmo_q_orphans = 0;
|
unsigned short pmo_q_orphans = 0;
|
||||||
unsigned short pmo_q_owns = 0;
|
unsigned short pmo_q_owns = 0;
|
||||||
unsigned short pmo_q_search = 0;
|
unsigned short pmo_q_search = 0;
|
||||||
unsigned short pmo_s_upgrade = 0;
|
unsigned short pmo_s_clean = 0;
|
||||||
unsigned short pmo_s_downloadonly = 0;
|
unsigned short pmo_s_downloadonly = 0;
|
||||||
|
list_t *pmo_s_ignore = NULL;
|
||||||
|
unsigned short pmo_s_info = 0;
|
||||||
unsigned short pmo_s_printuris = 0;
|
unsigned short pmo_s_printuris = 0;
|
||||||
unsigned short pmo_s_sync = 0;
|
unsigned short pmo_s_sync = 0;
|
||||||
unsigned short pmo_s_search = 0;
|
unsigned short pmo_s_search = 0;
|
||||||
unsigned short pmo_s_clean = 0;
|
unsigned short pmo_s_upgrade = 0;
|
||||||
unsigned short pmo_group = 0;
|
unsigned short pmo_group = 0;
|
||||||
unsigned char pmo_flags = 0;
|
unsigned char pmo_flags = 0;
|
||||||
/* configuration file option */
|
/* configuration file option */
|
||||||
list_t *pmo_holdpkg = NULL;
|
|
||||||
char *pmo_proxyhost = NULL;
|
char *pmo_proxyhost = NULL;
|
||||||
unsigned short pmo_proxyport = 0;
|
unsigned short pmo_proxyport = 0;
|
||||||
char *pmo_xfercommand = NULL;
|
char *pmo_xfercommand = NULL;
|
||||||
unsigned short pmo_chomp = 0;
|
unsigned short pmo_chomp = 0;
|
||||||
unsigned short pmo_nopassiveftp = 0;
|
unsigned short pmo_nopassiveftp = 0;
|
||||||
|
list_t *pmo_holdpkg = NULL;
|
||||||
|
|
||||||
PM_DB *db_local;
|
PM_DB *db_local;
|
||||||
/* list of (sync_t *) structs for sync locations */
|
/* list of (sync_t *) structs for sync locations */
|
||||||
|
@ -337,38 +339,39 @@ int parseargs(int argc, char **argv)
|
||||||
static struct option opts[] =
|
static struct option opts[] =
|
||||||
{
|
{
|
||||||
{"add", no_argument, 0, 'A'},
|
{"add", no_argument, 0, 'A'},
|
||||||
{"remove", no_argument, 0, 'R'},
|
{"resolve", no_argument, 0, 'D'}, /* used by 'makepkg -s' */
|
||||||
{"upgrade", no_argument, 0, 'U'},
|
|
||||||
{"freshen", no_argument, 0, 'F'},
|
{"freshen", no_argument, 0, 'F'},
|
||||||
{"query", no_argument, 0, 'Q'},
|
{"query", no_argument, 0, 'Q'},
|
||||||
|
{"remove", no_argument, 0, 'R'},
|
||||||
{"sync", no_argument, 0, 'S'},
|
{"sync", no_argument, 0, 'S'},
|
||||||
{"deptest", no_argument, 0, 'T'},
|
{"deptest", no_argument, 0, 'T'}, /* used by makepkg */
|
||||||
{"vertest", no_argument, 0, 'Y'},
|
{"upgrade", no_argument, 0, 'U'},
|
||||||
{"resolve", no_argument, 0, 'D'},
|
|
||||||
{"root", required_argument, 0, 'r'},
|
|
||||||
{"dbpath", required_argument, 0, 'b'},
|
|
||||||
{"verbose", no_argument, 0, 'v'},
|
|
||||||
{"version", no_argument, 0, 'V'},
|
{"version", no_argument, 0, 'V'},
|
||||||
{"help", no_argument, 0, 'h'},
|
{"vertest", no_argument, 0, 'Y'}, /* does the same as the 'vercmp' binary */
|
||||||
{"search", no_argument, 0, 's'},
|
{"dbpath", required_argument, 0, 'b'},
|
||||||
|
{"cascade", no_argument, 0, 'c'},
|
||||||
{"clean", no_argument, 0, 'c'},
|
{"clean", no_argument, 0, 'c'},
|
||||||
{"force", no_argument, 0, 'f'},
|
|
||||||
{"nodeps", no_argument, 0, 'd'},
|
{"nodeps", no_argument, 0, 'd'},
|
||||||
{"orphans", no_argument, 0, 'e'},
|
{"orphans", no_argument, 0, 'e'},
|
||||||
|
{"force", no_argument, 0, 'f'},
|
||||||
|
{"groups", no_argument, 0, 'g'},
|
||||||
|
{"help", no_argument, 0, 'h'},
|
||||||
|
{"info", no_argument, 0, 'i'},
|
||||||
|
{"dbonly", no_argument, 0, 'k'},
|
||||||
|
{"list", no_argument, 0, 'l'},
|
||||||
{"nosave", no_argument, 0, 'n'},
|
{"nosave", no_argument, 0, 'n'},
|
||||||
{"owns", no_argument, 0, 'o'},
|
{"owns", no_argument, 0, 'o'},
|
||||||
{"list", no_argument, 0, 'l'},
|
|
||||||
{"file", no_argument, 0, 'p'},
|
{"file", no_argument, 0, 'p'},
|
||||||
{"info", no_argument, 0, 'i'},
|
{"root", required_argument, 0, 'r'},
|
||||||
|
{"recursive", no_argument, 0, 's'},
|
||||||
|
{"search", no_argument, 0, 's'},
|
||||||
{"sysupgrade", no_argument, 0, 'u'},
|
{"sysupgrade", no_argument, 0, 'u'},
|
||||||
|
{"verbose", no_argument, 0, 'v'},
|
||||||
{"downloadonly", no_argument, 0, 'w'},
|
{"downloadonly", no_argument, 0, 'w'},
|
||||||
{"refresh", no_argument, 0, 'y'},
|
{"refresh", no_argument, 0, 'y'},
|
||||||
{"dbonly", no_argument, 0, 'k'},
|
|
||||||
{"cascade", no_argument, 0, 'c'},
|
|
||||||
{"recursive", no_argument, 0, 's'},
|
|
||||||
{"groups", no_argument, 0, 'g'},
|
|
||||||
{"noconfirm", no_argument, 0, 1000},
|
{"noconfirm", no_argument, 0, 1000},
|
||||||
{"config", required_argument, 0, 1001},
|
{"config", required_argument, 0, 1001},
|
||||||
|
{"ignore", required_argument, 0, 1002},
|
||||||
{0, 0, 0, 0}
|
{0, 0, 0, 0}
|
||||||
};
|
};
|
||||||
char root[256];
|
char root[256];
|
||||||
|
@ -380,35 +383,48 @@ int parseargs(int argc, char **argv)
|
||||||
switch(opt) {
|
switch(opt) {
|
||||||
case 0: break;
|
case 0: break;
|
||||||
case 1000: pmo_noconfirm = 1; break;
|
case 1000: pmo_noconfirm = 1; break;
|
||||||
case 1001: pmo_configfile = strndup(optarg, PATH_MAX); break;
|
case 1001:
|
||||||
|
if(pmo_configfile) {
|
||||||
|
free(pmo_configfile);
|
||||||
|
}
|
||||||
|
pmo_configfile = strndup(optarg, PATH_MAX); break;
|
||||||
|
case 1002: pmo_s_ignore = list_add(pmo_s_ignore, strdup(optarg)); break;
|
||||||
case 'A': pmo_op = (pmo_op != PM_OP_MAIN ? 0 : PM_OP_ADD); break;
|
case 'A': pmo_op = (pmo_op != PM_OP_MAIN ? 0 : PM_OP_ADD); break;
|
||||||
case 'R': pmo_op = (pmo_op != PM_OP_MAIN ? 0 : PM_OP_REMOVE); break;
|
case 'D': pmo_op = (pmo_op != PM_OP_MAIN ? 0 : PM_OP_DEPTEST); pmo_d_resolve = 1; break;
|
||||||
case 'U': pmo_op = (pmo_op != PM_OP_MAIN ? 0 : PM_OP_UPGRADE); break;
|
|
||||||
case 'F': pmo_op = (pmo_op != PM_OP_MAIN ? 0 : PM_OP_UPGRADE); pmo_flags |= PM_TRANS_FLAG_FRESHEN; break;
|
case 'F': pmo_op = (pmo_op != PM_OP_MAIN ? 0 : PM_OP_UPGRADE); pmo_flags |= PM_TRANS_FLAG_FRESHEN; break;
|
||||||
case 'Q': pmo_op = (pmo_op != PM_OP_MAIN ? 0 : PM_OP_QUERY); break;
|
case 'Q': pmo_op = (pmo_op != PM_OP_MAIN ? 0 : PM_OP_QUERY); break;
|
||||||
|
case 'R': pmo_op = (pmo_op != PM_OP_MAIN ? 0 : PM_OP_REMOVE); break;
|
||||||
case 'S': pmo_op = (pmo_op != PM_OP_MAIN ? 0 : PM_OP_SYNC); break;
|
case 'S': pmo_op = (pmo_op != PM_OP_MAIN ? 0 : PM_OP_SYNC); break;
|
||||||
case 'T': pmo_op = (pmo_op != PM_OP_MAIN ? 0 : PM_OP_DEPTEST); break;
|
case 'T': pmo_op = (pmo_op != PM_OP_MAIN ? 0 : PM_OP_DEPTEST); break;
|
||||||
case 'Y': pmo_op = (pmo_op != PM_OP_MAIN ? 0 : PM_OP_DEPTEST); pmo_d_vertest = 1; break;
|
case 'U': pmo_op = (pmo_op != PM_OP_MAIN ? 0 : PM_OP_UPGRADE); break;
|
||||||
case 'D': pmo_op = (pmo_op != PM_OP_MAIN ? 0 : PM_OP_DEPTEST); pmo_d_resolve = 1; break;
|
|
||||||
case 'h': pmo_help = 1; break;
|
|
||||||
case 'V': pmo_version = 1; break;
|
case 'V': pmo_version = 1; break;
|
||||||
case 'b': pmo_dbpath = strdup(optarg); break;
|
case 'Y': pmo_op = (pmo_op != PM_OP_MAIN ? 0 : PM_OP_DEPTEST); pmo_d_vertest = 1; break;
|
||||||
|
case 'b':
|
||||||
|
if(pmo_dbpath) {
|
||||||
|
free(pmo_dbpath);
|
||||||
|
}
|
||||||
|
pmo_dbpath = strdup(optarg);
|
||||||
|
break;
|
||||||
case 'c': pmo_s_clean++; pmo_flags |= PM_TRANS_FLAG_CASCADE; break;
|
case 'c': pmo_s_clean++; pmo_flags |= PM_TRANS_FLAG_CASCADE; break;
|
||||||
case 'd': pmo_flags |= PM_TRANS_FLAG_NODEPS; break;
|
case 'd': pmo_flags |= PM_TRANS_FLAG_NODEPS; break;
|
||||||
case 'e': pmo_q_orphans = 1; break;
|
case 'e': pmo_q_orphans = 1; break;
|
||||||
case 'f': pmo_flags |= PM_TRANS_FLAG_FORCE; break;
|
case 'f': pmo_flags |= PM_TRANS_FLAG_FORCE; break;
|
||||||
case 'g': pmo_group = 1; break;
|
case 'g': pmo_group = 1; break;
|
||||||
case 'i': pmo_q_info++; break;
|
case 'h': pmo_help = 1; break;
|
||||||
|
case 'i': pmo_q_info++; pmo_s_info++; break;
|
||||||
case 'k': pmo_flags |= PM_TRANS_FLAG_DBONLY; break;
|
case 'k': pmo_flags |= PM_TRANS_FLAG_DBONLY; break;
|
||||||
case 'l': pmo_q_list = 1; break;
|
case 'l': pmo_q_list = 1; break;
|
||||||
case 'n': pmo_flags |= PM_TRANS_FLAG_NOSAVE; break;
|
case 'n': pmo_flags |= PM_TRANS_FLAG_NOSAVE; break;
|
||||||
case 'p': pmo_q_isfile = 1; break;
|
|
||||||
case 'o': pmo_q_owns = 1; break;
|
case 'o': pmo_q_owns = 1; break;
|
||||||
|
case 'p': pmo_q_isfile = 1; break;
|
||||||
case 'r':
|
case 'r':
|
||||||
if(realpath(optarg, root) == NULL) {
|
if(realpath(optarg, root) == NULL) {
|
||||||
perror("bad root path");
|
perror("bad root path");
|
||||||
return(1);
|
return(1);
|
||||||
}
|
}
|
||||||
|
if(pmo_root) {
|
||||||
|
free(pmo_root);
|
||||||
|
}
|
||||||
pmo_root = strdup(root);
|
pmo_root = strdup(root);
|
||||||
break;
|
break;
|
||||||
case 's': pmo_s_search = 1; pmo_q_search = 1; pmo_flags |= PM_TRANS_FLAG_RECURSE; break;
|
case 's': pmo_s_search = 1; pmo_q_search = 1; pmo_flags |= PM_TRANS_FLAG_RECURSE; break;
|
||||||
|
|
|
@ -40,14 +40,14 @@
|
||||||
|
|
||||||
extern unsigned short pmo_noconfirm;
|
extern unsigned short pmo_noconfirm;
|
||||||
extern unsigned short pmo_d_resolve;
|
extern unsigned short pmo_d_resolve;
|
||||||
extern unsigned short pmo_q_info;
|
|
||||||
extern unsigned short pmo_q_list;
|
extern unsigned short pmo_q_list;
|
||||||
extern unsigned short pmo_s_upgrade;
|
|
||||||
extern unsigned short pmo_s_downloadonly;
|
|
||||||
extern unsigned short pmo_s_printuris;
|
|
||||||
extern unsigned short pmo_s_sync;
|
|
||||||
extern unsigned short pmo_s_search;
|
|
||||||
extern unsigned short pmo_s_clean;
|
extern unsigned short pmo_s_clean;
|
||||||
|
extern unsigned short pmo_s_downloadonly;
|
||||||
|
extern unsigned short pmo_s_info;
|
||||||
|
extern unsigned short pmo_s_printuris;
|
||||||
|
extern unsigned short pmo_s_search;
|
||||||
|
extern unsigned short pmo_s_sync;
|
||||||
|
extern unsigned short pmo_s_upgrade;
|
||||||
extern unsigned short pmo_group;
|
extern unsigned short pmo_group;
|
||||||
extern unsigned char pmo_flags;
|
extern unsigned char pmo_flags;
|
||||||
|
|
||||||
|
@ -411,7 +411,7 @@ int pacman_sync(list_t *targets)
|
||||||
return(sync_group(pmc_syncs, targets));
|
return(sync_group(pmc_syncs, targets));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(pmo_q_info) {
|
if(pmo_s_info) {
|
||||||
return(sync_info(pmc_syncs, targets));
|
return(sync_info(pmc_syncs, targets));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue