Browse Source

ntpd: add hotplug script that signals when ntp reaches the stratum level like the sysntp implementation

use ntpq to check the status of the ntp server as all other status scripts included in the ntp tarball are
	based on perl which would dramatically increase the footprint of ntpd

Signed-off-by: Peter Wagner <tripolar@gmx.at>
lilik-openwrt-22.03
Peter Wagner 8 years ago
parent
commit
d5b4f5bd72
3 changed files with 26 additions and 5 deletions
  1. +4
    -2
      net/ntpd/Makefile
  2. +15
    -0
      net/ntpd/files/ntpd.hotplug-helper
  3. +7
    -3
      net/ntpd/files/ntpd.init

+ 4
- 2
net/ntpd/Makefile View File

@ -13,7 +13,7 @@ PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ PKG_SOURCE_URL:=http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/
PKG_MD5SUM:=857452b05f5f2e033786f77ade1974ed
PKG_HASH:=b724287778e1bac625b447327c9851eedef020517a3545625e9f652a90f30b72
PKG_LICENSE:=Unique PKG_LICENSE:=Unique
PKG_LICENSE_FILES:=COPYRIGHT html/copyright.html PKG_LICENSE_FILES:=COPYRIGHT html/copyright.html
@ -115,6 +115,9 @@ CONFIGURE_ARGS += \
define Package/ntpd/install define Package/ntpd/install
$(INSTALL_DIR) $(1)/sbin $(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ntpd/ntpd $(1)/sbin/ $(INSTALL_BIN) $(PKG_BUILD_DIR)/ntpd/ntpd $(1)/sbin/
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ntpq/ntpq $(1)/usr/sbin/
$(INSTALL_BIN) ./files/ntpd.hotplug-helper $(1)/usr/sbin/ntpd.hotplug-helper
$(INSTALL_DIR) $(1)/etc $(INSTALL_DIR) $(1)/etc
$(INSTALL_CONF) ./files/ntp.conf $(1)/etc/ $(INSTALL_CONF) ./files/ntp.conf $(1)/etc/
$(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_DIR) $(1)/etc/init.d
@ -145,7 +148,6 @@ endef
define Package/ntp-utils/install define Package/ntp-utils/install
$(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ntpdc/ntpdc $(1)/usr/sbin/ $(INSTALL_BIN) $(PKG_BUILD_DIR)/ntpdc/ntpdc $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ntpq/ntpq $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/util/ntptime $(1)/usr/sbin/ $(INSTALL_BIN) $(PKG_BUILD_DIR)/util/ntptime $(1)/usr/sbin/
endef endef


+ 15
- 0
net/ntpd/files/ntpd.hotplug-helper View File

@ -0,0 +1,15 @@
#!/bin/sh
HOTPLUG_SCRIPT=/usr/sbin/ntpd-hotplug
while true
do
STATUS="$(ntpq -c 'rv 0 stratum'|awk -F '=' '{ print $2 }')"
if [ -n "$STATUS" ] && [ "$STATUS" -lt "16" ]
then
ACTION="stratum" /sbin/hotplug-call ntp
exit 0
fi
sleep 10
done

+ 7
- 3
net/ntpd/files/ntpd.init View File

@ -5,14 +5,18 @@ START=65
STOP=65 STOP=65
USE_PROCD=1 USE_PROCD=1
PROG=/sbin/ntpd
HOTPLUG_HELPER=/usr/sbin/ntpd.hotplug-helper
start_service() { start_service() {
# ln -sf /dev/ttyS0 /dev/gps0
# /usr/sbin/setgarmin -d /dev/gps -c /etc/setgarmin.conf
mkdir -p /var/lib/ntp mkdir -p /var/lib/ntp
chown -R ntp:ntp /var/lib/ntp chown -R ntp:ntp /var/lib/ntp
procd_open_instance procd_open_instance
procd_set_param command /sbin/ntpd -g -u ntp:ntp -p /var/run/ntpd.pid -n
procd_set_param command $PROG -g -u ntp:ntp -p /var/run/ntpd.pid -n
procd_close_instance
procd_open_instance
procd_set_param command $HOTPLUG_HELPER
procd_close_instance procd_close_instance
} }

Loading…
Cancel
Save