From 9e0b4078816d410d3eb2ae4bad1f2bec332a8c95 Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Tue, 29 Jan 2019 21:45:25 +0100 Subject: [PATCH] Switched to stand-alone shell environment file Previously, we generated bin/genzone script by m4. As we will need more parametrized scripts in the future, we now generate just an auxiliary file bin/shell-env with shell environment variables. --- bin/genzone | 17 +++++++++++++++++ bin/nsconfig | 3 +-- m4/mkgenzone.m4 | 25 ------------------------- m4/mkmf.m4 | 2 +- m4/mkshell-env.m4 | 14 ++++++++++++++ 5 files changed, 33 insertions(+), 28 deletions(-) create mode 100755 bin/genzone delete mode 100644 m4/mkgenzone.m4 create mode 100644 m4/mkshell-env.m4 diff --git a/bin/genzone b/bin/genzone new file mode 100755 index 0000000..d2749de --- /dev/null +++ b/bin/genzone @@ -0,0 +1,17 @@ +#!/bin/sh +set -e +. bin/shell-env +Z=$1 +shift +mkdir -p $HASHDIR +CURRENT_HASH=$($M4 -DHASHING m4/nsc.m4 "$@" | md5sum | cut -d " " -f1) +PREV_HASH=$(if [ -s $HASHDIR/$Z ] ; then cat $HASHDIR/$Z ; fi) +if [ "X$CURRENT_HASH" = "X$PREV_HASH" ] ; then + echo "-- $Z: No changes" + touch $ZONEDIR/$Z $HASHDIR/$Z +else + $M4 -DVERS=$VERSDIR/$Z m4/nsc.m4 "$@" >$ZONEDIR/$Z.new + mv $ZONEDIR/$Z.new $ZONEDIR/$Z + echo "** $Z: New version $(sed -e "s/^;;; VERSION: //; t; d" $ZONEDIR/$Z)" + echo $CURRENT_HASH >$HASHDIR/$Z +fi diff --git a/bin/nsconfig b/bin/nsconfig index b891206..5110b1f 100755 --- a/bin/nsconfig +++ b/bin/nsconfig @@ -15,5 +15,4 @@ if [ ! -f $DOMAINS ] ; then mkdir -p zone bak hash ver $M4 m4/mkconf.m4 $DOMAINS >named.conf $M4 m4/mkmf.m4 $DOMAINS >Makefile -$M4 -DM4=$M4 m4/mkgenzone.m4 >bin/genzone -chmod +x bin/genzone +$M4 -DM4=$M4 m4/mkshell-env.m4 >bin/shell-env diff --git a/m4/mkgenzone.m4 b/m4/mkgenzone.m4 deleted file mode 100644 index 0d898f4..0000000 --- a/m4/mkgenzone.m4 +++ /dev/null @@ -1,25 +0,0 @@ -dnl ### -dnl ### NSC -- Zone Generating Script Builder -dnl ### (c) 2011 Martin Mares -dnl ### -include(m4/dnslib.m4) -changecom(REM) -divert(0)dnl -#!/bin/sh -# Please do not modify this script, it is automatically generated by m4/mkgenzone.m4 - -set -e -Z=`$'1 -shift -mkdir -p HASHDIR -CURRENT_HASH=$(M4 -DHASHING m4/nsc.m4 "$@" | md5sum | cut -d " " -f1) -PREV_HASH=$(if [ -s HASHDIR/$Z ] ; then cat HASHDIR/$Z ; fi) -if [ "X$CURRENT_HASH" = "X$PREV_HASH" ] ; then - echo "-- $Z: No changes" - touch ZONEDIR/$Z HASHDIR/$Z -else - M4 -DVERS=VERSDIR/$Z m4/nsc.m4 "$@" >ZONEDIR/$Z.new - mv ZONEDIR/$Z.new ZONEDIR/$Z - echo "** $Z: New version $(sed -e "s/^;;; VERSION: //; t; d" ZONEDIR/$Z)" - echo $CURRENT_HASH >HASHDIR/$Z -fi diff --git a/m4/mkmf.m4 b/m4/mkmf.m4 index d224efa..2bdde83 100644 --- a/m4/mkmf.m4 +++ b/m4/mkmf.m4 @@ -40,7 +40,7 @@ clean: find BAKDIR ZONEDIR HASHDIR -maxdepth 1 -type f | xargs rm -f clobber: clean - rm -f Makefile named.conf bin/genzone + rm -f Makefile named.conf bin/shell-env distclean: clobber find VERSDIR -maxdepth 1 -type f | xargs rm -f diff --git a/m4/mkshell-env.m4 b/m4/mkshell-env.m4 new file mode 100644 index 0000000..e34954c --- /dev/null +++ b/m4/mkshell-env.m4 @@ -0,0 +1,14 @@ +dnl ### +dnl ### NSC -- Shell Environment Builder +dnl ### (c) 2019 Martin Mares +dnl ### +include(m4/dnslib.m4) +divert(0)dnl +`NSC_ROOT'=ROOT +`CFDIR'=CFDIR +`ZONEDIR'=ZONEDIR +`BAKDIR'=BAKDIR +`VERSDIR'=VERSDIR +`HASHDIR'=HASHDIR +`ROOTCACHE'=ROOTCACHE +`M4'=M4 -- 2.39.2