Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Jan 2007 14:27:51 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-doc@freebsd.org
Cc:        re@freebsd.org, Murray Stokely <murray.stokely@gmail.com>, ru@freebsd.org, doc@freebsd.org, Marc Ren? Arns <dienst@marcrenearns.de>
Subject:   Re: make buildkernel fails without complete source tree
Message-ID:  <200701181427.52998.jhb@freebsd.org>
In-Reply-To: <474078f80701180950s5e307d27lf91d2d2f2322737b@mail.gmail.com>
References:  <200701171832.28368.dienst@marcrenearns.de> <20070118095724.GS5594@elvandar.org> <474078f80701180950s5e307d27lf91d2d2f2322737b@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 18 January 2007 12:50, Murray Stokely wrote:
> On 1/18/07, Remko Lodder <remko@elvandar.org> wrote:
> >         This is not true. I downloaded the packages which are being used 
by sysinstall
> >         and extracted them. I found the Makefile, it was properly filled 
with instructions.
> 
> It looks to me like src/release/makefile builds the tar file ssys.tar
> by just tarring /usr/src/sys and therefore would in fact be missing
> /usr/src/Makefile and /usr/src/Makefile.inc1 necessary for "make
> buildkernel".
> 
> Taking a look at the tar file:
> 
> cat ssys.a?? > ssys.tar && tar tvf ssys.tar
> 
> I see that only files in /usr/src/sys are included.
> 
> We could add a tar -r -f .. /usr/src/Makefile /usr/src/Makefile.inc1
> to release.7 in /usr/src/release/Makefile to automatically add these
> two files as a special case to the ssys distribution.  CCing re@ for
> any comments on that proposal.

Those are already in sbase.  I think the menu options that say "just install 
kernel sources" should enable sbase as well as ssys, and if someone then goes 
and turns it off they get what they asked for.  And in fact, sysinstall 
already does this:

int
distSetKernDeveloper(dialogMenuItem *self)
{
    int i;

    distReset(NULL);
    Dists = _DIST_DEVELOPER;
    SrcDists = DIST_SRC_SYS | DIST_SRC_BASE;
    KernelDists = selectKernel();
    i = distMaybeSetPorts(self);
    distVerifyFlags();
    return i;
}

So in this case you are dealing with someone who explicitly only asked 
for 'ssys'.  I think we delivered the foot to the bullet quite well. :)
Maybe add a comment though to the menu like:

Index: menus.c
===================================================================
RCS file: /usr/cvs/src/usr.sbin/sysinstall/menus.c,v
retrieving revision 1.421
diff -u -r1.421 menus.c
--- menus.c     10 Dec 2006 16:33:38 -0000      1.421
+++ menus.c     18 Jan 2007 19:25:46 -0000
@@ -1096,7 +1096,7 @@
        dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', 
DIST_SRC_SSECURE },
       { " share",      "/usr/src/share (documents and shared files)",
        dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', 
DIST_SRC_SHARE },
-      { " sys",                "/usr/src/sys (FreeBSD kernel)",
+      { " sys",                "/usr/src/sys (FreeBSD kernel; requires 'base' 
to build)",
        dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', 
DIST_SRC_SYS },
       { " tools",      "/usr/src/tools (miscellaneous tools)",
        dmenuFlagCheck, dmenuSetFlag, NULL, &SrcDists, '[', 'X', ']', 
DIST_SRC_TOOLS },

I've tested it and the menu still fits in 80x25 with this.  I wouldn't do 
anything more than this though.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200701181427.52998.jhb>