Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Dec 2012 18:14:35 +0200
From:      Kimmo Paasiala <kpaasial@gmail.com>
To:        freebsd-current@freebsd.org, freebsd-stable@freebsd.org
Subject:   /usr/src/sys/conf/newvers.sh, SYSDIR set to wrong directory.
Message-ID:  <CA%2B7WWSew50m%2Bq20EJXZuhJZDnM%2B--tudetESRE2y9RN5-8fwHw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hello,

My 9-STABLE buildworld broke in a very inexplicable way,  I was
getting an error on /usr/src/include/osreldate.h that I couldn't
figure out until I started looking at the sys/conf/newvers.sh and what
it does. It turned out that the thing that broke my buildworld was
having .git directory at the root directory of the system because I
recently started using GIT to track the configuration files.

I added some debug echos to the newvers.sh and I found out it's
setting SYSDIR to /bin/.. which in turn causes the newvers.sh to set
the gitdir to /.git and that seems to break the logic in newvers.sh.

Isn't SYSDIR supposed to be set to the sys -subdirectory of the source
tree (/usr/src/sys default)?

I'm guessing the reason the SYSDIR gets set to /bin/.. is the line in
newvers.sh:

SYSDIR=$(dirname $0)/..

$0 is actually /bin/sh and not the path to newver.sh because the
newvers.sh is sourced by the Makefile in /usr/src/include instead of
executing it:

osreldate.h: ${.CURDIR}/../sys/conf/newvers.sh ${.CURDIR}/../sys/sys/param.h \
    ${.CURDIR}/Makefile
        @${ECHO} creating osreldate.h from newvers.sh
        @MAKE=${MAKE}; \
        PARAMFILE=${.CURDIR}/../sys/sys/param.h; \
        . ${.CURDIR}/../sys/conf/newvers.sh; \

Now the question is how to fix this?

-Kimmo



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2B7WWSew50m%2Bq20EJXZuhJZDnM%2B--tudetESRE2y9RN5-8fwHw>