On May 22, 2011, at 10:32 PM, Robert Xu wrote: > > > On May 22, 2011, at 22:19, Jeff Johnson <n3...@mac.com> wrote: > >> >> On May 22, 2011, at 10:05 PM, Robert Xu wrote: >> >>> Hi all, >>> >>> SuSE doesn't like using an internal generator. Figures. >>> >> >> SuSE and Mandriva just gotta be different yes. >> >> The difference is at the product level with multilib, not in how >> packages are built. The internal ELF generator is known reliable >> for years, just SuSE and Mandriva can never figger that out. >> >> The core issue to watch out for is -- if not using the internal generator -- >> that the rpmds data gets sorted somehow. That is/was one of the reasons >> for the implementation (not multilib). >> >> But if y'all want linear behavior instead of logN with bsearch, >> well vendors can run as SLOWER and S-L-O-W-E-R as they wish, not my >> problem mon. > > Actually, with rpm 4.9 they switched to the internal generator: > > -- > > Hi Packagers, > > I've spent the last week to upgrade rpm from 4.8.0 to 4.9.0. > The package was submitted to Factory yesterday and is already > checked in. >
Only took 6 years ... *shrug* > Besides some bug fixes and an update to a newer BerkeleyDB > library rpm-4.9.0 contains plugin architecture for dependency > generation. In older rpms, the internal dependency generator > was pretty much hardcoded in C, so we always used the old > external one to generate dependencies. With rpm-4.9.0, the > internal generator has become flexible enough so that we > can use it. > The term "hardcoded" is misused here ... > This means for you, that rpm will no longer use the %__find_provides > and %__find_requires macros. Some packages redefined those > macros to be able to filter the generated dependencies. > This will no longer work in rpm-4.9.0. Instead, support for > dependency filtering was added to rpm. You can now use > > %define %__requires_exclude_from ^/foo.*bar > > to tell rpm to ignore files matching the regexp when generating > requires (the $RPM_BUILD_ROOT is already stripped). > ... and this was added from PLD 2+ years ago. The dialect of *RE had to be established first, and its likely PCRE != POSIX RE's for extra funnerliness. > You can use > > %define %__requires_exclude libfoo.* > > to remove a generated dependency. The same is possible for > %__provides_ and %__supplements_. > Don't need no steenking supplements. This is OBS only. > As the generator definitions are now pluggable, I'll migrate them > from the rpm package into the corresponding packages in the next > days, i.e. the mono plugin definition into the mono package. > And "pluggable" is misused here. > Have fun with rpm-4.9.0, > Michael. > > -- > > I'll need to take a look at recent commits in rpm to see what has been done > since I last checked out and if I need to patch some more. > > And I don't know about RPM5's internal generator, so... > The internal generator can be seen outside of rpm by doing things like find /bin | /usr/lib/rpm/bin/rpmdeps --provides and similarly for --requires. >> >>> Can %_perl_provides and %_perl_requires, and %_python_provides ... >>> etc... be omitted? >>> Because AFAICT, SuSE just uses regular find-provides and find-requires. >>> >> >> All depends on what is implemented in find-provides/find-requires. What's >> in rpm5.org sources hasn't been looked at (by me) for 6+ years now, caveat >> emptor. >> >> You CAN add a sort there ... someone tell Mandriva please. > > Per Oyvind's job ;) > >> >> Yes %_perl* et al can be ignored if find-provides/find-requires are written >> correctly. > > To me it looks ok, but again see above with regard to rpm 4.9 in which I > might have to go nuts. > The divergence is mostly in configgery. A glob is used to gather files that configure 6 or so parameters per type. Otherwise its the same basic mechanism, just now exploded into gazillions of teensy config files to match on paths and suffices. I personaly don't believe in paths because FHS keeps changing, and I don't believe in mime-type suffixes because they are too flimsy, and so never bothered to explode out the configuration. *Yawn* -- likely gotta keep up with the Joneses and mow the lawn and trim the weeds. todo++ > hth 73 de Jeff
smime.p7s
Description: S/MIME cryptographic signature