On Nov 18, 2009, at 9:15 AM, Per Øyvind Karlsen wrote:

> 
> Hmm, if not automatically handling this in code, what about some option, 
> macro or something? It obviously seems like something that a lot of people is 
> likely to run into and therefore should be dealt with in a way easily usable 
> for everyone.

Doing --rebuilddb with rpm-5.1.9 (before PROT_READ), and then
upgrading to rpm-5.2, achieves the conversion with no code change.

A single utility to convert rpmdb's is expected soone, RPM_CHAR_TYPE
is just one of many issues that will need conversion.

I see no reason to fiddle up Yet More Crufty Macros to deal with a 1 time
conversion issue. There is no "Have it your own way!" at the level of
PROT_READ for header blob's.

> 
> So headerVerifyInfo() (and the attempt to change PROT_READ memory
> that results in a SIG11) is going into the bit bucket where signature/digest
> checking of rpmdb Headers has already been discarded.
> 
> (aside)
> There's another way to "fix" this issue by re-adding RPM_CHAR_TYPE rather
> than attempting to change a data type in a PROT_READ header on the fly
> as is being done in rpmdb/header_internal.c.
> 
> The goal in RPM-5.0 is/was to make all header data types unsigned,
> and that goal was most definitely achieved, and signified by doing a major
> release of RPM in which no compatibility was promised or intended.
> 
> I'm not about to go all the way back and re-release every version of RPM 
> since rpm-5.0
> to retrofit "compatibility"  for distros that don't use rpm5.org code 
> particularly since this issue
> was both known and discussed before rpm-5.0 was released. See rpm-devel 
> archives.
> 
> But a conversion tool could be written rather easily.
> 
> The RPM_CHAR_TYPE is never found in package headers,
> is used solely in one place, adding RPMTAG_FILESTATES while
> installing by rpm-4.x.
> 
> Here is the patch that "fixes" by re-adding RPM_CHAR_TYPE . There's 
> additional places needed
> to remove compiler warnings (at a minimum), and likely to display 
> RPM_CHAR_TYPE if
> the already removed data type is to be retrofitted.
> Hmm, so if you'd like to attempt achieving "some" compatibility with rpm.org, 
> this would be preferred?

I have no interest in seeing design choices randomly flip-flopped and undone.

The goal in rpm5.0 was
        1) clarify the signedness of all interger types.
        2) reduce the number of data types
Both of those goals were achieved. I see no reason for "compatibility"
(conversion is a different matter).

> rpm -qa foo\* is still broken though.. ;p 
> 

HEAD "works" fine with
        rpm -qa foo\*

73 de Jeff

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to