int apt_update() { newcmd("apt-get"); if (! CFG_REFRESH_INDEXES_ALL) return 0; generate_index1(); free(pkgs); printf("Reading package database [1]...\n"); read_index1(CFG_PKG_LIST, CFG_PKG_COUNT); }
int conthread(void *arg) { for (;;) { c = keyboard_getchar(); if (c == '\n') { monitor_put(c); int ret; ret = return_fn(cmd); memset(&cmd[0], 0, sizeof(cmd)); newcmd(); } else { append(cmd, c); monitor_put(c); } } return 6; }
int apt_showpkg() { newcmd("apt-cache"); }
int apt_add() { newcmd("apt-cache"); }
Cmd * parsecmd(int nest) { int i, c; Cmdtab *ct; Cmd *cp, *ncp; Cmd cmd; cmd.next = cmd.ccmd = 0; cmd.re = 0; cmd.flag = cmd.num = 0; cmd.addr = compoundaddr(); if(skipbl() == -1) return 0; if((c=getch())==-1) return 0; cmd.cmdc = c; if(cmd.cmdc=='c' && nextc()=='d'){ /* sleazy two-character case */ getch(); /* the 'd' */ cmd.cmdc='c'|0x100; } i = lookup(cmd.cmdc); if(i >= 0){ if(cmd.cmdc == '\n') goto Return; /* let nl_cmd work it all out */ ct = &cmdtab[i]; if(ct->defaddr==aNo && cmd.addr) error(Enoaddr); if(ct->count) cmd.num = getnum(ct->count); if(ct->regexp){ /* x without pattern -> .*\n, indicated by cmd.re==0 */ /* X without pattern is all files */ if((ct->cmdc!='x' && ct->cmdc!='X') || ((c = nextc())!=' ' && c!='\t' && c!='\n')){ skipbl(); if((c = getch())=='\n' || c<0) error(Enopattern); okdelim(c); cmd.re = getregexp(c); if(ct->cmdc == 's'){ cmd.ctext = newstring(); getrhs(cmd.ctext, c, 's'); if(nextc() == c){ getch(); if(nextc() == 'g') cmd.flag = getch(); } } } } if(ct->addr && (cmd.caddr=simpleaddr())==0) error(Eaddress); if(ct->defcmd){ if(skipbl() == '\n'){ getch(); cmd.ccmd = newcmd(); cmd.ccmd->cmdc = ct->defcmd; }else if((cmd.ccmd = parsecmd(nest))==0) panic("defcmd"); }else if(ct->text) cmd.ctext = collecttext(); else if(ct->token) cmd.ctext = collecttoken(ct->token); else atnl(); }else switch(cmd.cmdc){ case '{': cp = 0; do{ if(skipbl()=='\n') getch(); ncp = parsecmd(nest+1); if(cp) cp->next = ncp; else cmd.ccmd = ncp; }while(cp = ncp); break; case '}': atnl(); if(nest==0) error(Enolbrace); return 0; default: error_c(Eunk, cmd.cmdc); } Return: cp = newcmd(); *cp = cmd; return cp; }
int apt_policy() { newcmd("apt-cache"); }
int apt_pkgnames() { newcmd("apt-cache"); }
int apt_search() { newcmd("apt-cache"); }
int apt_dumpavail() { newcmd("apt-cache"); }
int apt_source() { newcmd("apt-get"); check_a(); }
int apt_remove() { newcmd("apt-get"); check_a(); }
int apt_dist_upgrade() { newcmd("apt-get"); check_a(); }
int apt_install() { newcmd("apt-get"); check_a(); }
int apt_dpkg() { newcmd(""); }
int apt_stats() { newcmd("apt-cache"); }
int apt_showsrc() { newcmd("apt-cache"); }
int apt_build_dep() { newcmd("apt-get"); check_a(); }
int apt_unmet() { newcmd("apt-cache"); }
int apt_check() { newcmd("apt-get"); }
int apt_redepends() { newcmd("apt-cache"); }
int apt_clean() { newcmd("apt-get"); check_a(); }
int apt_dotty() { newcmd("apt-cache"); }
int apt_autoclean() { newcmd("apt-get"); }
int apt_madison() { newcmd("apt-cache"); }
int apt_dump() { newcmd("apt-cache"); }