1 #define _POSIX_C_SOURCE 200809L
12 fprintf(stderr, "zpm-note [-I] [-s <status> ...] [-S <status>] [package]\n");
15 int main(int ac, char **av){
23 struct zpm_note n = { 0 };
28 dbfile = getenv("ZPMDB");
30 dbfile = "/var/lib/zpm/local.db";
40 * -m note message, otherwise EDITOR/vi to edit a text file
41 * zpm note -p pkgid -P path -H hash -m 'foo'
46 int list = 0, delete = 0, ack = 0;
47 while ((opt = getopt(ac, av, "f:p:P:H:m:n:lDAa")) != -1) {
49 case 'f': dbfile = optarg; break;
50 case 'p': n.pkgid = optarg; break;
51 case 'P': n.path = optarg; break;
52 case 'H': n.hash = optarg; break;
53 case 'm': n.note = optarg; break;
54 case 'n': n.id = strtoll(optarg, NULL, 10); break;
55 case 'l': list = 1; break;
56 case 'D': delete = 1; break;
57 case 'A': ack = 1; break;
58 case 'a': select = 3; break;
68 fprintf(stderr, "must specify db\n");
72 /* given a package name, get the packages */
73 /* no package name, get all */
75 if (zpm_open(&pkg, dbfile)) {
77 while (zpm_note(&pkg, &n, select)) {
78 printf("%" PRId64 " %s %s\n", n.id,
79 n.pkgid ? n.pkgid : "-",
84 n.id = zpm_note_add(&pkg, n.pkgid, n.path, n.hash, "%s", n.note);
86 printf("%" PRId64 "\n", n.id);
88 fprintf(stderr, "unable to create note\n");
92 zpm_note_del(&pkg, n.id);
94 zpm_note_ack(&pkg, n.id);
97 fprintf(stderr, "unable to open %s\n", dbfile);
101 return fail ? EXIT_FAILURE : EXIT_SUCCESS;