On Apr 16, 2011, at 11:34 AM, Per Øyvind Karlsen wrote: > 2011/4/16 Jeff Johnson <n3...@mac.com>: >> And so now we have the start of Yet More peculier dependencies, >> not just devel(...) but now uClibc(...). > Yes, this is to avoid conflicts with sonames linked against glibc, ie. see: > [peroyvind@lappis rpm-5.3.9]$ echo /usr/uclibc/usr/lib64/libz.so.1.2.5 > | LD_LIBRARY_PATH= tools/.libs/rpmdeps -P > elf(buildid) = 436568eecd8496e8648066fcacd79919833499b0 > libz.so.1()(64bit) > libz.so.1(ZLIB_1.2.0)(64bit) > libz.so.1(ZLIB_1.2.0.2)(64bit) > libz.so.1(ZLIB_1.2.0.8)(64bit) > libz.so.1(ZLIB_1.2.2)(64bit) > libz.so.1(ZLIB_1.2.2.3)(64bit) > libz.so.1(ZLIB_1.2.2.4)(64bit) > libz.so.1(ZLIB_1.2.3.3)(64bit) > libz.so.1(ZLIB_1.2.3.4)(64bit) > libz.so.1(ZLIB_1.2.3.5)(64bit) > $ LD_LIBRARY_PATH=/usr/uclibc/lib64 ldd /usr/uclibc/usr/lib64/libz.so.1.2.5 > linux-vdso.so.1 => (0x00007fff68dff000) > libc.so.0.9.30.3 => /usr/uclibc/lib64/libc.so.0.9.30.3 > (0x00007f99798ff000) > ld64-uClibc.so.0.9.30.3 => > /usr/uclibc/lib64/ld64-uClibc.so.0.9.30.3 (0x00007f99796f7000) > > Currently the uClibc-linked libraries are shipped together with the same > library > packages to ensure rpm not pulling in uClibc-linked library package only to > satisfy dependency for non-uClibc-linked stuff. > This adds a mandatory depedendency on uClibc for basesystem and relevant > packages for where shared uClibc-linked libraries are built for.. :|
And this is the reason for simple rules for ELF dependencies based on DT_NEEDED and DT_SONAME. Once you start adding namespace markers like devel(...) and now uClibc(...) without any clear statement of what is intended (its is QUITE clear what is intended with DT_SONAME/DT_NEEDED, that is _NOT_ true for devel(...) and uClibc(...) and so its just a long drawn out battle of hacks-to-hacks-to-hacks. The choice to use uClibc (or not) is a "preference": and "preference" cannot be automated in C code without a buttload of enablers/disablers that aren't anywhere to be seen. >> >> Revert. > Would you prefer for the patches to be maintained locally in cooker svn rather > than under mandriva #ifdef? I cannot maintain code that I can't test without installing Mandriva first. And -- as reported to you privately -- its quite professionally embarassing when I cannot even build from cvs, type make install, and attempt a reproducer for an issue without wasting hours trying to figger out WTF is in CVS and why. I cannot afford that time since I work on many distros, not just Mandriva Cooker. >> >> And get the fiddle ups in lib/psm.c for triggers >> removed as well. > Will do when I get there. DIsabling exit code checking doesn't even begin to solve whatever is wrong /* Run triggers in this package other package(s) set off. */ rc = rpmpsmNext(psm, PSM_IMMED_TRIGGERS); if(rc && !non_pre_scripts_dont_fail) break; I offered to look and help with %systemd triggers and got brushed off. And if anyone had bothered to even tell me that Mandriva file triggers were going to be flipped into %triggers, I might well have been interested in helping. And if there was _ANY_ indication that %triggers* were either MUTSHAVE or NICETOHAVE in Mandriva, I would most certainly be willing to help. Instead -- when I asked yesterday -- "Are there any MUSTHAVE features?" I'm told "No." Where I come from "beta2" is rather late to start fiddling with %_use_internal_dependency_generator and %triggers* and more. But I fully understand the time pressures and "expedient hacks" that then take years and years to weed out. Been there, done that, not any more. Just a wee bit of planning goes a long long way. 73 de Jeff >> >> If you want hacked up RPM in Mandriva, by all means hack away. > I am commiting the changes under mandriva #ifdefs only.. > > -- > Regards, > Per Øyvind > ______________________________________________________________________ > RPM Package Manager http://rpm5.org > Developer Communication List rpm-devel@rpm5.org
smime.p7s
Description: S/MIME cryptographic signature