Skip to content

Commit

Permalink
hwclock: always use --noadjfile if available
Browse files Browse the repository at this point in the history
When we use the --utc or --localtime switch, also use --noadjfile if it
is available. This means hwclock will not use a drift file.

X-Gentoo-Bug: 584722
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=584722
  • Loading branch information
williamh committed Jul 6, 2016
1 parent 5537994 commit ac8ad16
Showing 1 changed file with 15 additions and 12 deletions.
27 changes: 15 additions & 12 deletions init.d/hwclock.in
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,16 @@ _hwclock()
return 1
}

get_noadjfile()
{
if ! yesno $clock_adjfile; then
# Some implementations don't handle adjustments
if LC_ALL=C hwclock --help 2>&1 | grep -q "\-\-noadjfile"; then
echo --noadjfile
fi
fi
}

start()
{
local retval=0 errstr=""
Expand All @@ -91,16 +101,16 @@ start()
fi

# Always set the kernel's time zone.
_hwclock --systz $utc_cmd $clock_args
_hwclock --systz $utc_cmd $(get_noadjfile) $clock_args
: $(( retval += $? ))

if [ -e /etc/adjtime ] && yesno $clock_adjfile; then
_hwclock --adjust $utc_cmd
_hwclock --adjust $utc_cmd $(get_noadjfile)
: $(( retval += $? ))
fi

if yesno ${clock_hctosys:-YES}; then
_hwclock --hctosys $utc_cmd $clock_args
_hwclock --hctosys $utc_cmd $(get_noadjfile) $clock_args
: $(( retval += $? ))
fi

Expand All @@ -122,14 +132,7 @@ stop()

ebegin "Setting hardware clock using the system clock" "[$utc]"

if ! yesno $clock_adjfile; then
# Some implementations don't handle adjustments
if LC_ALL=C hwclock --help 2>&1 | grep -q "\-\-noadjfile"; then
utc_cmd="$utc_cmd --noadjfile"
fi
fi

_hwclock --systohc $utc_cmd $clock_args
_hwclock --systohc $utc_cmd $(get_noadjfile) $clock_args
retval=$?

eend $retval "Failed to sync clocks"
Expand All @@ -144,5 +147,5 @@ save()
show()
{
setupopts
hwclock --show "$utc_cmd" $clock_args
hwclock --show "$utc_cmd" $(get_noadjfile) $clock_args
}

0 comments on commit ac8ad16

Please sign in to comment.