[4/4] nqptp: New package

Message ID 20220809103557.1612824-4-michael.tremer@ipfire.org
State Accepted
Commit c4fc6eb017d77b52846c3f6e84fc0f321b3e25e2
Headers
Series [1/4] libplist: New package |

Commit Message

Michael Tremer Aug. 9, 2022, 10:35 a.m. UTC
  This is a PTP clock synchronisation daemon.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
---
 config/rootfiles/packages/nqptp |  2 +
 lfs/nqptp                       | 94 +++++++++++++++++++++++++++++++++
 lfs/shairport-sync              |  2 +-
 make.sh                         |  1 +
 src/initscripts/packages/nqptp  | 51 ++++++++++++++++++
 5 files changed, 149 insertions(+), 1 deletion(-)
 create mode 100644 config/rootfiles/packages/nqptp
 create mode 100644 lfs/nqptp
 create mode 100755 src/initscripts/packages/nqptp
  

Patch

diff --git a/config/rootfiles/packages/nqptp b/config/rootfiles/packages/nqptp
new file mode 100644
index 000000000..6145d7f8d
--- /dev/null
+++ b/config/rootfiles/packages/nqptp
@@ -0,0 +1,2 @@ 
+etc/rc.d/init.d/nqptp
+usr/bin/nqptp
diff --git a/lfs/nqptp b/lfs/nqptp
new file mode 100644
index 000000000..3f523d00d
--- /dev/null
+++ b/lfs/nqptp
@@ -0,0 +1,94 @@ 
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+SUMMARY    = nqptp is a daemon that monitors timing data from any PTP clocks
+
+VER        = d900567
+
+THISAPP    = nqptp-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = nqptp
+PAK_VER    = 1
+
+SERVICES   = nqptp
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = 83db62518577bda0198e989a1274c46b0f0c658cf281fd282b4b1e51544339c00a3e6da43a472e8de50bcd3926c113ca7cd29e8e562de8b1260763d64baa069b
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+	@$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+	@$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+	@$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+	@$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+	@$(PREBUILD)
+	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+	cd $(DIR_APP) && autoreconf -vfi
+	cd $(DIR_APP) && ./configure \
+		--prefix=/usr \
+		--sysconfdir=/etc \
+		--without-systemd-startup
+	cd $(DIR_APP) && make $(MAKETUNING)
+	cd $(DIR_APP) && make install
+
+	# Initscript
+	$(call INSTALL_INITSCRIPTS,$(SERVICES))
+
+	@rm -rf $(DIR_APP)
+	@$(POSTBUILD)
diff --git a/lfs/shairport-sync b/lfs/shairport-sync
index 5321c0ecd..95499f7ee 100644
--- a/lfs/shairport-sync
+++ b/lfs/shairport-sync
@@ -36,7 +36,7 @@  TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = shairport-sync
 PAK_VER    = 7
 
-DEPS       = alac alsa avahi ffmpeg libdaemon libplist soxr
+DEPS       = alac alsa avahi ffmpeg libdaemon libplist nqptp soxr
 
 SERVICES   = shairport-sync
 
diff --git a/make.sh b/make.sh
index f577578a1..e5cb873b0 100755
--- a/make.sh
+++ b/make.sh
@@ -1706,6 +1706,7 @@  buildipfire() {
   lfsmake2 nss-myhostname
   lfsmake2 dehydrated
   lfsmake2 libplist
+  lfsmake2 nqptp
   lfsmake2 shairport-sync
   lfsmake2 borgbackup
   lfsmake2 lmdb
diff --git a/src/initscripts/packages/nqptp b/src/initscripts/packages/nqptp
new file mode 100755
index 000000000..a1bf1a73a
--- /dev/null
+++ b/src/initscripts/packages/nqptp
@@ -0,0 +1,51 @@ 
+#!/bin/sh
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2022  IPFire Team  <info@ipfire.org>                     #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+. /etc/sysconfig/rc
+. ${rc_functions}
+
+case "${1}" in
+	start)
+		boot_mesg "Starting Not Quite PTP..."
+		/usr/bin/nqptp &
+		evaluate_retval
+		;;
+
+	stop)
+		boot_mesg "Stopping Not Quite PTP..."
+		killproc /usr/bin/nqptp
+		;;
+
+	restart)
+		${0} stop
+		sleep 1
+		${0} start
+		;;
+
+	status)
+		statusproc /usr/bin/nqptp
+		;;
+
+	*)
+		echo "Usage: ${0} {start|stop|restart|status}"
+		exit 1
+		;;
+esac