rpm/backport.diff
OBS User autobuild b4494b17ad Accepting request 37534 from Base:System
Copy from Base:System/rpm based on submit request 37534 from user mlschroe

OBS-URL: https://build.opensuse.org/request/show/37534
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rpm?expand=0&rev=96
2010-04-13 19:06:36 +00:00

56 lines
1.9 KiB
Diff

A couple of fixes picked from upstream.
--- ./lib/rpminstall.c.orig 2010-04-08 12:35:48.000000000 +0000
+++ ./lib/rpminstall.c 2010-04-08 12:36:00.000000000 +0000
@@ -458,7 +458,7 @@ restart:
case URL_IS_HTTPS:
case URL_IS_HTTP:
case URL_IS_FTP:
- { char *tfn;
+ { char *tfn = NULL;
FD_t tfd;
if (rpmIsVerbose())
--- ./lib/transaction.c.orig 2010-04-08 12:33:22.000000000 +0000
+++ ./lib/transaction.c 2010-04-08 12:35:00.000000000 +0000
@@ -183,6 +183,10 @@ static void rpmtsUpdateDSI(const rpmts t
if (fixupSize)
dsi->bneeded -= BLOCK_ROUND(fixupSize, dsi->bsize);
+
+ /* adjust bookkeeping when requirements shrink */
+ if (dsi->bneeded < dsi->obneeded) dsi->obneeded = dsi->bneeded;
+ if (dsi->ineeded < dsi->oineeded) dsi->oineeded = dsi->ineeded;
}
static void rpmtsFindDSIMount(const rpmts ts, rpmDiskSpaceInfo dsi)
@@ -231,7 +235,7 @@ static void rpmtsCheckDSIProblems(const
for (; dsi->bsize; dsi++) {
if (dsi->bavail >= 0 && adj_fs_blocks(dsi->bneeded) > dsi->bavail) {
- if (dsi->bneeded != dsi->obneeded) {
+ if (dsi->bneeded > dsi->obneeded) {
if (!dsi->mntPoint)
rpmtsFindDSIMount(ts, dsi);
rpmpsAppend(ps, RPMPROB_DISKSPACE,
@@ -243,7 +247,7 @@ static void rpmtsCheckDSIProblems(const
}
if (dsi->iavail >= 0 && adj_fs_blocks(dsi->ineeded) > dsi->iavail) {
- if (dsi->ineeded != dsi->oineeded) {
+ if (dsi->ineeded > dsi->oineeded) {
if (!dsi->mntPoint)
rpmtsFindDSIMount(ts, dsi);
rpmpsAppend(ps, RPMPROB_DISKNODES,
--- ./lib/verify.c.orig 2010-04-08 12:36:09.000000000 +0000
+++ ./lib/verify.c 2010-04-08 12:37:37.000000000 +0000
@@ -348,7 +348,7 @@ static int verifyHeader(QVA_t qva, const
static const char *const aok = ".";
static const char *const unknown = "?";
- ec = (verifyResult != 0);
+ if (verifyResult) ec = 1;
#define _verify(_RPMVERIFY_F, _C) \
((verifyResult & _RPMVERIFY_F) ? _C : aok)