|
|
@@ -0,0 +1,52 @@
|
|
|
+#!/bin/bash
|
|
|
+
|
|
|
+set -e
|
|
|
+
|
|
|
+# Set variables
|
|
|
+# in - input man page (something_foo.3.in)
|
|
|
+# out - output file (something_foo.3)
|
|
|
+# common - common ipc error file
|
|
|
+
|
|
|
+in="$1"
|
|
|
+out="$2"
|
|
|
+common="$3"
|
|
|
+
|
|
|
+# make sure to trap on error and ctrl+c
|
|
|
+# so we can cleanup our temporary files
|
|
|
+# and provide error back to Makefile
|
|
|
+cleanup() {
|
|
|
+ rm -f "$out"-t "$out"
|
|
|
+}
|
|
|
+
|
|
|
+trap "cleanup" ABRT
|
|
|
+trap "cleanup" QUIT
|
|
|
+trap "cleanup" TERM
|
|
|
+trap "cleanup" INT
|
|
|
+trap "cleanup" ERR
|
|
|
+
|
|
|
+# Determine build date in man page format YYYY-MM-DD
|
|
|
+date="$(LC_ALL=C date "+%F")"
|
|
|
+
|
|
|
+# do the hack.. it looks ugly but it works fine
|
|
|
+
|
|
|
+# remove temporary file
|
|
|
+rm -f "$out"-t
|
|
|
+
|
|
|
+# insert the $common ipc error file in the man page
|
|
|
+if grep -q @COMMONIPCERRORS@ "$in"; then
|
|
|
+ awk "{print}(\$1 ~ /@COMMONIPCERRORS@/){exit 0}" "$in" > "$out"-t
|
|
|
+ cat "$common" >> "$out"-t
|
|
|
+ awk -v p=0 "(\$1 ~ /@COMMONIPCERRORS@/){p = 1} {if(p==1)print}" "$in" >> "$out"-t
|
|
|
+else
|
|
|
+ cp "$in" "$out"-t
|
|
|
+fi
|
|
|
+
|
|
|
+# substitute BUILDDATE with precalculated date
|
|
|
+# and remove COMMONIPCERRORS tag from above
|
|
|
+sed -i \
|
|
|
+ -e 's#@BUILDDATE@#'$date'#g' \
|
|
|
+ -e 's#@COMMONIPCERRORS@##g' \
|
|
|
+ "$out"-t
|
|
|
+
|
|
|
+# move in place as requested
|
|
|
+mv "$out"-t "$out"
|