Re: OSVERSION

From: Ian Lepore <ian_at_freebsd.org>
Date: Fri, 04 May 2018 15:39:00 -0600
On Fri, 2018-05-04 at 15:28 -0600, Alan Somers wrote:
> On Fri, May 4, 2018 at 2:46 PM, Jeffrey Bouquet 
> wrote:
> 
> > 
> > 12.0-CURRENT r332797 GENERIC amd64
> > ..................
> > make: "/usr/ports/Mk/bsd.port.mk" line 1171: Unable to
> > determine OS version. Either define OSVERSION, or
> > install /usr/include/sys/param.h...
> > ..............................
> > then , with param.h in place
> > 
> > ..............................
> > port builds, pkgdb -u, and  portsdb -u all fail with:
> > ..............................
> > line 1200: UNAME_r (12.0-CURRENT) and OSVERSION (12.0-CURRENT) do not agree
> > on major version number.
> > ..........................
> > Can I set that in sh or tcsh or zsh?
> > .........................
> > 
> Looks like you're running ports in a jail.  The best way to do that is to
> set OSVERSION in /etc/make.conf.  Some jail managers will even do that for
> you.  It should look a little like this:
> 
>  > cat /etc/make.conf
> OSVERSION+=1100122
> UNAME_ENV+=     OSVERSION=${OSVERSION}
> UNAME_ENV+=     UNAME_s=FreeBSD
> UNAME_ENV+=     UNAME_r=11.0-RELEASE
> UNAME_ENV+=     UNAME_v="${UNAME_s} ${UNAME_r}"
> .MAKEFLAGS:     ${UNAME_ENV}
> MAKE_ENV+=      ${UNAME_ENV}
> CONFIGURE_ENV+= ${UNAME_ENV}
> SCRIPTS_ENV+=   ${UNAME_ENV}

If you're running a freebsd 11 jail on a freebsd 12 host, the best
solution is to set osrelease and osreldate in your jail config to
reflect the 11.x userland you want the jail to implement. Then all the
values returned by uname and various sysctls will be consistently
correct within the jail. For example, on a 10.3 host I have a jail:

fb8 {
    host.hostname = "${name}.hippie.lan";
    ip4.addr = 172.22.42.241;
    persist = true;
    devfs_ruleset = 100;
    osrelease="8.4-STABLE";
    osreldate= 804507;
}

-- Ian
Received on Fri May 04 2018 - 19:39:07 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:15 UTC