Re: Git and buildworld running at the same time
- Reply: Brad Davis: "Re: Git and buildworld running at the same time"
- In reply to: Brad Davis: "Re: Git and buildworld running at the same time"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 13 Sep 2025 16:06:27 UTC
On Sat, Sep 13, 2025 at 9:54 AM Brad Davis <brd@freebsd.org> wrote:
> On Sat, Sep 13, 2025, at 9:40 AM, Warner Losh wrote:
>
>
>
> On Sat, Sep 13, 2025 at 9:28 AM Brad Davis <brd@freebsd.org> wrote:
>
> On Sat, Sep 13, 2025, at 8:57 AM, bob prohaska wrote:
> > Lately I've noticed that sometimes while running buildworld a top
> > window reports git running also. Up to now, I've surmised that
> > this is intentional, with git providing some housekeeping function.
> >
> > Yesterday a buildworld session was accompanied by a prolonged
> > interval of git running also, with a large memory footprint,
> > near 1GB. That seems rather excessive.
> >
> > At the same time, it dawned on me that my recent habit has been
> > to run git pull, immediately followed by buildworld. Might it be
> > prudent to wait (how long?) to let git finish any housekeeping
> > triggered by the pull command? It seems likely that any overlap
> > could readily lead to inconsistencies which might account for
> > some of the buildworld problems I've been encountering lately.
>
> This is part of the normal build process and how the output of uname -a
> includes bits like this: main-n280188-2024887abc7d-dirty or
> main-n280188-2024887abc7d
>
> To find out of the src tree is pristine or dirty the build process uses
> git to find out.
>
>
> Though that's only for the kernel, not for world builds. Right?
>
>
> It happens for world builds as well.. newvers.sh runs git (used to be
> svnlite) and is called in Makefile.inc1.
>
It doesn't need git for this:
# Set VERSION for CTFMERGE to use via the default CTFFLAGS=-L VERSION.
.for _V in BRANCH REVISION TYPE
.if !defined(_${_V})
${_V}!= eval $$(awk '/^${_V}=/{print}' ${SRCTOP}/sys/conf/newvers.sh);
echo $$${_V}
.export _${_V}
.endif
.endfor
In fact, it's not even running newvers.sh, just using awk to grep out these
variables. Though it should be using newvers.sh -V here (which specifically
doesn't run git).
So what else is running it behind the scenes?
Warner
>
>
> Regards,
> Brad Davis
>
>
>