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
smime.p7s
Description: S/MIME cryptographic signature