*/
void usage(void) {
- fprintf(stderr, "usage: db hash file\n");
+ fprintf(stderr, "usage: zpm script ...\n");
}
int setdir(char *rootdir) {
#define SOFT 1
#define HARD 2
+static int list_scripts(void *ud, const char *pkg, const char *stage,
+ const char *hash) {
+ printf("%s %s %.8s\n", pkg, stage, hash);
+ return 0;
+}
+
int main(int ac, char **av){
struct zpm zpm;
int rv;
char *pkgid;
char *rootdir = 0;
- char *db = "/var/lib/zpm/zpm.db";
+ char *db = "/var/lib/zpm/local.db";
char *script = "/var/tmp/zpm-script";
char *output = "/var/tmp/zpm-script.out";
char *phase = 0;
case 'h': scriptishash = 1; break;
case 'o': output = optarg; break;
case 'S': script = optarg; break;
- case 'q': quiet = 1;
+ case 'q': quiet = 1; break;
default:
usage();
fail = HARD;
}
} else if (mode == LIST) {
- if (!zpm_script_hash(&zpm, pkgid, phase, hash)) {
+ if (!phase) {
+ zpm_foreach_script(&zpm, pkgid, phase, 0, list_scripts);
+ } else if (!zpm_script_hash(&zpm, pkgid, phase, hash)) {
fail = SOFT;
} else if (scriptishash) {
- printf("%s\n", hash);
+ if (!quiet) {
+ printf("%s\n", hash);
+ }
} else {
if (!output) {
output = "-";