#!/bin/sh EXTENSION=$(expr match $(basename $0) 'make_\(.*\)\.sh') VERSION=1.24-pre1 VERSION=1.23 VERSION=1.24 DOWNLOAD=http://download.tuxfamily.org/chrony/chrony-$VERSION.tar.gz #----------------------------------------------------------------------- # Download if necessary. [ -r /tmp/chrony-$VERSION.tar.gz ] || wget -O- $DOWNLOAD >/tmp/chrony-$VERSION.tar.gz # Unpack in /tmp/. cd /tmp tar xzf /tmp/chrony-$VERSION.tar.gz # Make the package. # Download support packages if running on TC/MC. [ $(which tce-load) ] && for EXT in readline-dev groff compiletc cpio squashfs-tools-4.0 do sudo -u tc tce-load -w -i $EXT done cd /tmp/chrony-$VERSION CFLAGS="-march=i486 -mtune=i686 -Os -pipe" ; export CFLAGS ./configure --prefix=/usr/local # --disable-readline # --disable-rtc mkdir -p /tmp/package touch /tmp/TIMESTAMP make install #----------------------------------------------------------------------- # Dispatch based to the extension name. case $EXTENSION in #----------------------------------------------------------------------- chrony) #--------------------------------------------------------------- #----------------------------------------------------------------------- # This is a list of the files in extension "chrony". cat >/tmp/chrony.files </tmp/exclude.files </tmp/package/usr/local/etc/chrony/chrony.conf.sample </tmp/package/usr/local/etc/chrony/chrony.keys.sample </tmp/package/usr/local/etc/init.d/chrony <<'EOF' #!/bin/sh # chrony start script [ $(id -u) = 0 ] || { echo "must be root" ; exit 1; } start(){ /usr/local/sbin/chronyd -f /usr/local/etc/chrony/chrony.conf } stop(){ kill $(pidof chronyd) } restart(){ pidof chronyd >/dev/null && stop start } case $1 in start) start ;; stop) stop ;; restart) restart ;; *) echo "Usage $0 {start|stop|restart}"; exit 1 esac EOF chmod +x /tmp/package/usr/local/etc/init.d/chrony # Create /usr/local/tce.installed/chrony mkdir -p /tmp/package/usr/local/tce.installed cat >/tmp/package/usr/local/tce.installed/chrony </dev/null 2>&1 ; do sleep 1 ; done ; sleep 2 /usr/local/sbin/chronyd -f /usr/local/etc/chrony/chrony.conf sleep 10 ; echo -e 'password mc\nburst 5/10\nquit\n' | chronyc )& EOF sudo chmod +x /tmp/package/usr/local/tce.installed/chrony # Create chrony.tcz.info. cat >/tmp/chrony.tcz.info </tmp/chrony.tcz.dep ;; #------------------------------------------------------------------ #----------------------------------------------------------------------- chrony-doc) #----------------------------------------------------------- #----------------------------------------------------------------------- # Copy the the directory /usr/local/share/doc/chrony to the package. mkdir -p /tmp/package/usr/local/share/doc/chrony cp -a /usr/local/share/doc/chrony/ /tmp/package/usr/local/share/doc # Convert man pages to text. man2txt () { groff -T ascii -man $1 | sed -e 's/'$(echo -ne '\033')'[^m]*m//g' } { cd /usr/local/share/man/man8 for f in chrony*.8 ; do man2txt $f >/tmp/package/usr/local/share/doc/chrony/$f.txt done cd /usr/local/share/man/man1 for f in chrony*.1 ; do man2txt $f >/tmp/package/usr/local/share/doc/chrony/$f.txt done } # Create chrony.tcz.info. cat >/tmp/chrony-doc.tcz.info <