Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 99 additions & 35 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@ SMALL=
SANITIZE=no
STATUSARG=
OPENSSL=
NTPD=
CHRONYD=
TIMESYNCD=

DHCPCD_DEFS=dhcpcd-definitions.conf

Expand Down Expand Up @@ -77,6 +80,10 @@ for x do
--enable-seccomp) SECCOMP=yes;;
--disable-ntp) NTP=no;;
--enable-ntp) NTP=yes;;
--disable-ntpd) NTPD=no;;
--enable-ntpd) NTPD=yes; NTP=yes;;
--disable-timesyncd) TIMESYNCD=no;;
--enable-timesyncd) TIMESYNCD=yes; NTP=yes;;
--privsepuser) PRIVSEP_USER=$var;;
--prefix) PREFIX=$var;prefix=$var;; # prefix is set for autotools compat
--sysconfdir) SYSCONFDIR=$var;;
Expand Down Expand Up @@ -1696,43 +1703,83 @@ if [ -z "$STATUSARG" ]; then
fi
echo "STATUSARG= $STATUSARG" >>config.mk

if [ "$NTPD" = "yes" ] && [ "$TIMESYNCD" = "yes" ]; then
echo "Warning: --enable-ntpd and --enable-timesyncd are both set" >&2
exit 1
fi

HOOKS=
if ! $HOOKSET; then
printf "Checking for ntpd ... "
NTPD=$(_which ntpd)
if [ -n "$NTPD" ]; then
echo "$NTPD (50-ntp.conf)"
else
echo "not found"
fi
printf "Checking for chronyd ... "
CHRONYD=$(_which chronyd)
if [ -n "$CHRONYD" ]; then
echo "$CHRONYD (50-ntp.conf)"
else
echo "not found"
fi
if [ -n "$NTPD" ] || [ -n "$CHRONYD" ]; then
HOOKS="$HOOKS${HOOKS:+ }50-ntp.conf"
fi
# Warn if both are detected
if [ -n "$NTPD" ] && [ -n "$CHRONYD" ]; then
echo "NTP will default to $NTPD"
fi
if ! [ "$NTP" = "no" ]; then
# Explicit service selection should disable autodetect of the other service.
if [ "$TIMESYNCD" = "yes" ] && [ -z "$NTPD" ]; then
NTPD=no
fi
if [ "$NTPD" = "yes" ] && [ -z "$TIMESYNCD" ]; then
TIMESYNCD=no
fi

printf "Checking for timesyncd ... "
TIMESYNCD=
for x in /usr/lib/systemd/systemd-timesyncd; do
if [ -x "$x" ]; then
TIMESYNCD=$x
break
printf "Checking for ntpd ... "
if [ -z "$NTPD" ]; then
# if not explicitly set enable/disable, try to autodetect

NTPD_PATH=$(_which ntpd)
if [ -n "$NTPD_PATH" ]; then
NTPD=yes
NTP=yes
echo "$NTPD_PATH (Selecting 50-ntp.conf)"
else
echo "not found"
fi
printf "Checking for chronyd ... "
CHRONYD_PATH=$(_which chronyd)
if [ -n "$CHRONYD_PATH" ]; then
NTPD=yes
NTP=yes
echo "$CHRONYD_PATH (Selecting 50-ntp.conf)"
else
echo "not found"
fi

# Warn if both are detected
if [ -n "$NTPD_PATH" ] && [ -n "$CHRONYD_PATH" ]; then
echo "NTP will default to $NTPD_PATH"
fi
elif [ "$NTPD" = "no" ]; then
echo "skipped"
fi

printf "Checking for timesyncd ... "
if [ -z "$TIMESYNCD" ]; then
TIMESYNCD_PATH=
for x in /usr/lib/systemd/systemd-timesyncd; do
if [ -x "$x" ]; then
TIMESYNCD=yes
TIMESYNCD_PATH=$x
NTP=yes
break
fi
done
if [ "$TIMESYNCD" = "yes" ]; then
echo "$TIMESYNCD_PATH (Selecting 50-timesyncd.conf)"
else
echo "not found"
fi
elif [ "$TIMESYNCD" = "no" ]; then
echo "skipped"
fi

# Warn if both ntpd/chronyd and timesyncd are detected
if [ "$NTPD" = "yes" ] && [ -n "$TIMESYNCD_PATH" ]; then
echo "Both ntpd/chronyd and timesyncd detected; NTP will default to ntpd"
fi

# Choose hook based on enabled time service
if [ "$NTPD" = "yes" ]; then
HOOKS="$HOOKS${HOOKS:+ }50-ntp.conf"
elif [ "$TIMESYNCD" = "yes" ]; then
HOOKS="$HOOKS${HOOKS:+ }50-timesyncd.conf"
fi
done
if [ -n "$TIMESYNCD" ]; then
echo "$TIMESYNCD"
HOOKS="$HOOKS${HOOKS:+ }50-timesyncd.conf"
else
echo "not found"
fi

printf "Checking for ypbind ... "
Expand Down Expand Up @@ -1790,9 +1837,26 @@ if ! $HOOKSET; then
fi
fi
fi
if [ "$NTP" = yes ]; then
# --enable-ntp

if [ -z "$NTP" ]; then
if [ "$NTPD" = "yes" ] || [ "$TIMESYNCD" = "yes" ]; then
NTP=yes
fi
fi
if [ "$NTP" = "yes" ]; then
# --enable-ntp or ntp/timesyncd service was autodetected
printf "Enabling NTP support for ... "
if [ "$NTPD" = "yes" ]; then
echo "ntpd"
elif [ "$TIMESYNCD" = "yes" ]; then
echo "timesyncd"
else
echo "user defined time service via HOOKSCRIPTS"
fi
echo "UNCOMMENT_NTP= yes" >>$CONFIG_MK
else
# --disable-ntp
echo "NTP support is disabled"
fi

echo >>$CONFIG_H
Expand Down
Loading