OSVERSION
Ian Lepore
ian at freebsd.org
Fri May 4 21:39:07 UTC 2018
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
More information about the freebsd-current
mailing list