Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 153582 Details for
Bug 235757
prevent multilib file conflicts, abandon RPM file colour hack.
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
Honour %_prefer_color instead of always assuming elf64 is preferred.
rpm-4.4.2-prefer-elf32.patch (text/plain), 3.50 KB, created by
David Woodhouse
on 2007-04-27 07:01:00 UTC
(
hide
)
Description:
Honour %_prefer_color instead of always assuming elf64 is preferred.
Filename:
MIME Type:
Creator:
David Woodhouse
Created:
2007-04-27 07:01:00 UTC
Size:
3.50 KB
patch
obsolete
>--- rpm-4.4.2/lib/transaction.c.prefer32 2007-04-25 12:10:25.000000000 +0100 >+++ rpm-4.4.2/lib/transaction.c 2007-04-25 12:38:32.000000000 +0100 >@@ -122,6 +122,7 @@ static int handleInstInstalledFiles(cons > /*@modifies ts, fi, rpmGlobalMacroContext, fileSystem, internalState @*/ > { > uint_32 tscolor = rpmtsColor(ts); >+ uint_32 prefcolor = rpmtsPrefColor(ts); > uint_32 otecolor, tecolor; > uint_32 oFColor, FColor; > const char * altNEVR = NULL; >@@ -199,11 +200,11 @@ static int handleInstInstalledFiles(cons > /* Resolve file conflicts to prefer Elf64 (if not forced). */ > if (tscolor != 0 && FColor != 0 && FColor != oFColor) > { >- if (oFColor & 0x2) { >+ if (oFColor & prefcolor) { > fi->actions[fileNum] = FA_SKIPCOLOR; > rConflicts = 0; > } else >- if (FColor & 0x2) { >+ if (FColor & prefcolor) { > fi->actions[fileNum] = FA_CREATE; > rConflicts = 0; > } >@@ -458,6 +459,7 @@ static void handleOverlappedFiles(const > if (fi != NULL) > while ((i = rpmfiNext(fi)) >= 0) { > uint_32 tscolor = rpmtsColor(ts); >+ uint_32 prefcolor = rpmtsPrefColor(ts); > uint_32 oFColor, FColor; > struct fingerPrint_s * fiFps; > int otherPkgNum, otherFileNum; >@@ -570,19 +572,19 @@ assert(otherFi != NULL); > rConflicts = reportConflicts; > /* Resolve file conflicts to prefer Elf64 (if not forced) ... */ > if (tscolor != 0) { >- if (FColor & 0x2) { >- /* ... last Elf64 file is installed ... */ >+ if (FColor & prefcolor) { >+ /* ... last file of preferred colour is installed ... */ > if (!XFA_SKIPPING(fi->actions[i])) { > /* XXX static helpers are order dependent. Ick. */ > if (strcmp(fn, "/usr/sbin/libgcc_post_upgrade") > && strcmp(fn, "/usr/sbin/glibc_post_upgrade")) >- otherFi->actions[otherFileNum] = FA_SKIP; >+ otherFi->actions[otherFileNum] = FA_SKIPCOLOR; > } > fi->actions[i] = FA_CREATE; > rConflicts = 0; > } else >- if (oFColor & 0x2) { >- /* ... first Elf64 file is installed ... */ >+ if (oFColor & prefcolor) { >+ /* ... first file of preferred colour is installed ... */ > if (XFA_SKIPPING(fi->actions[i])) > otherFi->actions[otherFileNum] = FA_CREATE; > fi->actions[i] = FA_SKIPCOLOR; >--- rpm-4.4.2/lib/rpmts.c.prefer32 2005-02-13 03:12:03.000000000 +0000 >+++ rpm-4.4.2/lib/rpmts.c 2007-04-25 12:37:45.000000000 +0100 >@@ -1475,6 +1475,11 @@ uint_32 rpmtsSetColor(rpmts ts, uint_32 > return ocolor; > } > >+uint_32 rpmtsPrefColor(rpmts ts) >+{ >+ return (ts != NULL ? ts->prefcolor : 0); >+} >+ > rpmop rpmtsOp(rpmts ts, rpmtsOpX opx) > { > rpmop op = NULL; >@@ -1554,6 +1559,7 @@ rpmts rpmtsCreate(void) > ts->delta = 5; > > ts->color = rpmExpandNumeric("%{?_transaction_color}"); >+ ts->prefcolor = rpmExpandNumeric("%{?_prefer_color}")?:2; > > ts->numRemovedPackages = 0; > ts->allocedRemovedPackages = ts->delta; >--- rpm-4.4.2/lib/rpmts.h.prefer32 2005-01-04 16:35:05.000000000 +0000 >+++ rpm-4.4.2/lib/rpmts.h 2007-04-25 12:33:39.000000000 +0100 >@@ -309,6 +309,7 @@ struct rpmts_s { > int_32 tid; /*!< Transaction id. */ > > uint_32 color; /*!< Transaction color bits. */ >+ uint_32 prefcolor; /*!< Preferred file color. */ > > rpmVSFlags vsflags; /*!< Signature/digest verification flags. */ > >@@ -983,6 +984,14 @@ uint_32 rpmtsColor(rpmts ts) > /*@*/; > > /** >+ * Retrieve prefered file color >+ * @param ts transaction set >+ * @return color bits >+ */ >+uint_32 rpmtsPrefColor(rpmts ts) >+ /*@*/; >+ >+/** > * Set color bits of transaction set. > * @param ts transaction set > * @param color new color bits
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 235757
: 153582