I usually use BUILD-NetBSD, which runs build.sh like this: ===> build.sh command: ./build.sh -m i386 -j2 -x -u -U -O /usr/obj/gdt-5/i386 -T /usr/obj/gdt-5/tools -D /usr/obj/gdt-5/destdir/i386 -R /usr/obj/gdt-5/releasedir -X /n0/gdt/NetBSD-5/xsrc release This is basically a straightforward unpriv build, putting the dirs where I want them. I applied a patch to usr.bin/passwd, and went to rebuild it: $ /usr/obj/gdt-5/tools/bin/nbmake-i386 and then put it in DESTDIR: $ /usr/obj/gdt-5/tools/bin/nbmake-i386 install and then tried to install to the running system via a method I've previously suggested to others. $ sudo /usr/obj/gdt-5/tools/bin/nbmake-i386 DESTDIR=/ install But, the install command still had -M (for METALOG) and this resulted in root-owned 555 /usr/bin/passwd (and /METALOG). So after reading a bit I tried: $ sudo USETOOLS=never /usr/obj/gdt-5/tools/bin/nbmake-i386 DESTDIR=/ install but that still does METALOG. On the other hand $ sudo USETOOLS=no make install doesn't look in my OBJDIR. So I can $ USETOOLS=no make; sudo USETOOLS=no make install; make cleandir and get what I want, but that seems awkward. Doing this $ sudo USETOOLS=no MAKEOBJDIR='${.CURDIR:C,^/n0/gdt/NetBSD-5/src,/usr/obj/gdt-5/i386,}' make install works fine, but is even more awkward. (I don't really want to just set MAKEOBJDIR in mk.conf because I typically build for multiple versions and architectures, but perhaps nbmake-$arch will override this.) Finally, after reading nbmake-i386 I did: $ sudo /usr/obj/gdt-5/tools/bin/nbmake-i386 DESTDIR=/ MKUNPRIVED=no install which did what I want. Is there any easier way? Should DESTDIR=/ automatically flip off MKUNPRIVED for the install target?
Attachment:
pgpNDjUeh698N.pgp
Description: PGP signature