Date: Sat, 25 Jul 2026 13:08:03 +0000 From: Lexi Winter <ivy@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: f8b81bfc76d8 - stable/15 - Makefile.inc1: Only copy locales to INSTALLTMP on FreeBSD Message-ID: <6a64b533.2504b.47803c4d@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch stable/15 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=f8b81bfc76d8e3c8ceb11e7285d0c04cb62a802e commit f8b81bfc76d8e3c8ceb11e7285d0c04cb62a802e Author: Lexi Winter <ivy@FreeBSD.org> AuthorDate: 2026-04-28 19:42:39 +0000 Commit: Lexi Winter <ivy@FreeBSD.org> CommitDate: 2026-07-25 13:01:23 +0000 Makefile.inc1: Only copy locales to INSTALLTMP on FreeBSD Makefile.inc1 copies locales to ${INSTALLTMP} to avoid issues when running make installworld on a live system. However, this can break on non-FreeBSD systems, e.g. on openSUSE where /usr/share/locales has mode 0555, which means after we copy it, we can't delete it, so the build fails. Since this functionality is only useful when installing over a live system, disable it when the build host is not FreeBSD. MFC after: 2 weeks Reviewed by: kevans, emaste Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56677 (cherry picked from commit 4429630d1ca9d90c886bae1eaa0d8ee32d0fee12) --- Makefile.inc1 | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index b2f491ff254b..fb2a5e2ce527 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -961,8 +961,10 @@ IMAKE= ${TIME_ENV} ${IMAKEENV} ${MAKE} -f Makefile.inc1 \ ${IMAKE_INSTALL} ${IMAKE_MTREE} .if empty(.MAKEFLAGS:M-n) IMAKEENV+= PATH=${STRICTTMPPATH:Q}:${INSTALLTMP:Q} \ - LD_LIBRARY_PATH=${INSTALLTMP:Q} \ - PATH_LOCALE=${INSTALLTMP}/locale + LD_LIBRARY_PATH=${INSTALLTMP:Q} +.if ${.MAKE.OS} == "FreeBSD" +IMAKEENV+= PATH_LOCALE=${INSTALLTMP}/locale +.endif IMAKE+= __MAKE_SHELL=${INSTALLTMP}/sh .else IMAKEENV+= PATH=${TMPPATH:Q}:${INSTALLTMP:Q} @@ -1471,7 +1473,12 @@ distributeworld installworld stageworld: _installcheck_world .PHONY done); \ fi; \ ${INSTALLTMP_COPY_HOST_TOOL} $$libs $$progs ${INSTALLTMP} + # On non-FreeBSD systems, there's no point copying locales here + # since we aren't going to overwrite them anyway. This avoids + # failing if /usr/share/locale has odd modes (e.g., openSUSE). +.if ${.MAKE.OS} == "FreeBSD" cp -R $${PATH_LOCALE:-"/usr/share/locale"} ${INSTALLTMP}/locale +.endif .if defined(NO_ROOT) -mkdir -p ${METALOG:H} echo "#${MTREE_MAGIC}" > ${METALOG}home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a64b533.2504b.47803c4d>
