Compare commits
10 Commits
4ac708f20c
...
8ca4abff05
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8ca4abff05 | ||
|
|
a0053ff90f | ||
|
|
135b5903e8 | ||
|
|
1549d9de0d | ||
|
|
b00c783751 | ||
|
|
d7331aca3e | ||
|
|
1a8b6c0bcb | ||
|
|
491743a26c | ||
|
|
a61350084f | ||
|
|
d099f50e51 |
@ -20,7 +20,7 @@ index fe9803a..4027493 100644
|
||||
RPM_OS=\"%{_os}\"\
|
||||
RPM_BUILD_NCPUS=\"%{_smp_build_ncpus}\"\
|
||||
- export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS RPM_BUILD_NCPUS\
|
||||
+ export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS RPM_BUILD_NCPUS RPM_OPT_FLAGS\
|
||||
+ export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS RPM_BUILD_NCPUS RPM_LD_FLAGS\
|
||||
RPM_DOC_DIR=\"%{_docdir}\"\
|
||||
export RPM_DOC_DIR\
|
||||
RPM_PACKAGE_NAME=\"%{NAME}\"\
|
||||
|
||||
@ -0,0 +1,64 @@
|
||||
From 1fbf8aeb4e78b8b4afeeaafcbc97b3cbf7cfeaba Mon Sep 17 00:00:00 2001
|
||||
From: Panu Matilainen <pmatilai@redhat.com>
|
||||
Date: Tue, 17 Sep 2024 08:31:35 +0300
|
||||
Subject: [PATCH] Enforce the same sanity checks on db add and rebuild
|
||||
|
||||
Conflict:adapt context; don't use RPMTAG_HEADERIMMUTABLE because
|
||||
e484d99 is not merged; use int type instead of bool in validHeader()
|
||||
Reference:https://github.com/rpm-software-management/rpm/commit/1fbf8aeb4e78b8b4afeeaafcbc97b3cbf7cfeaba
|
||||
|
||||
It doesn't make a whole lot of sense to allow inserting headers
|
||||
that will get removed as invalid on the next rebuild. Funny what
|
||||
oddities have survived all this time...
|
||||
|
||||
Fixes: #3306
|
||||
---
|
||||
lib/rpmdb.c | 18 +++++++++++++-----
|
||||
1 file changed, 13 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/lib/rpmdb.c b/lib/rpmdb.c
|
||||
index e2ace9b..2f63efa 100644
|
||||
--- a/lib/rpmdb.c
|
||||
+++ b/lib/rpmdb.c
|
||||
@@ -2314,6 +2314,17 @@ static rpmRC indexPut(dbiIndex dbi, rpmTagVal rpmtag, unsigned int hdrNum, Heade
|
||||
return tag2index(dbi, rpmtag, hdrNum, h, idxdbPut);
|
||||
}
|
||||
|
||||
+static int validHeader(Header h)
|
||||
+{
|
||||
+ if (!(headerIsEntry(h, RPMTAG_NAME) &&
|
||||
+ headerIsEntry(h, RPMTAG_VERSION) &&
|
||||
+ headerIsEntry(h, RPMTAG_RELEASE)))
|
||||
+ {
|
||||
+ return 0;
|
||||
+ }
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
int rpmdbAdd(rpmdb db, Header h)
|
||||
{
|
||||
dbiIndex dbi = NULL;
|
||||
@@ -2327,7 +2338,7 @@ int rpmdbAdd(rpmdb db, Header h)
|
||||
return 0;
|
||||
|
||||
hdrBlob = headerExport(h, &hdrLen);
|
||||
- if (hdrBlob == NULL || hdrLen == 0) {
|
||||
+ if (!validHeader(h) || hdrBlob == NULL || hdrLen == 0) {
|
||||
ret = -1;
|
||||
goto exit;
|
||||
}
|
||||
@@ -2564,10 +2575,7 @@ int rpmdbRebuild(const char * prefix, rpmts ts,
|
||||
while ((h = rpmdbNextIterator(mi)) != NULL) {
|
||||
|
||||
/* let's sanity check this record a bit, otherwise just skip it */
|
||||
- if (!(headerIsEntry(h, RPMTAG_NAME) &&
|
||||
- headerIsEntry(h, RPMTAG_VERSION) &&
|
||||
- headerIsEntry(h, RPMTAG_RELEASE)))
|
||||
- {
|
||||
+ if (!validHeader(h)) {
|
||||
rpmlog(RPMLOG_ERR,
|
||||
_("header #%u in the database is bad -- skipping.\n"),
|
||||
rpmdbGetIteratorOffset(mi));
|
||||
--
|
||||
2.43.0
|
||||
|
||||
27
backport-Fix-a-memory-leak-on-rpmdb-importdb.patch
Normal file
27
backport-Fix-a-memory-leak-on-rpmdb-importdb.patch
Normal file
@ -0,0 +1,27 @@
|
||||
From 4b830f7b5a4a70a53e2eef63baf82b7fff308a3c Mon Sep 17 00:00:00 2001
|
||||
From: Panu Matilainen <pmatilai@redhat.com>
|
||||
Date: Fri, 11 Oct 2024 14:26:57 +0300
|
||||
Subject: [PATCH] Fix a memory leak on rpmdb --importdb
|
||||
|
||||
Conflict:modify rpmdb.c instead of tools/rpmdb.cc
|
||||
Reference:https://github.com/rpm-software-management/rpm/commit/4b830f7b5a4a70a53e2eef63baf82b7fff308a3c
|
||||
|
||||
---
|
||||
rpmdb.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/rpmdb.c b/rpmdb.c
|
||||
index b72f0a5..a16dbac 100644
|
||||
--- a/rpmdb.c
|
||||
+++ b/rpmdb.c
|
||||
@@ -79,6 +79,7 @@ static int importDB(rpmts ts)
|
||||
Header h;
|
||||
while ((h = headerRead(fd, HEADER_MAGIC_YES))) {
|
||||
rc += rpmtsImportHeader(txn, h, 0);
|
||||
+ headerFree(h);
|
||||
}
|
||||
} else {
|
||||
rc = -1;
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@ -0,0 +1,34 @@
|
||||
From a385821780804b558ae18aec820d127e4144fafd Mon Sep 17 00:00:00 2001
|
||||
From: Panu Matilainen <pmatilai@redhat.com>
|
||||
Date: Thu, 11 Apr 2024 12:08:04 +0300
|
||||
Subject: [PATCH] Fix an ancient memleak on %caps() parsing, add tests
|
||||
|
||||
Conflict:don't modify tests because the test case depends on the gcc.
|
||||
Reference:https://github.com/rpm-software-management/rpm/commit/a385821780804b558ae18aec820d127e4144fafd
|
||||
|
||||
This leak has been there ever since rpm 4.7.0, so pretty close to 15
|
||||
years. ASAN would've caught it, if it had it been tested. Oops.
|
||||
Of course, in the fakechroot era we couldn't have tested installation
|
||||
but we could've at least tested the parsing side.
|
||||
|
||||
Add tests for parsing, query and install functionality, and fix the
|
||||
leak that is now very visible.
|
||||
---
|
||||
build/files.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/build/files.c b/build/files.c
|
||||
index 14e4c55ef..b059458a1 100644
|
||||
--- a/build/files.c
|
||||
+++ b/build/files.c
|
||||
@@ -228,6 +228,7 @@ static void copyFileEntry(FileEntry src, FileEntry dest)
|
||||
static void FileEntryFree(FileEntry entry)
|
||||
{
|
||||
argvFree(entry->langs);
|
||||
+ free(entry->caps);
|
||||
memset(entry, 0, sizeof(*entry));
|
||||
}
|
||||
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -0,0 +1,33 @@
|
||||
From 6c01f4c84f768b6c6b247a11106bf51b40015e66 Mon Sep 17 00:00:00 2001
|
||||
From: Panu Matilainen <pmatilai@redhat.com>
|
||||
Date: Mon, 18 Mar 2024 09:56:51 +0200
|
||||
Subject: [PATCH] Fix an enum/int type mismatch in rpmfiArchiveReadToFilePsm()
|
||||
|
||||
rpmfiDigestAlgo() hysterically returns a signed int (and that's what
|
||||
really ought to be changed) but lets at least make all these uses
|
||||
consistent.
|
||||
|
||||
Conflict:modify pgpHashAlgo instead of rpmHashAlgo because
|
||||
01d6605d93e9b5 is not mearged.
|
||||
Reference:https://github.com/rpm-software-management/rpm/commit/6c01f4c84f768b6c6b247a11106bf51b40015e66
|
||||
|
||||
---
|
||||
lib/rpmfi.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/rpmfi.c b/lib/rpmfi.c
|
||||
index cfb388b4c..db1460711 100644
|
||||
--- a/lib/rpmfi.c
|
||||
+++ b/lib/rpmfi.c
|
||||
@@ -2384,7 +2384,7 @@ int rpmfiArchiveReadToFilePsm(rpmfi fi, FD_t fd, int nodigest, rpmpsm psm)
|
||||
|
||||
rpm_loff_t left = rpmfiFSize(fi);
|
||||
const unsigned char * fidigest = NULL;
|
||||
- pgpHashAlgo digestalgo = 0;
|
||||
+ int digestalgo = 0;
|
||||
int rc = 0;
|
||||
char buf[BUFSIZ*4];
|
||||
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -0,0 +1,28 @@
|
||||
From 90cfa466ae88b06595012084eada25a42064322c Mon Sep 17 00:00:00 2001
|
||||
From: Panu Matilainen <pmatilai@redhat.com>
|
||||
Date: Mon, 18 Mar 2024 09:48:48 +0200
|
||||
Subject: [PATCH] Fix an enum/int type mismatch in transaction verify code
|
||||
|
||||
Conflict:NA
|
||||
Reference:https://github.com/rpm-software-management/rpm/commit/90cfa466ae88b06595012084eada25a42064322c
|
||||
|
||||
---
|
||||
lib/transaction.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/transaction.c b/lib/transaction.c
|
||||
index fcde554a6..6a49eb242 100644
|
||||
--- a/lib/transaction.c
|
||||
+++ b/lib/transaction.c
|
||||
@@ -1288,7 +1288,7 @@ static int verifyPackageFiles(rpmts ts, rpm_loff_t total)
|
||||
.vfylevel = vfylevel,
|
||||
};
|
||||
int verified = 0;
|
||||
- rpmRC prc = RPMRC_FAIL;
|
||||
+ int prc = RPMRC_FAIL;
|
||||
|
||||
rpmtsNotify(ts, p, RPMCALLBACK_VERIFY_PROGRESS, oc++, total);
|
||||
FD_t fd = rpmtsNotify(ts, p, RPMCALLBACK_INST_OPEN_FILE, 0, 0);
|
||||
--
|
||||
2.33.0
|
||||
|
||||
30
backport-Fix-division-by-zero-in-elfdeps-RhBug-2299414.patch
Normal file
30
backport-Fix-division-by-zero-in-elfdeps-RhBug-2299414.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From 02ffc5158d1ad270e0b5c7ce6dfe4414a6ec029f Mon Sep 17 00:00:00 2001
|
||||
From: Michal Domonkos <mdomonko@redhat.com>
|
||||
Date: Wed, 31 Jul 2024 16:19:40 +0200
|
||||
Subject: [PATCH] Fix division by zero in elfdeps (RhBug:2299414)
|
||||
|
||||
Conflict:NA
|
||||
Reference:https://github.com/rpm-software-management/rpm/commit/02ffc5158d1ad270e0b5c7ce6dfe4414a6ec029f
|
||||
|
||||
Assume that the section does not hold a table if sh_entsize is 0 (as
|
||||
specified in the elf(5) man page) and just skip it if that's the case.
|
||||
---
|
||||
tools/elfdeps.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/tools/elfdeps.c b/tools/elfdeps.c
|
||||
index cb388f08d..822359ab9 100644
|
||||
--- a/tools/elfdeps.c
|
||||
+++ b/tools/elfdeps.c
|
||||
@@ -196,6 +196,8 @@ static void processVerNeed(Elf_Scn *scn, GElf_Shdr *shdr, elfInfo *ei)
|
||||
static void processDynamic(Elf_Scn *scn, GElf_Shdr *shdr, elfInfo *ei)
|
||||
{
|
||||
Elf_Data *data = NULL;
|
||||
+ if (shdr->sh_entsize == 0)
|
||||
+ return;
|
||||
while ((data = elf_getdata(scn, data)) != NULL) {
|
||||
for (int i = 0; i < (shdr->sh_size / shdr->sh_entsize); i++) {
|
||||
const char *s = NULL;
|
||||
--
|
||||
2.33.0
|
||||
|
||||
30
backport-Fix-enum-type-mismatch-in-rpmTagGetValue.patch
Normal file
30
backport-Fix-enum-type-mismatch-in-rpmTagGetValue.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From 3a227fdf2965aa6bfc0727170419e9da6cf1fbe2 Mon Sep 17 00:00:00 2001
|
||||
From: Panu Matilainen <pmatilai@redhat.com>
|
||||
Date: Mon, 18 Mar 2024 09:50:05 +0200
|
||||
Subject: [PATCH] Fix enum type mismatch in rpmTagGetValue()
|
||||
|
||||
This returns a tag value, not type.
|
||||
|
||||
Conflict:NA
|
||||
Reference:https://github.com/rpm-software-management/rpm/commit/3a227fdf2965aa6bfc0727170419e9da6cf1fbe2
|
||||
|
||||
---
|
||||
lib/tagname.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/tagname.c b/lib/tagname.c
|
||||
index 4e7c30d2b..4748cf19c 100644
|
||||
--- a/lib/tagname.c
|
||||
+++ b/lib/tagname.c
|
||||
@@ -171,7 +171,7 @@ rpmTagType rpmTagGetType(rpmTagVal tag)
|
||||
rpmTagVal rpmTagGetValue(const char * tagstr)
|
||||
{
|
||||
const struct headerTagTableEntry_s *t;
|
||||
- rpmTagType tagval = RPMTAG_NOT_FOUND;
|
||||
+ rpmTagVal tagval = RPMTAG_NOT_FOUND;
|
||||
|
||||
pthread_once(&tagsLoaded, loadTags);
|
||||
|
||||
--
|
||||
2.33.0
|
||||
|
||||
41
backport-Fix-memleak-when-process-policies.patch
Normal file
41
backport-Fix-memleak-when-process-policies.patch
Normal file
@ -0,0 +1,41 @@
|
||||
From 937e725626eecad2e0c34463e733ae123ba2ff5e Mon Sep 17 00:00:00 2001
|
||||
From: xujing <xujing125@huawei.com>
|
||||
Date: Thu, 12 Sep 2024 20:52:30 +0800
|
||||
Subject: [PATCH] Fix memleak when process policies
|
||||
|
||||
Conflict:adapt the release conditions of optCon
|
||||
Reference:https://github.com/rpm-software-management/rpm/commit/937e725626eecad2e0c34463e733ae123ba2ff5e
|
||||
|
||||
---
|
||||
build/policies.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/build/policies.c b/build/policies.c
|
||||
index 16d5f87..6c1050e 100644
|
||||
--- a/build/policies.c
|
||||
+++ b/build/policies.c
|
||||
@@ -282,6 +282,10 @@ static rpmRC processPolicies(rpmSpec spec, Package pkg, int test)
|
||||
mod = freeModule(mod);
|
||||
name = _free(name);
|
||||
types = _free(types);
|
||||
+ if (optCon) {
|
||||
+ poptFreeContext(optCon);
|
||||
+ optCon = NULL;
|
||||
+ }
|
||||
}
|
||||
|
||||
rc = RPMRC_OK;
|
||||
@@ -290,6 +294,10 @@ static rpmRC processPolicies(rpmSpec spec, Package pkg, int test)
|
||||
freeModule(mod);
|
||||
free(name);
|
||||
free(types);
|
||||
+ if (optCon) {
|
||||
+ poptFreeContext(optCon);
|
||||
+ optCon = NULL;
|
||||
+ }
|
||||
|
||||
return rc;
|
||||
}
|
||||
--
|
||||
2.43.0
|
||||
|
||||
31
backport-Fix-pointer-bogosity-in-rpmlog-callback.patch
Normal file
31
backport-Fix-pointer-bogosity-in-rpmlog-callback.patch
Normal file
@ -0,0 +1,31 @@
|
||||
From f8a72afbdb560dc534ca1ff390bc54e01d1144a6 Mon Sep 17 00:00:00 2001
|
||||
From: Panu Matilainen <pmatilai@redhat.com>
|
||||
Date: Mon, 8 Apr 2024 14:41:48 +0300
|
||||
Subject: [PATCH] Fix pointer bogosity in rpmlog callback
|
||||
|
||||
Conflict:NA
|
||||
Reference:https://github.com/rpm-software-management/rpm/commit/f8a72afbdb560dc534ca1ff390bc54e01d1144a6
|
||||
|
||||
rpmlogCallbackData is already a pointer type, we don't want a pointer
|
||||
to a pointer for this. Kinda surprising it actually worked, but then
|
||||
it's just a void pointer so...
|
||||
---
|
||||
rpmio/rpmlog.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/rpmio/rpmlog.c b/rpmio/rpmlog.c
|
||||
index 2bb5ab0e3..3ccbe2692 100644
|
||||
--- a/rpmio/rpmlog.c
|
||||
+++ b/rpmio/rpmlog.c
|
||||
@@ -382,7 +382,7 @@ static void dolog(struct rpmlogRec_s *rec, int saverec)
|
||||
int cbrc = RPMLOG_DEFAULT;
|
||||
int needexit = 0;
|
||||
FILE *clog = NULL;
|
||||
- rpmlogCallbackData *cbdata = NULL;
|
||||
+ rpmlogCallbackData cbdata = NULL;
|
||||
rpmlogCallback cbfunc = NULL;
|
||||
rpmlogCtx ctx = rpmlogCtxAcquire(saverec);
|
||||
|
||||
--
|
||||
2.33.0
|
||||
|
||||
35
backport-Fix-potential-use-of-uninitialized-pgp-struct.patch
Normal file
35
backport-Fix-potential-use-of-uninitialized-pgp-struct.patch
Normal file
@ -0,0 +1,35 @@
|
||||
From 1b90b8c7d176026b669ce28c6e185724a4b208b0 Mon Sep 17 00:00:00 2001
|
||||
From: Michal Domonkos <mdomonko@redhat.com>
|
||||
Date: Fri, 7 Jun 2024 10:14:25 +0200
|
||||
Subject: [PATCH] Fix potential use of uninitialized pgp struct
|
||||
|
||||
Conflict:NA
|
||||
Reference:https://github.com/rpm-software-management/rpm/commit/1b90b8c7d176026b669ce28c6e185724a4b208b0
|
||||
|
||||
We only call initPgpData() after base64 encoding the pubkey so if the
|
||||
latter fails, the kd struct will be left uninitialized and subsequently
|
||||
read from after skipping to the exit label. Fix by initializing it.
|
||||
|
||||
Found by Coverity.
|
||||
|
||||
Fixes: RHEL-22605
|
||||
---
|
||||
lib/rpmts.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/lib/rpmts.c b/lib/rpmts.c
|
||||
index 3070b97e6..76964c60a 100644
|
||||
--- a/lib/rpmts.c
|
||||
+++ b/lib/rpmts.c
|
||||
@@ -508,6 +508,8 @@ static int makePubkeyHeader(rpmts ts, rpmPubkey key, rpmPubkey *subkeys,
|
||||
int rc = -1;
|
||||
int i;
|
||||
|
||||
+ memset(&kd, 0, sizeof(kd));
|
||||
+
|
||||
if ((enc = rpmPubkeyBase64(key)) == NULL)
|
||||
goto exit;
|
||||
if ((dig = rpmPubkeyDig(key)) == NULL)
|
||||
--
|
||||
2.33.0
|
||||
|
||||
35
backport-Fix-potential-use-of-uninitialized-pipe-array.patch
Normal file
35
backport-Fix-potential-use-of-uninitialized-pipe-array.patch
Normal file
@ -0,0 +1,35 @@
|
||||
From bff65aad8af719542c7b0c6429e09223c014a909 Mon Sep 17 00:00:00 2001
|
||||
From: Michal Domonkos <mdomonko@redhat.com>
|
||||
Date: Thu, 6 Jun 2024 09:15:02 +0200
|
||||
Subject: [PATCH] Fix potential use of uninitialized pipe array
|
||||
|
||||
Conflict:NA
|
||||
Reference:https://github.com/rpm-software-management/rpm/commit/bff65aad8af719542c7b0c6429e09223c014a909
|
||||
|
||||
We only call pipe(2) after the script is written to disk so if the
|
||||
latter fails, the array will be left uninitialized and subsequently read
|
||||
after skipping to the exit label. Fix by initializing it.
|
||||
|
||||
Found by Coverity.
|
||||
|
||||
Fixes: RHEL-22604
|
||||
---
|
||||
lib/rpmscript.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/rpmscript.c b/lib/rpmscript.c
|
||||
index 281c55c53..1de4acf8e 100644
|
||||
--- a/lib/rpmscript.c
|
||||
+++ b/lib/rpmscript.c
|
||||
@@ -316,7 +316,7 @@ static rpmRC runExtScript(rpmPlugins plugins, ARGV_const_t prefixes,
|
||||
char * fn = NULL;
|
||||
pid_t pid, reaped;
|
||||
int status;
|
||||
- int inpipe[2];
|
||||
+ int inpipe[2] = { -1, -1 };
|
||||
FILE *in = NULL;
|
||||
const char *line;
|
||||
char *mline = NULL;
|
||||
--
|
||||
2.33.0
|
||||
|
||||
68
backport-Fix-some-int-enum-confusion-in-the-build-code.patch
Normal file
68
backport-Fix-some-int-enum-confusion-in-the-build-code.patch
Normal file
@ -0,0 +1,68 @@
|
||||
From f2eb6fa6ba77fbf5f62add8a01544cce8c0beb6b Mon Sep 17 00:00:00 2001
|
||||
From: Panu Matilainen <pmatilai@redhat.com>
|
||||
Date: Fri, 15 Mar 2024 16:41:28 +0200
|
||||
Subject: [PATCH] Fix some int/enum confusion in the build code
|
||||
|
||||
These things are not really returning rpmRC values, especially as they
|
||||
need to pass around RPMRC_MISSINGBUILDREQUIRES which is not part of the
|
||||
enum.
|
||||
|
||||
For doRmSource(), 0 and 1 aren't any more enums values than 0 and -1 are,
|
||||
and besides, the sole caller isn't even checking the return code.
|
||||
|
||||
Conflict:NA
|
||||
Reference:https://github.com/rpm-software-management/rpm/commit/f2eb6fa6ba77fbf5f62add8a01544cce8c0beb6b
|
||||
|
||||
---
|
||||
build/build.c | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/build/build.c b/build/build.c
|
||||
index 8e6c8f842..69ab69fc9 100644
|
||||
--- a/build/build.c
|
||||
+++ b/build/build.c
|
||||
@@ -78,7 +78,7 @@ static char * buildHost(void)
|
||||
|
||||
/**
|
||||
*/
|
||||
-static rpmRC doRmSource(rpmSpec spec)
|
||||
+static int doRmSource(rpmSpec spec)
|
||||
{
|
||||
struct Source *p;
|
||||
Package pkg;
|
||||
@@ -100,7 +100,7 @@ static rpmRC doRmSource(rpmSpec spec)
|
||||
}
|
||||
}
|
||||
exit:
|
||||
- return !rc ? 0 : 1;
|
||||
+ return rc;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -290,9 +290,9 @@ static int doBuildRequires(rpmSpec spec, int test)
|
||||
return rc;
|
||||
}
|
||||
|
||||
-static rpmRC doCheckBuildRequires(rpmts ts, rpmSpec spec, int test)
|
||||
+static int doCheckBuildRequires(rpmts ts, rpmSpec spec, int test)
|
||||
{
|
||||
- rpmRC rc = RPMRC_OK;
|
||||
+ int rc = RPMRC_OK;
|
||||
rpmps ps = rpmSpecCheckDeps(ts, spec);
|
||||
|
||||
if (ps) {
|
||||
@@ -323,9 +323,9 @@ static rpmRC doBuildDir(rpmSpec spec, int test, StringBuf *sbp)
|
||||
return rc;
|
||||
}
|
||||
|
||||
-static rpmRC buildSpec(rpmts ts, BTA_t buildArgs, rpmSpec spec, int what)
|
||||
+static int buildSpec(rpmts ts, BTA_t buildArgs, rpmSpec spec, int what)
|
||||
{
|
||||
- rpmRC rc = RPMRC_OK;
|
||||
+ int rc = RPMRC_OK;
|
||||
int missing_buildreqs = 0;
|
||||
int test = (what & RPMBUILD_NOBUILD);
|
||||
char *cookie = buildArgs->cookie ? xstrdup(buildArgs->cookie) : NULL;
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -0,0 +1,28 @@
|
||||
From 1d6987a8ede061db611ff02eda62315e0ae24d2b Mon Sep 17 00:00:00 2001
|
||||
From: Panu Matilainen <pmatilai@redhat.com>
|
||||
Date: Mon, 18 Mar 2024 10:02:52 +0200
|
||||
Subject: [PATCH] Use the internal DB_CTRL* enum for intenal uses consistently
|
||||
|
||||
Conflict:NA
|
||||
Reference:https://github.com/rpm-software-management/rpm/commit/1d6987a8ede061db611ff02eda62315e0ae24d2b
|
||||
|
||||
---
|
||||
lib/rpmdb.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/rpmdb.c b/lib/rpmdb.c
|
||||
index 2f0d72afd..4ad12230b 100644
|
||||
--- a/lib/rpmdb.c
|
||||
+++ b/lib/rpmdb.c
|
||||
@@ -69,7 +69,7 @@ static int buildIndexes(rpmdb db)
|
||||
|
||||
dbSetFSync(db, 0);
|
||||
|
||||
- dbCtrl(db, RPMDB_CTRL_LOCK_RW);
|
||||
+ dbCtrl(db, DB_CTRL_LOCK_RW);
|
||||
|
||||
mi = rpmdbInitIterator(db, RPMDBI_PACKAGES, NULL, 0);
|
||||
while ((h = rpmdbNextIterator(mi))) {
|
||||
--
|
||||
2.33.0
|
||||
|
||||
30
rpm.spec
30
rpm.spec
@ -1,6 +1,6 @@
|
||||
Name: rpm
|
||||
Version: 4.15.1
|
||||
Release: 56
|
||||
Release: 61
|
||||
Summary: RPM Package Manager
|
||||
License: GPLv2+
|
||||
URL: http://www.rpm.org/
|
||||
@ -215,6 +215,19 @@ Patch193: backport-Fix-spec-parser-leaks-from-trans-f-file.patch
|
||||
Patch194: backport-Tip-toe-around-rpmfiFN-thin-ice-in-fsm.patch
|
||||
Patch195: backport-Fix-a-memleak-on-invalid-command-line-options.patch
|
||||
Patch196: backport-Let-eBPF-ELF-files-be-packaged-in-noarch-packages.patch
|
||||
Patch197: backport-Fix-some-int-enum-confusion-in-the-build-code.patch
|
||||
Patch198: backport-Use-the-internal-DB_CTRL-enum-for-intenal-uses-consi.patch
|
||||
Patch199: backport-Fix-an-enum-int-type-mismatch-in-rpmfiArchiveReadToF.patch
|
||||
Patch200: backport-Fix-an-enum-int-type-mismatch-in-transaction-verify-.patch
|
||||
Patch201: backport-Fix-enum-type-mismatch-in-rpmTagGetValue.patch
|
||||
Patch202: backport-Fix-pointer-bogosity-in-rpmlog-callback.patch
|
||||
Patch203: backport-Fix-an-ancient-memleak-on-caps-parsing-add-tests.patch
|
||||
Patch204: backport-Fix-potential-use-of-uninitialized-pipe-array.patch
|
||||
Patch205: backport-Fix-potential-use-of-uninitialized-pgp-struct.patch
|
||||
Patch206: backport-Fix-division-by-zero-in-elfdeps-RhBug-2299414.patch
|
||||
Patch207: backport-Fix-memleak-when-process-policies.patch
|
||||
Patch208: backport-Enforce-the-same-sanity-checks-on-db-add-and-rebuild.patch
|
||||
Patch209: backport-Fix-a-memory-leak-on-rpmdb-importdb.patch
|
||||
|
||||
BuildRequires: gcc autoconf automake libtool make gawk popt-devel openssl-devel readline-devel libdb-devel
|
||||
BuildRequires: zlib-devel libzstd-devel xz-devel bzip2-devel libarchive-devel ima-evm-utils-devel
|
||||
@ -511,6 +524,21 @@ make check || (cat tests/rpmtests.log; exit 0)
|
||||
%{_mandir}/man1/gendiff.1*
|
||||
|
||||
%changelog
|
||||
* Thu Dec 5 2024 dongyuzhen <dongyuzhen@h-partners.com> - 4.15.1-61
|
||||
- sync patches from upstream
|
||||
|
||||
* Sat Oct 26 2024 Funda Wang <fundawang@yeah.net> - 4.15.1-60
|
||||
- fix RPM_LD_FLAGS not got exported
|
||||
|
||||
* Fri Sep 20 2024 hugel<gengqihu2@h-partners.com> - 4.15.1-59
|
||||
- Backport some patches from upstream
|
||||
|
||||
* Thu Aug 15 2024 gengqihu<gengqihu2@h-partners.com> - 4.15.1-58
|
||||
- Backport some patches from upstream
|
||||
|
||||
* Wed Jun 12 2024 gengqihu<gengqihu2@h-partners.com> - 4.15.1-57
|
||||
- Backport some patches from upstream
|
||||
|
||||
* Mon Mar 25 2024 hongjinghao<hongjinghao@huawei.com> - 4.15.1-56
|
||||
- Fix memleak and let eBPF ELF files be packaged in noarch packages
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user