Mark Millard
2017-Aug-14 02:11 UTC
UNAME_r () and OSVERSION (1101501) do not agree on major version number , which poudriere bulk rejects as a combination.
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 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!= ${UNAME} -p .endif _EXPORTED_VARS+= ARCH # Get the operating system type .if !defined(OPSYS) OPSYS!= ${UNAME} -s .endif _EXPORTED_VARS+= OPSYS .if !defined(_OSRELEASE) _OSRELEASE!= ${UNAME} -r .endif _EXPORTED_VARS+= _OSRELEASE # Get the operating system revision OSREL?= ${_OSRELEASE:C/-.*//} _EXPORTED_VARS+= OSREL is not getting the expected values for use in the later logic, in this case _OSRELEASE: .if ${_OSVERSION_MAJOR} != ${_OSRELEASE:R} .error UNAME_r (${_OSRELEASE}) and OSVERSION (${OSVERSION}) do not agree on major version number. .elif ${_OSVERSION_MAJOR} != ${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 Index: /usr/ports/Mk/bsd.port.mk ==================================================================--- /usr/ports/Mk/bsd.port.mk (revision 447897) +++ /usr/ports/Mk/bsd.port.mk (working copy) @@ -1119,18 +1119,18 @@ # Get the architecture .if !defined(ARCH) -ARCH!= ${UNAME} -p +ARCH!= echo amd64 .endif _EXPORTED_VARS+= ARCH # Get the operating system type .if !defined(OPSYS) -OPSYS!= ${UNAME} -s +OPSYS!= echo FreeBSD .endif _EXPORTED_VARS+= OPSYS .if !defined(_OSRELEASE) -_OSRELEASE!= ${UNAME} -r +_OSRELEASE!= echo 11.1-STABLE .endif _EXPORTED_VARS+= _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_18h39m47s [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 at 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_17h45m28s [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. ==Mark Millard markmi at dsl-only.net