]>
Commit | Line | Data |
---|---|---|
1bcd303b JS |
1 | --- ./applydeltarpm.c.orig 2007-03-20 16:17:29.291156000 +0000 |
2 | +++ ./applydeltarpm.c 2007-04-23 15:37:12.959694000 +0000 | |
3 | @@ -1115,8 +1115,9 @@ main(int argc, char **argv) | |
4 | int seqmatches = 1; | |
5 | FILE *vfp; | |
6 | struct deltarpm d; | |
7 | + char *arch = 0; | |
8 | ||
9 | - while ((c = getopt(argc, argv, "cCisvpr:")) != -1) | |
10 | + while ((c = getopt(argc, argv, "cCisvpr:a:")) != -1) | |
11 | { | |
12 | switch(c) | |
13 | { | |
14 | @@ -1144,6 +1145,9 @@ main(int argc, char **argv) | |
15 | checkflags = SEQCHECK_SIZE; | |
16 | check = 1; | |
17 | break; | |
18 | + case 'a': | |
19 | + arch = optarg; | |
20 | + break; | |
21 | default: | |
22 | fprintf(stderr, "usage: applydeltarpm [-r <rpm>] deltarpm rpm\n"); | |
23 | exit(1); | |
24 | @@ -1328,7 +1332,10 @@ main(int argc, char **argv) | |
25 | dup2(pi[1], 1); | |
26 | close(pi[1]); | |
27 | } | |
28 | - execlp(RPMDUMPHEADER, RPMDUMPHEADER, d.nevr, (char *)0); | |
29 | + if (arch) | |
30 | + execlp(RPMDUMPHEADER, RPMDUMPHEADER, "-a", arch, d.nevr, (char *)0); | |
31 | + else | |
32 | + execlp(RPMDUMPHEADER, RPMDUMPHEADER, d.nevr, (char *)0); | |
33 | perror(RPMDUMPHEADER); | |
34 | _exit(1); | |
35 | } | |
36 | --- ./rpmdumpheader.c.orig 2007-03-02 13:53:59.600823000 +0000 | |
37 | +++ ./rpmdumpheader.c 2007-04-23 15:40:34.057415000 +0000 | |
38 | @@ -23,7 +23,14 @@ int main(int argc, char **argv) | |
39 | char *e; | |
40 | char *v; | |
41 | char *r; | |
42 | + char *a = NULL; | |
43 | ||
44 | + if (argc > 2 && !strcmp(argv[1], "-a")) | |
45 | + { | |
46 | + a = argv[2]; | |
47 | + argc -= 2; | |
48 | + argv += 2; | |
49 | + } | |
50 | if (argc != 2) | |
51 | { | |
52 | fprintf(stderr, "usage: rpmdumpheader package\n"); | |
53 | @@ -62,6 +69,9 @@ int main(int argc, char **argv) | |
54 | rpmdbSetIteratorRE(mi, RPMTAG_EPOCH, RPMMIRE_STRCMP, e); | |
55 | rpmdbSetIteratorRE(mi, RPMTAG_VERSION, RPMMIRE_STRCMP, v); | |
56 | rpmdbSetIteratorRE(mi, RPMTAG_RELEASE, RPMMIRE_STRCMP, r); | |
57 | + if (a) | |
58 | + rpmdbSetIteratorRE(mi, RPMTAG_ARCH, RPMMIRE_STRCMP, a); | |
59 | + | |
60 | if ((h = rpmdbNextIterator(mi)) != NULL) | |
61 | { | |
62 | fdo = Fopen("-", "w.ufdio"); | |
63 | @@ -70,9 +80,9 @@ int main(int argc, char **argv) | |
64 | else | |
65 | { | |
66 | if (e) | |
67 | - fprintf(stderr, "%s-%s:%s-%s is not installed\n", n, e, v, r); | |
68 | + fprintf(stderr, "%s-%s:%s-%s%s%s is not installed\n", n, e, v, r, a ? "." : "", a ? a : ""); | |
69 | else | |
70 | - fprintf(stderr, "%s-%s-%s is not installed\n", n, v, r); | |
71 | + fprintf(stderr, "%s-%s-%s%s%s is not installed\n", n, v, r, a ? "." : "", a ? a : ""); | |
72 | ret = 1; | |
73 | } | |
74 | mi = rpmdbFreeIterator(mi); |