Subject: Re: bmake and bootstrap and and MKCONF
To: Simon J. Gerraty <>
From: Jeremy C. Reed <>
List: tech-pkg
Date: 09/17/2005 15:55:44
On Fri, 16 Sep 2005, Simon J. Gerraty wrote:

> Thanks for looking at this btw.

No problem. It is a little confusing for me ... like now I see that 
makefile.boot also runs install-sh and wants mk directory.

> If you look at install-mk you'll see
> #       FORCE_BSD_MK:

When I used that a couple days ago I had this problem on on NetBSD:

./bmake.boot -f Makefile
bmake.boot: "/usr/share/mk/" line 6: Malformed conditional
(${MKDYNAMICROOT} == "no")

On NetBSD, it appears that /usr/share/mk/ got in the way
and was used to bring in which failed.

It seems like my /usr/local/pkgsrc/bootstrap/work/bmake/NetBSD/mk/
or /usr/local/pkgsrc/bootstrap/work/mk-files/ should have been
used during this bootstrapping (they are identical). If I use one of 
them instead, then bootstrap continues.

> but I generally think it is a better idea to leave bsd.*.mk alone on
> such systems.  If you have a set of *.mk specific to your project, I'd
> put them in pkgsrc/mk

That sounds like a better idea.

> If want to get fancy you can even have:
> pkgsrc/mk/$OS
> and put a generic in pkgsrc/mk that works out what the target
> system is and pulls in appropriate guff from $OS if needed.  That way
> the tree works even when shared via NFS on different systems.
> See the for an example.
>> What is the correct way on BSD systems that already have so
>> they will look at this predefined MAKECONF?
> Can't you just set MAKECONF in the environment and have the system
> suck it in?

The problem is pkgsrc users using bootstrap assume that it will do the 
right thing without setting MAKECONF. We could change this though.

>> And they are not symlinks and doing diff shows they are different --
>> is different from This does not seem correct.

I just meant that the current bootstrap is installing different versions 
of both and files on some platforms.

  Jeremy C. Reed

  	  	 	 BSD News, BSD tutorials, BSD links