| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #!/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"
|