tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Sets, subsets, syspkgs, and MK*



> Could you show exact example of usage how global patches
> and partial patches can be generated by MK* variable settings?
> Users can still choose necessary patches from global one as cube says,
> unless builders blindly generate patches from whole two sets of DESTDIR.

I see you have a solid view how to generate binary patches.

See below...

> > If you create a binary patch of YP code in libc, how do you call it?
> 
> It's better to mention how "a binary patch of YP code in libc"
> can or cannot be generated by MK_* or USE_* variable in your idea.

Problem here is, I can't apply "YP code in libc" patch if I disable *_YP.
I can't apply any libc patch if TNF decides to enable *_YP by default.
Because YP code in libc is contionally built:

lib/libc/Makefile:
     90 .if (${MKYP} != "no")
     91 .include "${.CURDIR}/yp/Makefile.inc"
     92 .endif

lib/libc/yp/Makefile.inc:
      6 SRCS+=  xdryp.c yp_all.c yp_first.c yp_maplist.c yp_master.c yp_match.c 
\
      7         yp_order.c yplib.c yperr_string.c ypprot_err.c

And end up with different signatures by *_YP.  If we move YP code out of libc
(e.g. libc_yp.so) and lazily load (dlopen()) it, the main libc is never
affected by *_YP.  Meaning *_YP only changes subsets.  Meaning I'm 100% sure
that I'm not involved by a YP bug, because I don't install libc_yp.so.

How a patch of libc_yp.so is generated?  By enabling *_YP, build, compare
DESTDIRs, and diff libc_yp.so.  If we have libc_yp.so, *_YP is *not* global.
*_YP=yes and *_YP=no generates bit identical libc.so.

Masao

-- 
Masao Uebayashi / Tombi Inc. / Tel: +81-90-9141-4635


Home | Main Index | Thread Index | Old Index