aboutsummaryrefslogtreecommitdiff
path: root/Makefile.inc1
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2023-01-10 15:14:27 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2023-01-31 09:44:19 +0000
commit93cc70bf9ca755bdfc43cf34cd762549fd9cba51 (patch)
treef4932a179e68b97990ab600895d182aac844ca32 /Makefile.inc1
parentd3ed105942bbd8457e0c307ddc9d8ac95b365c2b (diff)
downloadsrc-93cc70bf9ca755bdfc43cf34cd762549fd9cba51.tar.gz
src-93cc70bf9ca755bdfc43cf34cd762549fd9cba51.zip
Bring our tzcode up to date.
* Replay 2010[acflm] which had been merged but not recorded. * Merge 2010n. * Reorganize (unsplit) the code to match the upstream layout. * Merge 2022[cdefg]. MFC after: 1 week Sponsored by: Klara, Inc. (cherry picked from commit bc42155199b5b0b479311e05b07aee7f6f9c5172) tzcode: Address some compiler warnings. MFC after: 1 week Sponsored by: Klara, Inc. (cherry picked from commit d5c85ac6526dcd0ac25ebdb71969c8c788d5e13b) tzcode: Move configuration into separate header. MFC after: 1 week Sponsored by: Klara, Inc. (cherry picked from commit 394cf6719a3c665eabe24d96669409e0c5a78076) tzcode: Remove access() again, cf. 02ba1d993fa9. Reported by: Coverity (CID 1250126) MFC after: 1 week Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D38035 (cherry picked from commit 3e2e5eebfaa0aebb2790bbde7f35d4c6c52e2596) tzcode: Avoid memory leak if pthread_setspecific() fails. Reported by: Coverity (CID 1018472, 1018474) MFC after: 1 week Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D38036 (cherry picked from commit 96e68c393f65046c0cf69d29f89efcfee949e5de) tzcode: Fully initialize structs before use. Reported by: Coverity (CID 1502542, 1502548) MFC after: 1 week Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D38037 (cherry picked from commit 55572cff58c4208a9e532356a245676b8eed6a3e) tzcode: Silence warnings. * Ignore failure to remove our temp file. * Avoid a minor memory leak in the -D case. Reported by: Coverity (CID 1502534, 1502535, 1502538) MFC after: 1 week Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D38038 (cherry picked from commit 2aad7570f4e11ac94bb06c44cdc83ad1962fb97e) depend-cleanup.sh: handle zic moving one level up. MFC after: 1 week Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D38044 (cherry picked from commit 4a158fc030b5a31efdbad8b30c9a859df553ae3c) libc: Update mktime(3) / timegm(3) tests. Sponsored by: Klara, Inc. Reviewed by: ngie Differential Revision: https://reviews.freebsd.org/D38177 (cherry picked from commit d8c9f80891872a54d0b21933136644d915096fe3) zoneinfo: On amd64, include 32-bit data. While there, drop the unnecessary posixrules option. Sponsored by: Klara, Inc. Reviewed by: imp, allanjude Differential Revision: https://reviews.freebsd.org/D38142 (cherry picked from commit 783c318fd1181d46554c31a5039db10e7f5eef49) tzcode: Document zic's -D option. Sponsored by: Klara, Inc. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D38141 (cherry picked from commit a7b1b73935f21a3dcd6fc8d86a37b92f0c9ba93f) zoneinfo: Always produce fat zoneinfo files. These aren't just needed for compatibility with i386 binaries (which need the 32-bit section), but potentially also for compatibility with older binaries on all platforms. Sponsored by: Klara, Inc. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D38194 (cherry picked from commit f1021d27f73efb821213a973e1ab9366278c78f1) Fix cross-build from STABLE or older CURRENT. Previously, zic and tzsetup were both listed as install tools and basic bootstrap tools. Actually, tzsetup is an install tool while zic is a non-basic bootstrap tool. Fixes: 783c318fd118 Sponsored by: Klara, Inc. Reviewed by: jrtc27, emaste Differential Revision: https://reviews.freebsd.org/D38195 (cherry picked from commit 7a4a520064cb7fbff79560113682d6fe1a1ae9ee) Makefile.inc1: Restore adding tzsetup to _basic_bootstrap_tools ITOOLS is only the list of programs to make a copy of during install, it doesn't cause anything to be bootstrapped. Thus, by removing tzsetup from _basic_bootstrap_tools, we end up without it on non-FreeBSD, and so we error out trying to copy it to INSTALLTMP. Note that _basic_bootstrap_tools is only used for BOOTSTRAP_ALL_TOOLS (which is why zic was moved away from it). Should tzsetup evolve such that the host version is insufficient on older FreeBSD it can be moved to be more like zic, but that seems unnecessary for what is likely to remain a simple tool. This partially reverts commit 7a4a520064cb7fbff79560113682d6fe1a1ae9ee. Fixes: 7a4a520064cb ("Fix cross-build from STABLE or older CURRENT.") (cherry picked from commit d4fdfd3f9077216e52f38f7364974959c9e43168)
Diffstat (limited to 'Makefile.inc1')
-rw-r--r--Makefile.inc122
1 files changed, 15 insertions, 7 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1
index 6975ce7d843f..a3858b25d154 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -1324,10 +1324,6 @@ __installcheck_sh_check: .PHONY
#
# Required install tools to be saved in a scratch dir for safety.
#
-.if ${MK_ZONEINFO} != "no"
-_zoneinfo= zic tzsetup
-.endif
-
.if !defined(CROSSBUILD_HOST)
_sysctl=sysctl
.endif
@@ -1335,14 +1331,19 @@ _sysctl=sysctl
ITOOLS= [ awk cap_mkdb cat chflags chmod chown cmp cp \
date echo egrep find grep id install ${_install-info} \
ln make mkdir mtree mv pwd_mkdb \
- rm sed services_mkdb sh sort strip ${_sysctl} test true uname wc \
- ${_zoneinfo} ${LOCAL_ITOOLS}
+ rm sed services_mkdb sh sort strip ${_sysctl} test true uname wc
+
+.if ${MK_ZONEINFO} != "no"
+ITOOLS+=tzsetup
+.endif
# Needed for share/man
.if ${MK_MAN_UTILS} != "no"
ITOOLS+=makewhatis
.endif
+ITOOLS+=${LOCAL_ITOOLS}
+
#
# distributeworld
#
@@ -2222,6 +2223,11 @@ _strfile= usr.bin/fortune/strfile
# C source for loader built in font (8x16.c).
_vtfontcvt= usr.bin/vtfontcvt
+# zic is used to compile timezone data
+.if ${MK_ZONEINFO} != "no"
+_zic= usr.sbin/zic
+.endif
+
# If we are not building the bootstrap because BOOTSTRAPPING is sufficient
# we symlink the host version to $WORLDTMP instead. By doing this we can also
# detect when a bootstrap tool is being used without the required MK_FOO.
@@ -2437,8 +2443,9 @@ _basic_bootstrap_tools+=usr.bin/jot
_basic_bootstrap_tools+=sbin/md5
.endif
+# tzsetup is needed as an install tool
.if ${MK_ZONEINFO} != "no"
-_basic_bootstrap_tools+=usr.sbin/zic usr.sbin/tzsetup
+_basic_bootstrap_tools+=usr.sbin/tzsetup
.endif
.if defined(BOOTSTRAP_ALL_TOOLS)
@@ -2525,6 +2532,7 @@ bootstrap-tools: ${_bt}-links .PHONY
${_localedef} \
${_mkcsmapper} \
${_mkesdb} \
+ ${_zic} \
${LOCAL_BSTOOL_DIRS}
${_bt}-${_tool}: ${_bt}-links .PHONY .MAKE
${_+_}@${ECHODIR} "===> ${_tool} (obj,all,install)"; \