svn commit: r335244 - head

Cy Schubert Cy.Schubert at cschubert.com
Sat Jun 16 04:36:44 UTC 2018


In message <201806160035.w5G0ZJfd066325 at repo.freebsd.org>, Bryan 
Drewery writes
:
> Author: bdrewery
> Date: Sat Jun 16 00:35:19 2018
> New Revision: 335244
> URL: https://svnweb.freebsd.org/changeset/base/335244
>
> Log:
>   Assert that a build is done before an install.
>   
>   This should also catch cases where the wrong MAKEOBJDIRPREFIX is used for
>   install.
>   
>   MFC after:	2 weeks
>   Sponsored by:	Dell EMC
>
> Modified:
>   head/Makefile.inc1
>
> Modified: head/Makefile.inc1
> =============================================================================
> =
> --- head/Makefile.inc1	Fri Jun 15 23:42:22 2018	(r335243)
> +++ head/Makefile.inc1	Sat Jun 16 00:35:19 2018	(r335244)
> @@ -89,7 +89,10 @@ MK_GCC_BOOTSTRAP=	no
>  .if make(installworld) || make(install) || make(distributeworld) || \
>      make(stageworld)
>  .-include "${OBJTOP}/compiler-metadata.mk"
> +.if !defined(_LOADED_COMPILER_METADATA)
> +.error A build is required first.  You may have the wrong MAKEOBJDIRPREFIX s
> et.
>  .endif
> +.endif
>  
>  # Pull in COMPILER_TYPE and COMPILER_FREEBSD_VERSION early. Pull it from the
>  # tree to be friendlier to foreign OS builds. It's safe to do so uncondition
> ally
> @@ -195,6 +198,7 @@ compiler-metadata.mk: .PHONY .META
>  	@: > ${.TARGET}
>  	@echo ".info Using cached compiler metadata from build at $$(hostname) 
> on $$(date)" \
>  	    > ${.TARGET}
> +	@echo "_LOADED_COMPILER_METADATA=t" >> ${.TARGET}
>  .for v in ${_COMPILER_METADATA_VARS}
>  	@echo "${v}=${${v}}" >> ${.TARGET}
>  .endfor
>

Hi Bryan,

This broke poudriere. I don't update my poudriere jails in the 
traditional sense. I buildworld on one of my poudriere build machine, 
installworld & kernel, then update jail using poudriere jail -j 
HEADamd64 -u. To create my jails I do the following:

poudriere jail -c -m src=/opt/src/svn-current -j HEADi386 -a i386
poudriere jail -c -m src=/opt/src/svn-current -j HEADamd64


The error that poudriere jail -j HEADamd64 -u produces is:

[00:00:00] Upgrading using src=/opt/src/svn-current
[00:00:00] Copying /opt/src/svn-current to /poudriere/amd64/jails/HEADam
d64/usr/src... done
[00:00:50] Starting make installworld
--- installworld ---
make[1]: "/export/obj/opt/src/svn-current/amd64.amd64/compiler-metadata.
mk" line 1: Using cached compiler metadata from build at cwsys on Fri 
Jun 15 16:34:46 PDT 2018
make[1]: "/opt/src/svn-current/Makefile.inc1" line 93: A build is 
required first.  You may have the wrong MAKEOBJDIRPREFIX set.
*** [installworld] Error code 1

make: stopped in /opt/src/svn-current
1 error

make: stopped in /opt/src/svn-current
[00:00:50] Error: Failed to 'make installworld'

To build the object I do a standard buildworld and buildkernel first 
(and install on the host system first).


-- 
Cheers,
Cy Schubert <Cy.Schubert at cschubert.com>
FreeBSD UNIX:  <cy at FreeBSD.org>   Web:  http://www.FreeBSD.org

	The need of the many outweighs the greed of the few.




More information about the svn-src-all mailing list