Author: ian
Date: Wed Jul  4 14:12:09 2018
New Revision: 335952
URL: https://svnweb.freebsd.org/changeset/base/335952

Log:
  MFC r335575, r335786
  
  r335575:
  Use 'mv -f' in rc.d/ntpd to avoid spuriously halting the boot.
  
  The final 'mv' to install a fetched leap-list file can fail (due to a
  readonly fs, or schg flags, for example), and that leads to mv(1)
  prompting the user, stopping the boot process.  Instead, use mv -f
  to supress the prompting, and if verbose mode is on, emit a warning
  that the existing file cannot be replaced.
  
  PR:           219255
  
  r335786:
  Rename variable ntp_tmp_leapfile to have a leading underbar, to distinguish
  it from variables with similar names which are set in rc.conf.  This will
  make more sense as the script grows more similar-name local variables in
  some upcoming changes.

Modified:
  stable/10/etc/rc.d/ntpd
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/etc/rc.d/ntpd
==============================================================================
--- stable/10/etc/rc.d/ntpd     Wed Jul  4 14:11:49 2018        (r335951)
+++ stable/10/etc/rc.d/ntpd     Wed Jul  4 14:12:09 2018        (r335952)
@@ -18,7 +18,7 @@ extra_commands="fetch"
 fetch_cmd="ntpd_fetch_leapfile"
 start_precmd="ntpd_precmd"
 
-ntp_tmp_leapfile="/var/run/ntpd.leap-seconds.list"
+_ntp_tmp_leapfile="/var/run/ntpd.leap-seconds.list"
 
 load_rc_config $name
 
@@ -54,7 +54,7 @@ ntpd_precmd()
                ( cd /dev ; /bin/pax -rw -pe clockctl "${ntpd_chrootdir}/dev" )
        fi
        ln -fs "${ntpd_chrootdir}/var/db/ntp.drift" /var/db/ntp.drift
-       ln -fs "${ntpd_chrootdir}${ntp_tmp_leapfile}" ${ntp_tmp_leapfile}
+       ln -fs "${ntpd_chrootdir}${_ntp_tmp_leapfile}" ${_ntp_tmp_leapfile}
 
        #       Change run_rc_commands()'s internal copy of $ntpd_flags
        #
@@ -123,15 +123,16 @@ ntpd_fetch_leapfile() {
                $verbose Within ntp leapfile expiry limit, initiating fetch
                for url in $ntp_leapfile_sources ; do
                        $verbose fetching $url
-                       fetch $ntp_leapfile_fetch_opts -o $ntp_tmp_leapfile 
$url && break
+                       fetch $ntp_leapfile_fetch_opts -o $_ntp_tmp_leapfile 
$url && break
                done
-               ntp_ver_no_tmp=$(get_ntp_leapfile_ver $ntp_tmp_leapfile)
-               ntp_expiry_tmp=$(get_ntp_leapfile_expiry $ntp_tmp_leapfile)
+               ntp_ver_no_tmp=$(get_ntp_leapfile_ver $_ntp_tmp_leapfile)
+               ntp_expiry_tmp=$(get_ntp_leapfile_expiry $_ntp_tmp_leapfile)
                if [ "$ntp_expiry_tmp" -gt "$ntp_expiry_db" -o \
                     "$ntp_expiry_tmp" -eq "$ntp_expiry_db" -a \
                     "$ntp_ver_no_tmp" -gt "$ntp_ver_no_db" ]; then
                        $verbose using $url as $ntp_db_leapfile
-                       mv $ntp_tmp_leapfile $ntp_db_leapfile
+                       mv -f $_ntp_tmp_leapfile $ntp_db_leapfile ||
+                           $verbose "warning: cannot replace $ntp_db_leapfile 
(read-only fs?)"
                else
                        $verbose using existing $ntp_db_leapfile
                fi
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to