Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Aug 2017 19:11:29 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        Bryan Drewery <bdrewery@FreeBSD.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, FreeBSD-STABLE Mailing List <freebsd-stable@freebsd.org>
Subject:   UNAME_r () and OSVERSION (1101501) do not agree on major version number , which poudriere bulk rejects as a combination.
Message-ID:  <E0AF216D-25B6-47A7-A790-6EE41BE511A2@dsl-only.net>

next in thread | raw e-mail | index | archive | help
The summary:

My attempts to use poudriere-devel via a -m null
-M /usr/obj/DESTDIRs/FBSDx6411SL-installworld-dist-from-src
based jail and a -m null -M /usr/ports based ports=20
got:

make: "/usr/ports/Mk/bsd.port.mk" line 1177: UNAME_r () and OSVERSION =
(1101501) do not agree on major version number.

This suggests that in /usr/ports/Mk/bsd.ports.mk the
logic:

# Get the architecture
.if !defined(ARCH)
ARCH!=3D  ${UNAME} -p
.endif
_EXPORTED_VARS+=3D        ARCH

# Get the operating system type
.if !defined(OPSYS)
OPSYS!=3D ${UNAME} -s
.endif
_EXPORTED_VARS+=3D        OPSYS

.if !defined(_OSRELEASE)
_OSRELEASE!=3D    ${UNAME} -r
.endif
_EXPORTED_VARS+=3D        _OSRELEASE

# Get the operating system revision
OSREL?=3D ${_OSRELEASE:C/-.*//}
_EXPORTED_VARS+=3D        OSREL

is not getting the expected values for use in the
later logic, in this case _OSRELEASE:

.if ${_OSVERSION_MAJOR} !=3D ${_OSRELEASE:R}
.error UNAME_r (${_OSRELEASE}) and OSVERSION (${OSVERSION}) do not agree =
on major version number.
.elif ${_OSVERSION_MAJOR} !=3D ${OSREL:R}
.error OSREL (${OSREL}) and OSVERSION (${OSVERSION}) do not agree on =
major version number.
.endif


(The message's reference to UNAME_r also looks odd since it
is not used in the .if expression or anywhere nearby but there
is such a name in the login.conf default .)

A testing hack of:

# svnlite diff /usr/ports/Mk/bsd.port.mk                                 =
                                                                         =
                                         =20
Index: /usr/ports/Mk/bsd.port.mk
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- /usr/ports/Mk/bsd.port.mk	(revision 447897)
+++ /usr/ports/Mk/bsd.port.mk	(working copy)
@@ -1119,18 +1119,18 @@
=20
 # Get the architecture
 .if !defined(ARCH)
-ARCH!=3D	${UNAME} -p
+ARCH!=3D	echo amd64
 .endif
 _EXPORTED_VARS+=3D	ARCH
=20
 # Get the operating system type
 .if !defined(OPSYS)
-OPSYS!=3D	${UNAME} -s
+OPSYS!=3D	echo FreeBSD
 .endif
 _EXPORTED_VARS+=3D	OPSYS
=20
 .if !defined(_OSRELEASE)
-_OSRELEASE!=3D	${UNAME} -r
+_OSRELEASE!=3D	echo 11.1-STABLE
 .endif
 _EXPORTED_VARS+=3D	_OSRELEASE


got past the specific issue.

But it later got:

/usr/local/share/poudriere/bulk.sh: cannot open =
/usr/local/etc/poudriere.d/jails/zrFBSDx64SLjail/version: No such file =
or directory

via:

[00:00:00] Creating the reference jail... done
[00:00:04] Mounting system devices for zrFBSDx64SLjail-default
[00:00:04] Mounting ports/packages/distfiles
[00:00:04] Using packages from previously failed build
[00:00:04] Mounting packages from: =
/usr/local/poudriere/data/packages/zrFBSDx64SLjail-default
/etc/resolv.conf -> =
/usr/local/poudriere/data/.m/zrFBSDx64SLjail-default/ref/etc/resolv.conf
[00:00:04] Starting jail zrFBSDx64SLjail-default
[00:00:05] Logs: =
/usr/local/poudriere/data/logs/bulk/zrFBSDx64SLjail-default/2017-08-13_18h=
39m47s
[00:00:06] Loading MOVED
[00:00:06] Ports supports: DEPENDS_ARGS SELECTED_OPTIONS
[00:00:06] Gathering ports metadata
[00:06:18] Calculating ports order and dependencies
[00:09:13] pkg package missing, skipping sanity
[00:09:13] Skipping incremental rebuild and repository sanity checks
[00:09:13] Cleaning the build queue
[00:09:13] Sanity checking build queue
[00:09:16] Processing PRIORITY_BOOST
[00:09:24] Balancing pool
/usr/local/share/poudriere/bulk.sh: cannot open =
/usr/local/etc/poudriere.d/jails/zrFBSDx64SLjail/version: No such file =
or directory

# ls -lT /usr/local/etc/poudriere.d/jails/zrFBSDx64SLjail/
total 3
-rw-r--r--  1 root  wheel   6 Aug 13 17:30:39 2017 arch
-rw-r--r--  1 root  wheel   5 Aug 13 17:30:39 2017 method
-rw-r--r--  1 root  wheel  57 Aug 13 17:30:39 2017 mnt
-rw-r--r--  1 root  wheel   9 Aug 13 17:30:39 2017 srcpath
-rw-r--r--  1 root  wheel  11 Aug 13 17:30:39 2017 timestamp


(I've not tracked this part down at all yet.)



More details on the sequence I went through:

I installed FreeBSD-11.1-STABLE-amd64-20170807-r322164-disc1.iso
into a new VirtualBox virtual machine and then checked
out:

# svnlite info /usr/src/ | grep "Re[plv]"
Relative URL: ^/stable/11
Repository Root: svn://svn.freebsd.org/base
Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revision: 322433
Last Changed Rev: 322433

and did buildworld buildkernel installkernel installworld .

I also then installed this ( installworld distrib-dirs
distribution ) to:

# ls -dlT /usr/obj/DESTDIRs/*
drwxr-xr-x  18 root  wheel  22 Aug 13 17:28:54 2017 =
/usr/obj/DESTDIRs/FBSDx6411SL-installworld-dist-from-src

The result for uname is:

# uname -apKU
FreeBSD FBSDx6411SL 11.1-STABLE FreeBSD 11.1-STABLE  r322433  amd64 =
amd64 1101501 1101501

# uname -r
11.1-STABLE

I used pkg to install poudriere-devel :

# pkg info poudriere-devel
poudriere-devel-3.1.99.20170803
Name           : poudriere-devel
Version        : 3.1.99.20170803
Installed on   : Sun Aug 13 16:08:56 2017 PDT
Origin         : ports-mgmt/poudriere-devel
Architecture   : FreeBSD:11:amd64
Prefix         : /usr/local
Categories     : ports-mgmt
Licenses       : BSD2CLAUSE
Maintainer     : bdrewery@FreeBSD.org
WWW            : https://github.com/freebsd/poudriere/wiki
Comment        : Port build and test system
Options        :
	EXAMPLES       : on
	QEMU           : off
	ZSH            : on
Annotations    :
	repo_type      : binary
	repository     : FreeBSD
Flat size      : 2.09MiB
Description    :
poudriere is a tool primarily designed to test package production on
FreeBSD. However, most people will find it useful to bulk build ports
for FreeBSD.

WWW: https://github.com/freebsd/poudriere/wiki


I tried to configure and use a -m null
-M /usr/obj/DESTDIRs/FBSDx6411SL-installworld-dist-from-src
based jail and a -m null -M /usr/ports based ports . . .

This leads to my attempted poudriere bulk after configuring
doing the following:

[00:00:00] Creating the reference jail... done
[00:00:04] Mounting system devices for zrFBSDx64SLjail-default
[00:00:04] Mounting ports/packages/distfiles
[00:00:04] Converting package repository to new format
[00:00:04] Stashing existing package repository
[00:00:04] Mounting packages from: =
/usr/local/poudriere/data/packages/zrFBSDx64SLjail-default
/etc/resolv.conf -> =
/usr/local/poudriere/data/.m/zrFBSDx64SLjail-default/ref/etc/resolv.conf
[00:00:04] Starting jail zrFBSDx64SLjail-default
make: "/usr/ports/Mk/bsd.port.mk" line 1177: UNAME_r () and OSVERSION =
(1101501) do not agree on major version number.
[00:00:05] Logs: =
/usr/local/poudriere/data/logs/bulk/zrFBSDx64SLjail-default/2017-08-13_17h=
45m28s
[00:00:05] Loading MOVED
make: "/usr/ports/Mk/bsd.port.mk" line 1177: UNAME_r () and OSVERSION =
(1101501) do not agree on major version number.
[00:00:06] Error: Error looking up pre-build ports vars
[00:00:06] Cleaning up
[00:00:09] Unmounting file systems


And at this point we are to what I put in the summary.


=3D=3D=3D
Mark Millard
markmi at dsl-only.net




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E0AF216D-25B6-47A7-A790-6EE41BE511A2>