@@ -2,3 +2,4 @@ rpm-4.8.1.tar.bz2
|
|
2
2
|
/rpm-4.9.0-beta1.tar.bz2
|
3
3
|
/rpm-4.9.0-rc1.tar.bz2
|
4
4
|
/rpm-4.9.0.tar.bz2
|
5
|
+
/rpm-4.9.1.tar.bz2
|
@@ -1,130 +0,0 @@
|
|
1
|
-
--- rpm-4.9.0/tools/debugedit.c 2010-12-03 13:11:57.000000000 +0100
|
2
|
-
+++ rpm-4.9.0/tools/debugedit.c.jj 2011-05-25 18:49:53.151936963 +0200
|
3
|
-
@@ -1,4 +1,4 @@
|
4
|
-
-/* Copyright (C) 2001, 2002, 2003, 2005, 2007, 2009, 2010 Red Hat, Inc.
|
5
|
-
+/* Copyright (C) 2001, 2002, 2003, 2005, 2007, 2009, 2010, 2011 Red Hat, Inc.
|
6
|
-
Written by Alexander Larsson <alexl@redhat.com>, 2002
|
7
|
-
Based on code by Jakub Jelinek <jakub@redhat.com>, 2001.
|
8
|
-
|
9
|
-
@@ -44,6 +44,10 @@
|
10
|
-
#include "tools/hashtab.h"
|
11
|
-
|
12
|
-
#define DW_TAG_partial_unit 0x3c
|
13
|
-
+#define DW_FORM_sec_offset 0x17
|
14
|
-
+#define DW_FORM_exprloc 0x18
|
15
|
-
+#define DW_FORM_flag_present 0x19
|
16
|
-
+#define DW_FORM_ref_sig8 0x20
|
17
|
-
|
18
|
-
char *base_dir = NULL;
|
19
|
-
char *dest_dir = NULL;
|
20
|
-
@@ -220,6 +224,7 @@ static struct
|
21
|
-
#define DEBUG_STR 8
|
22
|
-
#define DEBUG_FRAME 9
|
23
|
-
#define DEBUG_RANGES 10
|
24
|
-
+#define DEBUG_TYPES 11
|
25
|
-
{ ".debug_info", NULL, NULL, 0, 0, 0 },
|
26
|
-
{ ".debug_abbrev", NULL, NULL, 0, 0, 0 },
|
27
|
-
{ ".debug_line", NULL, NULL, 0, 0, 0 },
|
28
|
-
@@ -231,6 +236,7 @@ static struct
|
29
|
-
{ ".debug_str", NULL, NULL, 0, 0, 0 },
|
30
|
-
{ ".debug_frame", NULL, NULL, 0, 0, 0 },
|
31
|
-
{ ".debug_ranges", NULL, NULL, 0, 0, 0 },
|
32
|
-
+ { ".debug_types", NULL, NULL, 0, 0, 0 },
|
33
|
-
{ NULL, NULL, NULL, 0, 0, 0 }
|
34
|
-
};
|
35
|
-
|
36
|
-
@@ -323,7 +329,8 @@ no_memory:
|
37
|
-
goto no_memory;
|
38
|
-
}
|
39
|
-
form = read_uleb128 (ptr);
|
40
|
-
- if (form == 2 || form > DW_FORM_indirect)
|
41
|
-
+ if (form == 2
|
42
|
-
+ || (form > DW_FORM_flag_present && form != DW_FORM_ref_sig8))
|
43
|
-
{
|
44
|
-
error (0, 0, "%s: Unknown DWARF DW_FORM_%d", dso->filename, form);
|
45
|
-
htab_delete (h);
|
46
|
-
@@ -352,7 +359,6 @@ static char *
|
47
|
-
canonicalize_path (const char *s, char *d)
|
48
|
-
{
|
49
|
-
char *rv = d;
|
50
|
-
- const char *sroot;
|
51
|
-
char *droot;
|
52
|
-
|
53
|
-
if (IS_DIR_SEPARATOR (*s))
|
54
|
-
@@ -368,7 +374,6 @@ canonicalize_path (const char *s, char *
|
55
|
-
s++;
|
56
|
-
}
|
57
|
-
droot = d;
|
58
|
-
- sroot = s;
|
59
|
-
|
60
|
-
while (*s)
|
61
|
-
{
|
62
|
-
@@ -495,7 +500,7 @@ edit_dwarf2_line (DSO *dso, uint32_t off
|
63
|
-
}
|
64
|
-
|
65
|
-
value = read_16 (ptr);
|
66
|
-
- if (value != 2 && value != 3)
|
67
|
-
+ if (value != 2 && value != 3 && value != 4)
|
68
|
-
{
|
69
|
-
error (0, 0, "%s: DWARF version %d unhandled", dso->filename,
|
70
|
-
value);
|
71
|
-
@@ -511,8 +516,8 @@ edit_dwarf2_line (DSO *dso, uint32_t off
|
72
|
-
return 1;
|
73
|
-
}
|
74
|
-
|
75
|
-
- opcode_base = ptr[4];
|
76
|
-
- ptr = dir = ptr + 4 + opcode_base;
|
77
|
-
+ opcode_base = ptr[4 + (value >= 4)];
|
78
|
-
+ ptr = dir = ptr + 4 + (value >= 4) + opcode_base;
|
79
|
-
|
80
|
-
/* dir table: */
|
81
|
-
value = 1;
|
82
|
-
@@ -739,7 +744,8 @@ edit_attributes (DSO *dso, unsigned char
|
83
|
-
{
|
84
|
-
if (t->attr[i].attr == DW_AT_stmt_list)
|
85
|
-
{
|
86
|
-
- if (form == DW_FORM_data4)
|
87
|
-
+ if (form == DW_FORM_data4
|
88
|
-
+ || form == DW_FORM_sec_offset)
|
89
|
-
{
|
90
|
-
list_offs = do_read_32_relocated (ptr);
|
91
|
-
found_list_offs = 1;
|
92
|
-
@@ -841,6 +847,8 @@ edit_attributes (DSO *dso, unsigned char
|
93
|
-
else
|
94
|
-
ptr += 4;
|
95
|
-
break;
|
96
|
-
+ case DW_FORM_flag_present:
|
97
|
-
+ break;
|
98
|
-
case DW_FORM_addr:
|
99
|
-
ptr += ptr_size;
|
100
|
-
break;
|
101
|
-
@@ -855,10 +863,12 @@ edit_attributes (DSO *dso, unsigned char
|
102
|
-
break;
|
103
|
-
case DW_FORM_ref4:
|
104
|
-
case DW_FORM_data4:
|
105
|
-
+ case DW_FORM_sec_offset:
|
106
|
-
ptr += 4;
|
107
|
-
break;
|
108
|
-
case DW_FORM_ref8:
|
109
|
-
case DW_FORM_data8:
|
110
|
-
+ case DW_FORM_ref_sig8:
|
111
|
-
ptr += 8;
|
112
|
-
break;
|
113
|
-
case DW_FORM_sdata:
|
114
|
-
@@ -887,6 +897,7 @@ edit_attributes (DSO *dso, unsigned char
|
115
|
-
form = DW_FORM_block1;
|
116
|
-
break;
|
117
|
-
case DW_FORM_block:
|
118
|
-
+ case DW_FORM_exprloc:
|
119
|
-
len = read_uleb128 (ptr);
|
120
|
-
form = DW_FORM_block1;
|
121
|
-
assert (len < UINT_MAX);
|
122
|
-
@@ -1190,7 +1201,7 @@ edit_dwarf2 (DSO *dso)
|
123
|
-
}
|
124
|
-
|
125
|
-
cu_version = read_16 (ptr);
|
126
|
-
- if (cu_version != 2 && cu_version != 3)
|
127
|
-
+ if (cu_version != 2 && cu_version != 3 && cu_version != 4)
|
128
|
-
{
|
129
|
-
error (0, 0, "%s: DWARF version %d unhandled", dso->filename,
|
130
|
-
cu_version);
|
@@ -1,21 +0,0 @@
|
|
1
|
-
commit 78a6cf6fbf047c5bf0066df21792e4c9925d04a0
|
2
|
-
Author: Michael Schroeder <mls@suse.de>
|
3
|
-
Date: Tue May 24 08:51:56 2011 +0300
|
4
|
-
|
5
|
-
Do not die on empty changelog section
|
6
|
-
|
7
|
-
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
|
8
|
-
|
9
|
-
diff --git a/build/parseChangelog.c b/build/parseChangelog.c
|
10
|
-
index 36a19c3..d4681cb 100644
|
11
|
-
--- a/build/parseChangelog.c
|
12
|
-
+++ b/build/parseChangelog.c
|
13
|
-
@@ -233,7 +233,7 @@ int parseChangelog(rpmSpec spec)
|
14
|
-
}
|
15
|
-
}
|
16
|
-
|
17
|
-
- if (addChangelog(spec->packages->header, sb)) {
|
18
|
-
+ if (sb && addChangelog(spec->packages->header, sb)) {
|
19
|
-
goto exit;
|
20
|
-
}
|
21
|
-
res = nextPart;
|
@@ -1,21 +0,0 @@
|
|
1
|
-
commit 39800e901e2258685d1fc34e1e9a7b8a058e11ce
|
2
|
-
Author: Michael Schroeder <mls@suse.de>
|
3
|
-
Date: Mon May 16 11:57:44 2011 +0300
|
4
|
-
|
5
|
-
Fix segfault on build with empty %prep section
|
6
|
-
|
7
|
-
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
|
8
|
-
|
9
|
-
diff --git a/build/parsePrep.c b/build/parsePrep.c
|
10
|
-
index c0508ec..9e61dde 100644
|
11
|
-
--- a/build/parsePrep.c
|
12
|
-
+++ b/build/parsePrep.c
|
13
|
-
@@ -504,7 +504,7 @@ int parsePrep(rpmSpec spec)
|
14
|
-
}
|
15
|
-
}
|
16
|
-
|
17
|
-
- for (ARGV_const_t lines = saveLines; *lines; lines++) {
|
18
|
-
+ for (ARGV_const_t lines = saveLines; lines && *lines; lines++) {
|
19
|
-
res = 0;
|
20
|
-
if (rstreqn(*lines, "%setup", sizeof("%setup")-1)) {
|
21
|
-
res = doSetupMacro(spec, *lines);
|
@@ -1,39 +0,0 @@
|
|
1
|
-
commit db4905f51eb80b55c408e3a659bab6b4ec5d9e3b
|
2
|
-
Author: Panu Matilainen <pmatilai@redhat.com>
|
3
|
-
Date: Fri Jun 10 12:08:45 2011 +0300
|
4
|
-
|
5
|
-
Adjust script detection rules to work with file >= 5.07 too (RhBug:712251)
|
6
|
-
- Somewhere between file 5.05 and 5.07 it started adding encoding
|
7
|
-
to script descriptions, eg "<mumble> script text executable" became
|
8
|
-
"<mumble> script, <encoding> text executable" breaking what had
|
9
|
-
been working for 10+ years in the case of old find-requires.
|
10
|
-
- Permit either comma or space after "script", this works for both
|
11
|
-
old and new file.
|
12
|
-
|
13
|
-
diff --git a/autodeps/linux.req b/autodeps/linux.req
|
14
|
-
index cf60bd9..b9a8f99 100644
|
15
|
-
--- a/autodeps/linux.req
|
16
|
-
+++ b/autodeps/linux.req
|
17
|
-
@@ -20,10 +20,11 @@ fi
|
18
|
-
# --- Grab the file manifest and classify files.
|
19
|
-
#filelist=`sed "s/['\"]/\\\&/g"`
|
20
|
-
filelist=`sed "s/[]['\"*?{}]/\\\\\&/g"`
|
21
|
-
-exelist=`echo $filelist | xargs -r file | grep -Ev ":.* (commands|script) " | \
|
22
|
-
+exelist=`echo $filelist | xargs -r file | \
|
23
|
-
+ grep -Ev ":.* (commands|script)[, ]" | \
|
24
|
-
grep ":.*executable" | cut -d: -f1`
|
25
|
-
scriptlist=`echo $filelist | xargs -r file | \
|
26
|
-
- grep -E ":.* (commands|script) " | cut -d: -f1`
|
27
|
-
+ grep -E ":.* (commands|script)[, ]" | cut -d: -f1`
|
28
|
-
liblist=`echo $filelist | xargs -r file | \
|
29
|
-
grep ":.*shared object" | cut -d : -f1`
|
30
|
-
|
31
|
-
diff --git a/fileattrs/script.attr b/fileattrs/script.attr
|
32
|
-
index 13b8ba0..79f4d73 100644
|
33
|
-
--- a/fileattrs/script.attr
|
34
|
-
+++ b/fileattrs/script.attr
|
35
|
-
|
36
|
-
%__script_requires %{_rpmconfigdir}/script.req
|
37
|
-
-%__script_magic ^.* script text.*$
|
38
|
-
+%__script_magic ^.* script[, ].*$
|
39
|
-
%__script_flags exeonly
|
@@ -1,51 +0,0 @@
|
|
1
|
-
commit 566a15c9c08aa593d05e2f55f1c171a48bc1b1bc
|
2
|
-
Author: Panu Matilainen <pmatilai@redhat.com>
|
3
|
-
Date: Wed Mar 9 09:39:32 2011 +0200
|
4
|
-
|
5
|
-
Take file state into account for file dependencies
|
6
|
-
- Files which are not installed, have been replaced or are of wrong
|
7
|
-
color can not actually satisfy a dependency despite what the package's
|
8
|
-
file list says.
|
9
|
-
- This prevents breaking the system despite seemingly correct dependencies
|
10
|
-
in some situations, such as on multilib systems where a colored
|
11
|
-
files can appear to be shared between primary and secondary architecture
|
12
|
-
packages, but only the file from primary arch package is physically
|
13
|
-
present, and removing the primary arch package would remove the
|
14
|
-
file and silently break any dependencies on such files in practise.
|
15
|
-
Similarly replaced files become owned by the replacing package in
|
16
|
-
practise, so the original package whose files were replaced can no
|
17
|
-
longer satisfy dependency on those files.
|
18
|
-
|
19
|
-
diff --git a/lib/depends.c b/lib/depends.c
|
20
|
-
index 4daa512..69aecbb 100644
|
21
|
-
--- a/lib/depends.c
|
22
|
-
+++ b/lib/depends.c
|
23
|
-
@@ -345,12 +345,25 @@ static int rpmdbProvides(rpmts ts, depCache dcache, rpmds dep)
|
24
|
-
return rc;
|
25
|
-
}
|
26
|
-
|
27
|
-
- /* See if a filename dependency is a real file in some package */
|
28
|
-
+ /*
|
29
|
-
+ * See if a filename dependency is a real file in some package,
|
30
|
-
+ * taking file state into account: replaced, wrong colored and
|
31
|
-
+ * not installed files can not satisfy a dependency.
|
32
|
-
+ */
|
33
|
-
if (Name[0] == '/') {
|
34
|
-
mi = rpmtsPrunedIterator(ts, RPMDBI_BASENAMES, Name);
|
35
|
-
while ((h = rpmdbNextIterator(mi)) != NULL) {
|
36
|
-
- rpmdsNotify(dep, "(db files)", rc);
|
37
|
-
- break;
|
38
|
-
+ int fs = RPMFILE_STATE_MISSING;
|
39
|
-
+ struct rpmtd_s states;
|
40
|
-
+ if (headerGet(h, RPMTAG_FILESTATES, &states, HEADERGET_MINMEM)) {
|
41
|
-
+ rpmtdSetIndex(&states, rpmdbGetIteratorFileNum(mi));
|
42
|
-
+ fs = rpmtdGetNumber(&states);
|
43
|
-
+ rpmtdFreeData(&states);
|
44
|
-
+ }
|
45
|
-
+ if (fs == RPMFILE_STATE_NORMAL || fs == RPMFILE_STATE_NETSHARED) {
|
46
|
-
+ rpmdsNotify(dep, "(db files)", rc);
|
47
|
-
+ break;
|
48
|
-
+ }
|
49
|
-
}
|
50
|
-
rpmdbFreeIterator(mi);
|
51
|
-
}
|
@@ -1,41 +0,0 @@
|
|
1
|
-
commit ee0ae58b442c5f79967a0d0580144b5c84e0c888
|
2
|
-
Author: Panu Matilainen <pmatilai@redhat.com>
|
3
|
-
Date: Wed Mar 9 10:25:29 2011 +0200
|
4
|
-
|
5
|
-
Verify some properties of replaced and wrong-colored files (RhBug:528383)
|
6
|
-
- We can't verify any properties of replaced files, but we can and
|
7
|
-
should still see if it exists at all.
|
8
|
-
- Files skipped due to wrong color are supposed to share some of
|
9
|
-
the attributes with the file that got actually installed, such
|
10
|
-
as permissions and whether it exists at all. Verify what we can
|
11
|
-
instead of silently ignoring.
|
12
|
-
|
13
|
-
diff --git a/lib/verify.c b/lib/verify.c
|
14
|
-
index 3be357d..46210bc 100644
|
15
|
-
--- a/lib/verify.c
|
16
|
-
+++ b/lib/verify.c
|
17
|
-
@@ -70,12 +70,22 @@ int rpmVerifyFile(const rpmts ts, const rpmfi fi,
|
18
|
-
*/
|
19
|
-
switch (rpmfiFState(fi)) {
|
20
|
-
case RPMFILE_STATE_NETSHARED:
|
21
|
-
- case RPMFILE_STATE_REPLACED:
|
22
|
-
case RPMFILE_STATE_NOTINSTALLED:
|
23
|
-
- case RPMFILE_STATE_WRONGCOLOR:
|
24
|
-
case RPMFILE_STATE_MISSING:
|
25
|
-
return 0;
|
26
|
-
break;
|
27
|
-
+ case RPMFILE_STATE_REPLACED:
|
28
|
-
+ /* For replaced files we can only verify if it exists at all */
|
29
|
-
+ flags = RPMVERIFY_LSTATFAIL;
|
30
|
-
+ break;
|
31
|
-
+ case RPMFILE_STATE_WRONGCOLOR:
|
32
|
-
+ /*
|
33
|
-
+ * Files with wrong color are supposed to share some attributes
|
34
|
-
+ * with the actually installed file - verify what we can.
|
35
|
-
+ */
|
36
|
-
+ flags &= ~(RPMVERIFY_FILEDIGEST | RPMVERIFY_FILESIZE |
|
37
|
-
+ RPMVERIFY_MTIME | RPMVERIFY_RDEV);
|
38
|
-
+ break;
|
39
|
-
case RPMFILE_STATE_NORMAL:
|
40
|
-
break;
|
41
|
-
}
|
@@ -1,35 +0,0 @@
|
|
1
|
-
commit f4c79584d01c6394544c86c122d2f32f77a1d02d
|
2
|
-
Author: Michael Schroeder <mls@suse.de>
|
3
|
-
Date: Wed May 18 09:04:40 2011 +0300
|
4
|
-
|
5
|
-
Always copy macro source when expanding it
|
6
|
-
- A macro can undefine itself, and unless we grab a copy of it we'll
|
7
|
-
end up accessing already freed memory. Fixes a regression from
|
8
|
-
commit ebc4ceaaeb8bb59019f4635471b28eb5f3eaaaa6 which assumed
|
9
|
-
a copy is not always needed.
|
10
|
-
|
11
|
-
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
|
12
|
-
|
13
|
-
diff --git a/rpmio/macro.c b/rpmio/macro.c
|
14
|
-
index 8ea4819..d79ef18 100644
|
15
|
-
--- a/rpmio/macro.c
|
16
|
-
+++ b/rpmio/macro.c
|
17
|
-
@@ -1022,12 +1022,12 @@ expandMacro(MacroBuf mb, const char *src, size_t slen)
|
18
|
-
char *source = NULL;
|
19
|
-
|
20
|
-
/* Handle non-terminated substrings by creating a terminated copy */
|
21
|
-
- if (slen > 0) {
|
22
|
-
- source = xmalloc(slen + 1);
|
23
|
-
- strncpy(source, src, slen);
|
24
|
-
- source[slen] = '\0';
|
25
|
-
- s = source;
|
26
|
-
- }
|
27
|
-
+ if (!slen)
|
28
|
-
+ slen = strlen(src);
|
29
|
-
+ source = xmalloc(slen + 1);
|
30
|
-
+ strncpy(source, src, slen);
|
31
|
-
+ source[slen] = '\0';
|
32
|
-
+ s = source;
|
33
|
-
|
34
|
-
if (mb->buf == NULL) {
|
35
|
-
size_t blen = MACROBUFSIZ + strlen(s);
|
@@ -1,11 +0,0 @@
|
|
1
|
-
diff -up rpm-4.9.0/lib/manifest.c.manifest-fix rpm-4.9.0/lib/manifest.c
|
2
|
-
--- rpm-4.9.0/lib/manifest.c.manifest-fix 2010-12-03 13:11:57.000000000 +0100
|
3
|
-
+++ rpm-4.9.0/lib/manifest.c 2011-03-16 14:54:49.502557299 +0100
|
4
|
-
@@ -96,6 +96,7 @@ rpmRC rpmReadPackageManifest(FD_t fd, in
|
5
|
-
|
6
|
-
/* Sanity checks: skip obviously binary lines and dash (for stdin) */
|
7
|
-
if (*s < 32 || rstreq(s, "-")) {
|
8
|
-
+ s = NULL;
|
9
|
-
rpmrc = RPMRC_NOTFOUND;
|
10
|
-
goto exit;
|
11
|
-
}
|
@@ -1,46 +0,0 @@
|
|
1
|
-
commit 4a16d55f1f689ab06e8dd45c50b86e478a732367
|
2
|
-
Author: Panu Matilainen <pmatilai@redhat.com>
|
3
|
-
Date: Tue Mar 8 13:28:32 2011 +0200
|
4
|
-
|
5
|
-
Preferred color pkgs should be erased last
|
6
|
-
- On install we need to queue preferred colored pkgs before others
|
7
|
-
to account for the way colored files get laid on disk. On erase,
|
8
|
-
we need to revert this for the same reason. Most of the time
|
9
|
-
dependencies take care of this, but the queue placement matters in
|
10
|
-
cases such as RhBug:680261 where the order is not dependency-driven.
|
11
|
-
|
12
|
-
diff --git a/lib/order.c b/lib/order.c
|
13
|
-
index 3b0849d..18fe05c 100644
|
14
|
-
--- a/lib/order.c
|
15
|
-
+++ b/lib/order.c
|
16
|
-
@@ -208,6 +208,8 @@ static void addQ(tsortInfo p, tsortInfo * qp, tsortInfo * rp,
|
17
|
-
rpm_color_t prefcolor)
|
18
|
-
{
|
19
|
-
tsortInfo q, qprev;
|
20
|
-
+ rpm_color_t pcolor = rpmteColor(p->te);
|
21
|
-
+ int tailcond;
|
22
|
-
|
23
|
-
/* Mark the package as queued. */
|
24
|
-
p->tsi_reqx = 1;
|
25
|
-
@@ -218,13 +220,18 @@ static void addQ(tsortInfo p, tsortInfo * qp, tsortInfo * rp,
|
26
|
-
return;
|
27
|
-
}
|
28
|
-
|
29
|
-
- /* Find location in queue using metric tsi_qcnt. */
|
30
|
-
+ if (rpmteType(p->te) == TR_ADDED)
|
31
|
-
+ tailcond = (pcolor && pcolor != prefcolor);
|
32
|
-
+ else
|
33
|
-
+ tailcond = (pcolor && pcolor == prefcolor);
|
34
|
-
+
|
35
|
-
+ /* Find location in queue using metric tsi_qcnt and color. */
|
36
|
-
for (qprev = NULL, q = (*qp);
|
37
|
-
q != NULL;
|
38
|
-
qprev = q, q = q->tsi_suc)
|
39
|
-
{
|
40
|
-
- /* XXX Insure preferred color first. */
|
41
|
-
- if (rpmteColor(p->te) != prefcolor && rpmteColor(p->te) != rpmteColor(q->te))
|
42
|
-
+ /* Place preferred color towards queue head on install, tail on erase */
|
43
|
-
+ if (tailcond && (pcolor != rpmteColor(q->te)))
|
44
|
-
continue;
|
45
|
-
|
46
|
-
if (q->tsi_qcnt <= p->tsi_qcnt)
|
@@ -1,30 +0,0 @@
|
|
1
|
-
commit 077d2c850cf0a719d7abacc3256168d60a4ec7bb
|
2
|
-
Author: Panu Matilainen <pmatilai@redhat.com>
|
3
|
-
Date: Tue Apr 5 17:33:12 2011 +0300
|
4
|
-
|
5
|
-
Dont reference transaction set from transaction elements
|
6
|
-
- Elements referencing ts prevents rpmtsFree() from freeing anything
|
7
|
-
unless the caller does rpmtsEmpty() first. Oops. Undo the braindamage
|
8
|
-
from commit 8f7c2d7063df6d1057425d014ce4168d46c5e7d9.
|
9
|
-
|
10
|
-
diff --git a/lib/rpmte.c b/lib/rpmte.c
|
11
|
-
index 860b3f4..dfd7b6f 100644
|
12
|
-
--- a/lib/rpmte.c
|
13
|
-
+++ b/lib/rpmte.c
|
14
|
-
@@ -291,7 +291,6 @@ rpmte rpmteFree(rpmte te)
|
15
|
-
rpmfsFree(te->fs);
|
16
|
-
rpmpsFree(te->probs);
|
17
|
-
rpmteCleanDS(te);
|
18
|
-
- rpmtsFree(te->ts);
|
19
|
-
|
20
|
-
argvFree(te->collections);
|
21
|
-
argvFree(te->lastInCollectionsAny);
|
22
|
-
@@ -308,7 +307,7 @@ rpmte rpmteNew(rpmts ts, Header h, rpmElementType type, fnpyKey key,
|
23
|
-
rpmRelocation * relocs)
|
24
|
-
{
|
25
|
-
rpmte p = xcalloc(1, sizeof(*p));
|
26
|
-
- p->ts = rpmtsLink(ts);
|
27
|
-
+ p->ts = ts;
|
28
|
-
p->type = type;
|
29
|
-
addTE(p, h, key, relocs);
|
30
|
-
switch (type) {
|
@@ -1,23 +0,0 @@
|
|
1
|
-
commit 94fb6eed6a7a8957152035c3156974fc00bc4b42
|
2
|
-
Author: Jindrich Novy <jnovy@redhat.com>
|
3
|
-
Date: Mon Apr 4 16:03:11 2011 +0200
|
4
|
-
|
5
|
-
Don't list packages which will not be created in spec query (RhBug:693338)
|
6
|
-
- particularly, while doing "rpm -q --specfile <a spec file>"
|
7
|
-
|
8
|
-
diff --git a/build/spec.c b/build/spec.c
|
9
|
-
index 6861753..353ae47 100644
|
10
|
-
--- a/build/spec.c
|
11
|
-
+++ b/build/spec.c
|
12
|
-
@@ -412,8 +412,10 @@ int rpmspecQuery(rpmts ts, QVA_t qva, const char * arg)
|
13
|
-
|
14
|
-
res = 0;
|
15
|
-
if (qva->qva_source == RPMQV_SPECRPMS) {
|
16
|
-
- for (Package pkg = spec->packages; pkg != NULL; pkg = pkg->next)
|
17
|
-
+ for (Package pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
|
18
|
-
+ if (pkg->fileList == NULL) continue;
|
19
|
-
xx = qva->qva_showPackage(qva, ts, pkg->header);
|
20
|
-
+ }
|
21
|
-
} else {
|
22
|
-
xx = qva->qva_showPackage(qva, ts, spec->sourceHeader);
|
23
|
-
}
|
@@ -1,16 +0,0 @@
|
|
1
|
-
commit 6eba5dc468aa2d26ff80f9321e8d4d014279d506
|
2
|
-
Author: Panu Matilainen <pmatilai@redhat.com>
|
3
|
-
Date: Tue Mar 22 08:36:35 2011 +0200
|
4
|
-
|
5
|
-
Fix classification of ELF binaries with sticky bit (RhBug:689182)
|
6
|
-
|
7
|
-
diff --git a/fileattrs/elf.attr b/fileattrs/elf.attr
|
8
|
-
index fba180b..bc6ce83 100644
|
9
|
-
--- a/fileattrs/elf.attr
|
10
|
-
+++ b/fileattrs/elf.attr
|
11
|
-
|
12
|
-
%__elf_provides %{_rpmconfigdir}/elfdeps --provides %{?__filter_GLIBC_PRIVATE:--filter-private}
|
13
|
-
%__elf_requires %{_rpmconfigdir}/elfdeps --requires %{?__filter_GLIBC_PRIVATE:--filter-private}
|
14
|
-
-%__elf_magic ^ELF (32|64)-bit.*$
|
15
|
-
+%__elf_magic ^(sticky )?ELF (32|64)-bit.*$
|
16
|
-
%__elf_flags exeonly
|
@@ -11,7 +11,7 @@
|
|
11
11
|
|
12
12
|
%define rpmhome /usr/lib/rpm
|
13
13
|
|
14
|
-
%define rpmver 4.9.
|
14
|
+
%define rpmver 4.9.1
|
15
15
|
%define srcver %{rpmver}%{?snapver:-%{snapver}}
|
16
16
|
|
17
17
|
%define bdbname db4
|
@@ -21,7 +21,7 @@
|
|
21
21
|
Summary: The RPM package management system
|
22
22
|
Name: rpm
|
23
23
|
Version: %{rpmver}
|
24
|
-
Release: %{?snapver:0.%{snapver}.}
|
24
|
+
Release: %{?snapver:0.%{snapver}.}1%{?dist}
|
25
25
|
Group: System Environment/Base
|
26
26
|
Url: http://www.rpm.org/
|
27
27
|
Source0: http://rpm.org/releases/rpm-4.9.x/%{name}-%{srcver}.tar.bz2
|
@@ -40,35 +40,12 @@ Patch3: rpm-4.8.0-no-man-dirs.patch
|
|
40
40
|
Patch4: rpm-4.8.1-use-gpg2.patch
|
41
41
|
|
42
42
|
# Patches already in upstream
|
43
|
-
# Do not try to free and unallocated variable (#688091)
|
44
|
-
Patch100: rpm-4.9.0-manifest-fix.patch
|
45
|
-
# Recognize elf executables with sticky bit as elf
|
46
|
-
Patch101: rpm-4.9.0-sticky-elf.patch
|
47
|
-
# Fix leaks on freeing a populated transaction set
|
48
|
-
Patch102: rpm-4.9.0-rpmts-noref.patch
|
49
|
-
# Only list packages that will be built on spec query (#693338)
|
50
|
-
# Patch103: rpm-4.9.0-specquery-pkgs.patch
|
51
|
-
# Verify some properties of replaced and wrong-colored files (#528383)
|
52
|
-
Patch104: rpm-4.9.0-fstate-verify.patch
|
53
|
-
# Take file state into account for file dependencies
|
54
|
-
Patch105: rpm-4.9.0-fstate-deps.patch
|
55
|
-
# Preferred color pkgs should be erased last
|
56
|
-
Patch106: rpm-4.9.0-prefcolor-erase.patch
|
57
|
-
# Fix crash on empty prep-section
|
58
|
-
Patch107: rpm-4.9.0-empty-prep-crash.patch
|
59
|
-
# Fix crash on empty changelog-section
|
60
|
-
Patch108: rpm-4.9.0-empty-changelog-crash.patch
|
61
|
-
# Fix crash on macro undefining itself
|
62
|
-
Patch109: rpm-4.9.0-macro-self-undefine.patch
|
63
|
-
# Fix breakage caused by file 5.07 string changes
|
64
|
-
Patch110: rpm-4.9.0-file-compat.patch
|
65
43
|
|
66
44
|
# These are not yet upstream
|
67
45
|
Patch301: rpm-4.6.0-niagara.patch
|
68
46
|
Patch302: rpm-4.7.1-geode-i686.patch
|
69
|
-
# To be upstreamed after rawhide-testdrive (#641377
|
70
|
-
Patch303: rpm-4.9.0-
|
47
|
+
# To be upstreamed after rawhide-testdrive (#641377)
|
48
|
+
Patch303: rpm-4.9.0-debuginfo-allnames.patch
|
71
|
-
Patch304: rpm-4.9.0-debuginfo-allnames.patch
|
72
49
|
|
73
50
|
# Partially GPL/LGPL dual-licensed and some bits with BSD
|
74
51
|
# SourceLicense: (GPLv2+ and LGPLv2+ with exceptions) and BSD
|
@@ -230,23 +207,9 @@ packages on a system.
|
|
230
207
|
%patch3 -p1 -b .no-man-dirs
|
231
208
|
%patch4 -p1 -b .use-gpg2
|
232
209
|
|
233
|
-
%patch100 -p1 -b .manifest-fix
|
234
|
-
%patch101 -p1 -b .sticky-elf
|
235
|
-
%patch102 -p1 -b .rpmts-noref
|
236
|
-
# this breaks fedpkg
|
237
|
-
# %patch103 -p1 -b .specquery-pkgs
|
238
|
-
%patch104 -p1 -b .fstate-verify
|
239
|
-
%patch105 -p1 -b .fstate-deps
|
240
|
-
%patch106 -p1 -b .prefcolor-erase
|
241
|
-
%patch107 -p1 -b .empty-prep-crash
|
242
|
-
%patch108 -p1 -b .empty-changelog-crash
|
243
|
-
%patch109 -p1 -b .macro-self-undefine
|
244
|
-
%patch110 -p1 -b .file-compat
|
245
|
-
|
246
210
|
%patch301 -p1 -b .niagara
|
247
211
|
%patch302 -p1 -b .geode
|
248
|
-
%patch303 -p1 -b .
|
212
|
+
%patch303 -p1 -b .debuginfo-allnames
|
249
|
-
%patch304 -p1 -b .debuginfo-allnames
|
250
213
|
|
251
214
|
%if %{with int_bdb}
|
252
215
|
ln -s db-%{bdbver} db
|
@@ -460,6 +423,10 @@ exit 0
|
|
460
423
|
%doc COPYING doc/librpm/html/*
|
461
424
|
|
462
425
|
%changelog
|
426
|
+
* Fri Jul 15 2011 Panu Matilainen <pmatilai@redhat.com> - 4.9.1-1
|
427
|
+
- update to 4.9.1 (http://rpm.org/wiki/Releases/4.9.1)
|
428
|
+
- drop no longer needed patches
|
429
|
+
|
463
430
|
* Thu Jun 16 2011 Panu Matilainen <pmatilai@redhat.com> - 4.9.0-10
|
464
431
|
- rebuild to fix a missing interpreter dependency due to bug #712251
|
465
432
|
|
@@ -1 +1,2 @@
|
|
1
1
|
9fb2bf03c697d719a9bfc72aafb723b9 rpm-4.9.0.tar.bz2
|
2
|
+
6d1eb8fbdb1cd11ab90420998c096a72 rpm-4.9.1.tar.bz2
|