All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Chrony time synchronization (chronyc and chronyd)
@ 2009-11-04 18:37 Jonathan Cameron
  2010-03-27 12:00 ` Stefan Schmidt
  0 siblings, 1 reply; 2+ messages in thread
From: Jonathan Cameron @ 2009-11-04 18:37 UTC (permalink / raw)
  To: openembedded-devel


Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
---
Unfortunately this package uses a hand rolled set of build scripts.
The maintainers are happy to add fixes to any problems but are not
keen on moving over to autotools. I don't get the impression many
people cross compile this one! That is a shame because it is very
useful with wireless sensor nodes.

There are a few nasty tests in the configure script that may well
cause problems in cross compiles when the host is not also linux based.

I will work on getting these fixed at source, but it may take a while
hence submission of this recipe in the meantime.

The reason this is the git version is recent patches to ensure
that the LDPATH variable was not ignored in linking.

This recipe includes some convenient scripts and blank config
files needed to get it up and running easily.

 recipes/chrony/chrony.conf     |    7 +++++++
 recipes/chrony/chrony.keys     |    1 +
 recipes/chrony/chrony_git.bb   |   35 +++++++++++++++++++++++++++++++++++
 recipes/chrony/chrony_start.sh |   20 ++++++++++++++++++++
 recipes/chrony/chrony_stop.sh  |   20 ++++++++++++++++++++
 recipes/chrony/init            |    4 ++++
 6 files changed, 87 insertions(+), 0 deletions(-)

diff --git a/recipes/chrony/chrony.conf b/recipes/chrony/chrony.conf
new file mode 100644
index 0000000..995d5a2
--- /dev/null
+++ b/recipes/chrony/chrony.conf
@@ -0,0 +1,7 @@
+server timeserver offline minpoll 2 maxpoll 2
+keyfile /etc/chrony.keys
+commandkey 1
+initstepslew 0 timeserver
+driftfile /etc/chrony.drift
+dumpdir /var/log/chrony
+dumponexit
\ No newline at end of file
diff --git a/recipes/chrony/chrony.keys b/recipes/chrony/chrony.keys
new file mode 100644
index 0000000..00718ad
--- /dev/null
+++ b/recipes/chrony/chrony.keys
@@ -0,0 +1 @@
+1 opensesame
\ No newline at end of file
diff --git a/recipes/chrony/chrony_git.bb b/recipes/chrony/chrony_git.bb
new file mode 100644
index 0000000..bbba50c
--- /dev/null
+++ b/recipes/chrony/chrony_git.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "Chrony time synchronization"
+LICENSE = "GPL"
+CHRONY_REV="fe2cfe1faee10b3d972f79fe30b5c8ac09469409"
+DEPENDS += "readline"
+REDEPENDS += "readline"
+
+PV = "1.23+gitr${CHRONY_REV}"
+
+SRC_URI = "git://git.tuxfamily.org/gitroot/chrony/chrony.git;protocol=git;rev=${CHRONY_REV} \
+	file://chrony_start.sh \
+	file://chrony_stop.sh \
+	file://init \
+	file://chrony.conf \
+	file://chrony.keys \
+"
+S = "${WORKDIR}/git"
+
+do_configure() {
+	${S}/configure
+}
+
+do_compile() {
+	unset CPPFLAGS
+	oe_runmake
+}
+
+do_install_append() {
+    install -d ${D}${sysconfdir}/init.d
+    install -m 0644 ${WORKDIR}/chrony.conf ${D}${sysconfdir}/
+    install -m 0644 ${WORKDIR}/chrony.keys ${D}${sysconfdir}/
+    install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/chronyd
+    install -d ${D}${bindir}
+    install -m 0755 ${WORKDIR}/chrony_start.sh ${D}${bindir}
+    install -m 0755 ${WORKDIR}/chrony_stop.sh ${D}${bindir}
+}
\ No newline at end of file
diff --git a/recipes/chrony/chrony_start.sh b/recipes/chrony/chrony_start.sh
new file mode 100644
index 0000000..e50a3a4
--- /dev/null
+++ b/recipes/chrony/chrony_start.sh
@@ -0,0 +1,20 @@
+#! /bin/bash
+
+PROC=`ps | grep chronyd | grep -v grep`;
+
+if [ -n "$PROC" ]; then
+
+   RESULT=`chronyc << ___EOF
+   password opensesame
+   online
+___EOF`
+
+   RESULT2=`echo $RESULT | grep OK`
+   if [ -n "$RESULT2" ]; then
+      echo 1
+   else
+      echo 0;
+   fi
+else
+    echo -1;
+fi
\ No newline at end of file
diff --git a/recipes/chrony/chrony_stop.sh b/recipes/chrony/chrony_stop.sh
new file mode 100644
index 0000000..65b8f1f
--- /dev/null
+++ b/recipes/chrony/chrony_stop.sh
@@ -0,0 +1,20 @@
+#! /bin/bash
+
+PROC=`ps | grep chronyd | grep -v grep`;
+
+if [ -n "$PROC" ]; then
+
+   RESULT=`chronyc << ___EOF
+   password opensesame
+   offline
+___EOF`
+
+   RESULT2=`echo $RESULT | grep OK`
+   if [ -n "$RESULT2" ]; then
+      echo 1
+   else
+      echo 0;
+   fi
+else
+    echo -1;
+fi
\ No newline at end of file
diff --git a/recipes/chrony/init b/recipes/chrony/init
new file mode 100644
index 0000000..b1c62a8
--- /dev/null
+++ b/recipes/chrony/init
@@ -0,0 +1,4 @@
+if [ -f /usr/bin/chronyd -a -f /etc/chrony.conf ]; then
+  /usr/bin/chronyd
+  echo "Started chronyd"
+fi
\ No newline at end of file
-- 
1.6.4.4




^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-03-27 12:03 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-04 18:37 [PATCH] Chrony time synchronization (chronyc and chronyd) Jonathan Cameron
2010-03-27 12:00 ` Stefan Schmidt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.