]> git.pld-linux.org Git - packages/deltarpm.git/blame - deltarpm-3.4-multilib-include-colored.patch
- release 6
[packages/deltarpm.git] / deltarpm-3.4-multilib-include-colored.patch
CommitLineData
1bcd303b
JS
1diff -ur deltarpm-3.4/makedeltarpm.c deltarpm/makedeltarpm.c
2--- deltarpm-3.4/makedeltarpm.c 2007-03-06 08:35:55.000000000 -0500
3+++ deltarpm/makedeltarpm.c 2007-05-30 11:43:19.000000000 -0400
4@@ -413,6 +413,21 @@
5 }
6 }
7
8+static int
9+in_multilib_dir(char *fn)
10+{
11+ char *dirs[] = { "lib/", "lib64/", "lib32/", NULL };
12+ int i;
13+
14+ for (i=0; dirs[i] != NULL; i++)
15+ {
16+ if (strstr(fn, dirs[i]) != NULL)
17+ return 1;
18+ }
19+
20+ return 0;
21+}
22+
23 int
24 main(int argc, char **argv)
25 {
26@@ -422,7 +437,7 @@
27 char *nevr;
28 int filecnt;
29 char **filenames, **filemd5s, **filelinktos;
30- unsigned int *fileflags, *filemodes, *filerdevs, *filesizes, *fileverify;
31+ unsigned int *fileflags, *filemodes, *filerdevs, *filesizes, *fileverify, *filecolors;
32 int i, fd, l, l2, l3;
33 struct cfile *bfd;
34 struct cpiophys cph;
35@@ -439,6 +454,7 @@
36 int skipped_badsize = 0;
37 int skipped_fileflags = 0;
38 int skipped_verifyflags = 0;
39+ int skipped_multilib = 0;
40 int skipped_all = 0;
41 int pinfo = 0;
42 struct rpmlfile *files1 = 0;
43@@ -735,6 +751,7 @@
44 filemodes = headint16(h, TAG_FILEMODES, (int *)0);
45 fileverify = headint32(h, TAG_FILEVERIFY, (int *)0);
46 filelinktos = headstringarray(h, TAG_FILELINKTOS, (int *)0);
47+ filecolors = headint32(h, TAG_FILECOLORS, (int *)0);
48
49 if (alone)
50 {
51@@ -893,6 +910,12 @@
52 fprintf(vfp, "skipping %s: bad verify flags %x\n", np, fileverify[i]);
53 skipped_verifyflags++;
54 }
55+ else if (filecolors && (filecolors[i] & (RPMFC_ELF32 | RPMFC_ELF64)) != 0 && !in_multilib_dir(np))
56+ {
57+ if (verbose > 1)
58+ fprintf(vfp, "skipping %s: colored file in non-multilib dir\n", np);
59+ skipped_multilib++;
60+ }
61 else
62 {
63 if (verbose > 1)
64@@ -1049,6 +1072,8 @@
65 fprintf(vfp, " file flags: %4d/%d = %.1f%%\n", skipped_fileflags, skipped_all, skipped_fileflags * 100. / skipped_all);
66 if (skipped_verifyflags)
67 fprintf(vfp, " verify flags: %4d/%d = %.1f%%\n", skipped_verifyflags, skipped_all, skipped_verifyflags * 100. / skipped_all);
68+ if (skipped_multilib)
69+ fprintf(vfp, " colored-not-in-multidir: %4d/%d = %.1f%%\n", skipped_multilib, skipped_all, skipped_multilib * 100. / skipped_all);
70 }
71 addtoseq(-1);
72 if (verbose > 1)
73@@ -1073,6 +1098,7 @@
74 fileverify = xfree(fileverify);
75 filelinktos = xfree(filelinktos);
76 filenames = xfree(filenames);
77+ filecolors = xfree(filecolors);
78 if (!alone)
79 h = xfree(h);
80
81diff -ur deltarpm-3.4/Makefile deltarpm/Makefile
82--- deltarpm-3.4/Makefile 2007-03-06 08:35:55.000000000 -0500
83+++ deltarpm/Makefile 2007-05-30 11:14:31.000000000 -0400
84@@ -3,7 +3,7 @@
85 mandir=$(prefix)/man
86 rpmdumpheader=$(bindir)/rpmdumpheader
87 zlibdir=zlib-1.2.2.f-rsyncable
88-CFLAGS = -O2 -Wall
89+CFLAGS = -O2 -Wall -g
90 CPPFLAGS = -DDELTARPM_64BIT -DBSDIFF_NO_SUF -DRPMDUMPHEADER=\"$(rpmdumpheader)\" -I$(zlibdir)
91 LDLIBS = -lbz2 $(zlibdir)/libz.a
92 LDFLAGS =
93diff -ur deltarpm-3.4/rpmhead.h deltarpm/rpmhead.h
94--- deltarpm-3.4/rpmhead.h 2007-03-06 08:35:55.000000000 -0500
95+++ deltarpm/rpmhead.h 2007-05-30 11:14:31.000000000 -0400
96@@ -27,6 +27,7 @@
97 #define TAG_DIRNAMES 1118
98 #define TAG_PAYLOADFORMAT 1124
99 #define TAG_PAYLOADCOMPRESSOR 1125
100+#define TAG_FILECOLORS 1140
101
102 #define SIGTAG_SIZE 1000
103 #define SIGTAG_MD5 1004
104@@ -42,6 +43,9 @@
105 #define VERIFY_MD5 (1 << 0)
106 #define VERIFY_FILESIZE (1 << 1)
107
108+#define RPMFC_ELF32 (1 << 0)
109+#define RPMFC_ELF64 (1 << 1)
110+
111 #define devmajor(rdev) (((rdev) >> 8) & 0xfff)
112 #define devminor(rdev) (((rdev) & 0xff) | (((rdev) >> 12) & 0xfff00))
113
This page took 1.170908 seconds and 4 git commands to generate.